Installation
The SmartCapture SDK is distributed via a private maven repository. In order to use this module you will first need to obtain a set of AWS credentials from your GBG technical account manager.
Adding the Repository
Within your project's settings.gradle, under dependencyResolutionManagement -> repositories you should add the following maven repository:
maven {
url "s3://maven-mobile-repo/releases"
credentials(AwsCredentials) {
accessKey awsAccessKey
secretKey awsSecretKey
}
}
Note: While you can hardcode the access and secret keys here, the best practice is to keep these keys in a gradle properties file that is part of a gitignore or in a global gradle properties file that is not part of any repository. See GRADLE_USER_HOME here for more info.
Adding the Module(s)
Within your app or library's build.gradle, under dependencies add the dependencies associated with the SDK modules you wish to use. We recommend defining a gradle variable (in the example we provide below we named it $smartcapture_version) and using that to track the version number, instead of hardcoding the version number in each dependency. We do not recommend using different versions for different SmartCapture modules.
All SmartCapture Modules
implementation 'com.gbg.smartcapture:commons:$smartcapture_version'
implementation 'com.gbg.smartcapture:documentcamera:$smartcapture_version'
implementation 'com.gbg.smartcapture:facecamera:$smartcapture_version'
implementation 'com.gbg.smartcapture:ozone:$smartcapture_version'
implementation 'com.gbg.smartcapture:ozoneui:$smartcapture_version'
Document Camera Only
implementation 'com.gbg.smartcapture:commons:$smartcapture_version'
implementation 'com.gbg.smartcapture:documentcamera:$smartcapture_version'
Face Camera Only
implementation 'com.gbg.smartcapture:commons:$smartcapture_version'
implementation 'com.gbg.smartcapture:facecamera:$smartcapture_version'
Ozone Only
implementation 'com.gbg.smartcapture:commons:$smartcapture_version'
implementation 'com.gbg.smartcapture:ozone:$smartcapture_version'
implementation 'com.gbg.smartcapture:ozoneui:$smartcapture_version'
MJCS Clients
MJCS is an orchestration SDK designed to work with the IEOS environment and uses the SmartCapture SDKs internally. MJCS users should follow the install instructions for the environment they use (None vs Ozone vs ReadID).
// Clients using no NFC
implementation 'com.gbg.smartcapture:mjcs:$smartcapture_version'
or
// Clients using Ozone
implementation 'com.gbg.smartcapture:ozone:$smartcapture_version'
implementation 'com.gbg.smartcapture:ozoneui:$smartcapture_version'
implementation 'com.gbg.smartcapture:mjcs:$smartcapture_version'
or
// Clients using ReadID
implementation 'com.readid:readid-ui-nfc:$readid_version'
implementation 'nl.innovalor.nfcjmrtd:iddoc-connector:$readid_version'
implementation 'com.gbg.smartcapture:mjcs:$smartcapture_version'
Updating
To update, simply change $smartcapture_version to the version number you wish to use.
Note: New versions may introduce breaking changes or feature updates. Review the migration and integration details for the version to which you are updating to. Code changes may be required.
Troubleshooting
The above is all that is needed to install the SDK in most cases. The following discusses some less likely situations:
Transitive Dependencies
By default all dependencies are transitive, which is to say, they will include all of their sub-dependencies automatically. If you have disabled transitive dependencies, you will need to manually add all of the sub-dependencies with their correct versions. To determine the correct versions of sub-dependencies for a given SDK version you will need to use AWS CLI or any visual AWS access tool to download the .pom file for the module and add all the dependencies from it by hand.
After an update you will need to re-review and update all dependencies.
GBG will not offer support for issues that arise from using an incorrect sub-dependency version and we recommend keeping transitive dependencies set to true.
Manual Install
GBG will not offer support for manual install. Distribution via maven is a long standing industry standard and we have not found any benefit to supporting manual install.