# Android SDK Описание установки и настройки
Последний релиз: версия 1.31.2
# Требования
- AndroidX
- API уровня 23 (Android 5.0) или новее
- Kotlin 1.9.25 или новее
# Установка
- Добавьте репозиторий.
repositories {
maven { url "https://maven.cyberity.ru/repository/maven-public/" }
}
repositories {
maven {
url = uri("https://maven.cyberity.ru/repository/maven-public/")
}
}
dependencies {
implementation "ru.cyberity.cbr:cyberity-mobile-sdk:1.31.2"
}
dependencies {
implementation("ru.cyberity.cbr:cyberity-mobile-sdk:1.31.2")
}
# Инициализация
Внимание
Перед инициализацией SDK убедитесь, что у вас есть уровень проверки (levelName) и accessToken.
Инициализация SDK:
- Объявите параметры инициализации.
accessToken необходимо получить от вашего бэкенда. Этот токен указывает на уровень (levelName) и на пользователя (userId), которого необходимо проверить.
MobileSDK будет работать в Основном (Production) или Тестовом (Sandbox) окружении в зависимости от того, в какой среде был сгенерирован accessToken.
- Используйте обработчик
tokenExpirationHandlerдля обновления токена доступа.accessTokenимеет ограниченный срок действия, и когда он истекает, нужно предоставить новый.
val tokenExpirationHandler = object : TokenExpirationHandler {
override fun onTokenExpired(): String? {
val newToken = "..."
return newToken
}
}
TokenExpirationHandler tokenUpdater = () -> {
String newAccessToken = "...";
return newAccessToken;
};
Рекомендуем ознакомиться с другими доступными обработчиками и коллбэками.
- Создайте экземпляр
CBRMobileSDK.
val cbrSdk = CBRMobileSDK.Builder(this)
.withAccessToken(accessToken, onTokenExpiration = tokenExpirationHandler)
cbrSdk.launch()
CBRMobileSDK.SDK cbrSdk = new CBRMobileSDK.Builder(requireActivity())
.withAccessToken(accessToken, tokenUpdater)
cbrSdk.launch()
# Дополнительные настройки
# Автоматическое закрытие
По умолчанию, как только пользователь будет одобрен, SDK автоматически закроется через 3 секунды. Вы можете настроить этот интервал времени или отключить автоматическое закрытие, установив значение 0.
cbrSdk.withAutoCloseOnApprove(0)
Если необходимо закрыть SDK программно:
cbrSdk.dismiss()
# Данные пользователя
При необходимости вы можете передавать эл. почту и/или номер телефона, которые будут изначально присвоены пользователю.
val cbrSdk = CBRMobileSDK.Builder(this)
...
.withConf(CBRInitConfig(email = "...", phone = "..."))
.build()
cbrSdk.launch()
CBRMobileSDK.SDK cbrSdk = new CBRMobileSDK.Builder(requireActivity())
...
.withConf(new CBRInitConfig("...", "...", null))
.build();
cbrSdk.launch()
# Предпочтительные документы
Для шагов IDENTITY* (проверка документа) можно указать страну и тип документа, которые будут выбраны автоматически, минуя экран выбора типа документа.
Обратите внимание, что переданные параметры будут применяться только в том случае, если соответствующая комбинация страны и типа документа (idDocType) разрешена на этом шаге согласно настройкам уровня.
val cbrSdk = CBRMobileSDK.Builder(this)
...
.withPreferredDocumentDefinitions(mapOf(
"IDENTITY" to CBRDocumentDefinition(idDocType = "DRIVERS", country = "RUS")
))
.build()
CBRMobileSDK.SDK cbrSdk = new CBRMobileSDK.Builder(requireActivity())
...
.withPreferredDocumentDefinitions(Map.of(
"IDENTITY", new CBRDocumentDefinition("DRIVERS", "RUS")
))
.build();
# Выбор файлов в галерее
Можно указать тип файла, запрашиваемого из галереи, если добавить тип запрашиваемого файла через строковый ресурс в XML.
<string name="cbr_gallery_type">*/*</string>
Пользователи могут просматривать PDF-файлы на устройствах Android с версии 5.0 Lollipop и выше.
# Подсветка во время съемки
В условиях низкой освещенности SDK может работать используя экранный свет. Приложение должно иметь дополнительные разрешения для изменения яркости экрана. Для этого нужно попросить пользователя добавить приложение в доверенные в настройках их устройства.
val intent = Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
# Обфускация
MobileSDK от IDnGO содержит необходимые правила Proguard, вам не нужно добавлять их вручную.
Режим R8 нужно отключить, для этого в файле gradle.properties добавьте следующую строку:
android.enableR8.fullMode=false
# Снижение размера SDK
Вы можете уменьшить размер вашего приложения, удалив бинарные файлы библиотеки TensorFlow, что сэкономит около 7 МБ в зависимости от поддерживаемых архитектур.
Обратите внимание, что удаление этих библиотек может повлиять на некоторые функции SDK:
- В некоторых случаях снижается точность распознавания;
- Детектор качества фотографий на стороне клиента будет отключен;
- Автоматический захват документов будет отключен.
Чтобы удалить библиотеки TensorFlow из итогового APK (или AAB), добавьте следующий код в файл build.gradle вашего приложения:
android {
// исключает тяжелые TF \*.so файлы из APK.
packagingOptions {
exclude 'lib/**/libtensorflowlite_jni.so'
}
}