Файл Android SDK
Версия | Описание изменений | Файл | Дата |
---|---|---|---|
3.0.0 | Добавлена возможность загрузки настроек SDK без кнопки Сбер ID | android-sdk-v3.0.0.zip | 28.08.2023 |
Переход на актуальную версию 3.0.0
Добавлена возможность загрузки настроек SDK без кнопки Сбер ID
Начиная с версии 3.0.0 добавлен новый способ инициализации SDK SberIDInitializer.initialize
. Используя этот метод, можно больше не передавать через верстку или конструктор clientId
(смотри пункт "Добавление кнопки").
Данный метод в будущем станет обязательным, сейчас можно начинать переходить на него.
/**
* Метод инициализирует SDK.
* @param application необходим для создания зависимостей
* @param clientId нужен для проверки доступности SDK и загрузки настроек
*/
fun initialize(application: Application, clientId: String)
Его необходимо вызвать при создании вашего Application и передать два параметра application и client_id.
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
SberIDInitializer.initialize(this, this.getString(R.string.client_id_1))
}
}
О версии 2.4.3
Исправили проверку браузеров на возможность открытие CustomTabs
О версии 2.4.2
Передача номера на OIDC страницу
Добавлена возмость отправки номера телефона на OIDC страницу через новый параметр login_hint
Пример
//Создание Uri с параметрами для аутентификации, все значения нужно поменять на свои, тут указаны примеры
val uri = SberIDLoginManager
.sberIDBuilder()
.clientID("512e1152-e14c-5223-a125-d519eb68bb86")
.scope("openid name email mobile birthdate gender")
.state("ffad1d59c1e34844a1415226103d44f3")
.nonce("b1947d4f10a24eb0a21155239be9b066")
.redirectUri("app://merchant_app/")
.loginHint("79998887766") // Необязательный параметр для передачи номера телефона пользователя, добавлен в версии 2.4.2
.codeChallenge(codeChallenge) //Необязательный параметр...
О версии 2.4.1
Создание кнопки Сбер ID через конструктор
Начиная с версии 2.4.1 появилась возможность создавать кнопку через конструктор, без xml. Данный способ актуален для партнеров, которые используют мультиплатформенные фреймворки, например Flutter.
val sberIDButton = SberIDButton(
context = this,
sberIDButtonModel = SberIDButtonModel(
clientId = "4361-69c-43e-87e1-3fd6351", //id приложения партнера
width = 120, // размер кнопки в dp
height = 40, // размер кнопки в dp
type = ButtonType.DEFAULT_TYPE, // тип кнопки, Enum класс ButtonType
text = ButtonText.LOGIN_SHORT, // текст кнопки, Enum класс ButtonType
cornerRadius = 4, // скругление кнопки в dp
strokeColor = Color.rgb(76, 76, 76), //цвет граней для белой кнопки
buttonLoader = false // нужно ли отображать загрузку со старта
)
)
// Описание Enum класса для типа кнопки
ButtonType {
DEFAULT_TYPE, // Зеленная кнопка,
WHITE_TYPE // Белая кнопка
}
// Описание Enum класса для текста кнопки
ButtonText {
LOGIN_SHORT, // Сбер ID,
CONTINUE, // Продолжить cо Сбер ID
FILL // Заполнить cо Сбер ID
}
//Далее добавляем ее в ирархию виджетов
container.addView(sberIDButton)
Необходимо направить запрос на SberId@sber.ru на добавление deeplink в список доверенных. В запросе указывается client_id и список deeplink, по которым будет производиться возврат в мобильное приложение партнера. Сотрудник банка добавит домен в список разрешенных.
Смена стенда внутри SDK
Начиная с версии 2.4.1 для внутренних партнеров мы добавили возможность смены стендов внутри 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