Подключение Android SDK
Минимальная поддерживая версия Android: 21
Android SDK помогает реализовать получение кода авторизации (Auth Code) Сбер ID минимальными усилиями со стороны разработчика и в соответствии с утвержденными гайдами по отображению кнопки.
Подключение
Используя maven:
dependencies {
...
implementation 'io.github.sberid:SberIdSDK:2.4.1' // Версия может отличаться. Информацию об актуальной версии вы найдете в разделе «Файл Android SDK»
// зависимости для аналитики (см. Отправка аналитических событий)
// и androidx.browser:browser:1.3.0 больше не нужно подключать
...
}
Подключая aar файлом:
Добавьте файл .aar в папку libs вашего проекта:
Перейдите в build.gradle вашего модуля:
И добавьте зависимость в раздел dependencies:
dependencies {
...
implementation(name:'SberIdSDK', ext:'aar')
...
}
SDK реализована на языке Kotlin (версия 1.4.0), поэтому если в вашем проекте используется только Java и никакие дополнительные зависимости на Kotlin ранее не подключались, нужно добавить поддержку Kotlin (версия указана для примера, актуальна на момент написания документации):
dependencies {
...
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.10")
...
}
Android Studio покажет предупреждение о том, что версия Kotlin Plugin (null) не соответствует версии подключенной библиотеки, но в данном случае подключение к проекту Kotlin Plugin не является обязательным. Все вызовы статических методов SDK в вашем Java-коде по примерам ниже необходимо выполнять через стандартный вспомогательный объект Companion, например:
SberIDLoginManager.Companion.SberIDBuilder sberIDBuilder = SberIDLoginManager.Companion.sberIDBuilder()
Перейдите в build.gradle вашего проекта:
Добавьте зависимость:
allprojects {
repositories {
flatDir {
dirs 'libs'
}
}
}
Перейдите в settings.gradle вашего проекта:
И подключите библиотеку к вашему проекту:
include ':SberIdSDK'
Поддержка Android 11+
Начиная с версии 1.3.1 SDK поддерживает определение видимости МП СБОЛ по требованиям, введенным в Андроид 11. Для возможности корректной сборки проекта необходимо, чтобы версия Android Gradle Plugin в вашем приложении была соответствующей. Подробнее про функционал видимости внешних пакетов можно ознакомиться в документации Google:
- https://developer.android.com/about/versions/11/privacy/package-visibility
- https://developer.android.com/studio/releases/gradle-plugin?hl=ru
Если версия Android Gradle Plugin будет ниже требуемой, при сборке проекте будет возникать ошибка Android resource linking failed. Для поддержки работоспособности достаточно минорного обновления версии Android Gradle Plugin в зависимости от той, которая у вас используется сейчас, подробнее про версии плагина можно прочитать здесь:
Минимально допустимая версия Android Gradle Plugin, поддерживающая требования в Андроид 11 - 3.3.3. Минимально допустимая версия Gradle, поддерживающая эту версию плагина - 4.10.1.
Настройка подключения к стенду
Начиная с версии 2.4.0 для внутренних партнеров мы добавили возможность смены стендов внутри SDK, для тестирования на ИФТ и ПСИ стенде. Предворительно у вас должно быть настроена полная интеграция с тестовыми стендами, а так же вы как партнер должны быть добавлены на ваш стенд. Для этого можно написать в ваш чат поддержки Сбер ID (Ваш_продукт & Сбер ID) или на почту SberId@sber.ru
Для настройки стенда нужно передать в конструктор SberIDLoginManager тип стенда, для это нужно использовать Enum класс StandName:
SberIDLoginManager(StandName.ESA_IFT) // по умолчанию StandName.PROM
Обратите внимание, стенды cloud и ЕСА отличаются.
/**
* Нестабильный стенд Сloud Сбер ID, на котором ведется разработка
*/
CLOUD_IFT,
/**
* Стабильный стенд Сloud Сбер ID, на котором ведется стабилизация
*/
CLOUD_PSI,
/**
* Нестабильный стенд ЕСА, на котором ведется разработка
*/
ESA_IFT,
/**
* Стабильный стенд ЕСА, на котором ведется стабилизация
*/
ESA_PSI,
/**
* Стенд по умолчанию, не имеет разбивки так как работает через конфиг файл.
* Сейчас оставляем самый популярный бэк
*/
PROM