ScanFlow is the fastest way to add scanning to an app. Custom integration is the native alternative when you need to own the camera screen, the review flow, or the processing pipeline yourself.
In practice, a custom integration is a small document-scanning product inside your app. You decide how capture starts, what the user sees after capture, which processing steps run, and what output is generated.
Choose custom integration when your app needs a scanning experience that cannot be expressed with ScanFlow configuration alone. Common cases include a fully custom camera interface, business logic between capture and processing, selective use of SDK components, or a review flow that has to match an existing native product experience.
Important: Custom integration takes more development time than ScanFlow. Before starting, check whether document scanning configuration can cover the workflow you need.
If you are considering custom integration because ScanFlow is missing a specific option, please contact us and share the use case. We use this feedback to decide which ScanFlow options to add next.
Before starting custom integration, install the SDK and configure the license key. The native setup is the same as for ScanFlow:
The Android examples use AndroidX fragments and AppCompatActivity. If you start from a blank Android app that does not already include AppCompat, add androidx.appcompat:appcompat or adapt the examples to the Activity base class used by your app.
Build the flow in layers. Start with the UI components so your app can capture an image and let the user review the detected frame. Once capture is in place, add the processing APIs that turn the raw photo into a clean document image. OCR and PDF generation come last because they depend on the processed image.
Embed the camera preview and edit-frame screen in your own native UI.
Classify imported or captured images before deciding which processing steps to run.
Detect the document outline, correct perspective, enhance the image, and check readability.
Extract text and text layout when your app needs search, indexing, or selectable PDF text.
Generate the final PDF output from processed image files.
The snippets in these guides are intentionally small. For a complete app structure, compare your implementation with the native custom demos:
Custom integration is currently available only for the native iOS and Android SDKs. If you use a cross-platform technology and need these APIs, you will need to create your own plugin or binding around the native SDK components.
Before building that bridge, consider sending us feedback about what is missing from the simple integration plugins.
Each cross-platform framework has its own approach to creating native plugins:
Create a native module that bridges the iOS and Android SDKs—start from the React Native native modules documentation.
Use platform channels to communicate with the native SDK as described in the Flutter platform channels documentation.
Build a plugin with iOS and Android implementations following the Cordova plugin development guide.
Create partial classes that invoke the native APIs via platform-specific projects. Microsoft’s .NET MAUI platform integration overview explains the required pattern.
Start with a free trial license to test the SDK, or contact us directly for a custom quote tailored to your needs.
© 2026 The Grizzly Labs. All rights reserved.