ym88659208ym87991671
Файл Android SDK | Документация для разработчиков

Файл Android SDK

Обновлено 30 мая 2024
ВерсияОписание измененийФайлДата
4.0.0
  • Обновление пути к сущности StandName Новый метод для инициализации client id
  • Новый метод для инициализации client id
  • Исправление ошибки
android-sdk-v4.0.0.zip08.05.2024

Переход на актуальную версию 4.0.0

Важные изменения релиза версии 4.0.0:

1. Обновление пути к сущности StandName:

Было: import sberid.sdk.auth.model.StandName

Стало: import sberid.sdk.global.models.StandName

2. Новый метод для инициализации client id:

Теперь у нас есть отдельный метод, который позволяет инициализировать client id после запуска SDK: setClientID(clientID: String)

    SID.Initializer.setClientID(clientId = "clientId вашего сервиса")

3. Исправление ошибки:

Теперь исправлена проблема, из-за которой запускался старый домен страницы входа.

О версии 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

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.