In this guide, you will learn how to get started with the Genius Scan SDK for Android.
The Genius Scan SDK for Android is composed of multiple Android libraries, which enables you to integrate just what you need.
We provide two demo projects in the SDK Demo apps repository:
gssdk-scanflow
. The different screens are customizable via a ScanConfiguration
.gssdk-core
module. It also shows how to run OCR before generating a PDF file.In order to run the provided demos, open the root folder in Android Studio.
The Android SDK includes support for the following CPU architectures: x86, x86_64, armeabi-v7a, arm64-v8a. When integrated into your app, the SDK will increase the size of your APK by the sizes in the following table:
Module | x86 | x86_64 | armeabi-v7a | arm64-v8a | universal |
---|---|---|---|---|---|
gssdk-core | 11.7MB | 12.4MB | 10.2MB | 10.5MB | 25.4MB |
gssdk-ocr | 1.4MB | 1.4MB | 1.2MB | 1.3MB | 5.3MB |
gssdk-scanflow | - | - | - | - | <1MB |
If you’d like to optimize the size of your app, you can either:
Native debug symbols are included as part of the SDK. These symbols are generally stripped in the release builds of your app. This isn’t the case for debug builds, for which you may see a larger size increase than the one mentioned above.
Add the following code to your app’s build.gradle
:
repositories {
// ...
maven { url 'https://s3.amazonaws.com/tgl.maven' }
}
dependencies {
// ...
implementation 'com.geniusscansdk:gssdk-core:4.13.0'
// Optionally:
implementation 'com.geniusscansdk:gssdk-ocr:4.13.0'
implementation 'com.geniusscansdk:gssdk-scanflow:4.13.0'
}
The Genius Scan SDK is subject to a commercial license: a license key is needed to initialize the SDK. The key must match your application identifier (aka. bundle ID) and the license’s expiration date. Please contact us if you don’t have a license key yet.
The SDK can run without a license key but will stop working after 60 seconds.
You initialize the SDK with your license key as follows. The best place to initialize the SDK is in the main Activity of your application:
try {
GeniusScanSDK.init(context, "Your key")
} catch (e: LicenseException) {
// The license is expired or invalid
}
try {
GeniusScanSDK.init(context, "Your key");
} catch (LicenseException exception) {
// The license is expired or invalid
}
This method throws an LicenseException
when the license cannot be validated or has expired. It is advised to catch it and show a message to your users asking them to update the app.
Once you have done this, you’re ready to start your actual implementation. The next steps will depend whether you chose the simple integration, using the ScanFlow module, or if you are going for a custom integration.
© 2023 The Grizzly Labs. All rights reserved.