Файл Android SDK
Переход на актуальную версию 1.1.1
Версия | Файл | Дата |
---|---|---|
1.1.1 | android-sdk-v1.1.1.zip | 17.10.2024 |
Версия 1.1.1:
- Исправление анимации прокрутки в шторке бесшовного перехода
Версия 1.1.0:
Добавлена дополнительная проверка WebView при запуске
- Для ситуаций, когда на устройстве нет WebView, такое может быть на специфичных устройствах
Убрали лишние логи CustomTabs
- Раннее на устройствах, которые не поддерживают CustomTabs в стактрейс отправлялись ненужные логи
Версия 1.0.6:
- Исправление загрузки конфига управления SDK
Версия 1.0.5:
Исправление UI элементов управления экраном входа
Исправление loginWithNativeWebView
- Исправлена ошибка, когда внутри метода loginWithNativeWebView могла формироваться неправильная итоговая ссылка
Версия 1.0.4:
Заменили упоминания sberid на sid
- В новой SDK мы поменяли основной пакет с sberid на sid, из-за чего необходимо поправить все импорты.
Поднятие версии Koin до 3.5.3
- Обратите внимание, что более низкая фичевая версия Koin может ломать сборку. Убедитесь, что ваш проект использует версию схожую с 3.5.3. Мы уже думаем как в будущем уйти от этой проблемы.
Добавлены новые виджеты личного кабинета
- В данном релизе добавлены новые виджеты для единого личного кабинета.
Старая версия
Важные изменения релиза версии 4.2.3:
Поднятие версии Koin до 3.5.3
- Обратите внимание, что более низкая фичевая версия Koin может ломать сборку. Убедитесь, что ваш проект использует версию схожую с 3.5.3. Мы уже думаем как в будущем уйти от этой проблемы.
Добавлены новые виджеты личного кабинета
- В данном релизе добавлены новые виджеты для единого личного кабинета.
Важные изменения релиза версии 4.2.2:
**Оптимизация зависимостей
Мы уменьшили количество зависимостей, что сделало SDK более легким и стабильным. Убраны некоторые зависимости, которые могли вызывать уведомления при публикации в магазинах.
Новый сценарий входа
Мы представляем новый сценарий входа, который сейчас находится на стадии пилотного тестирования. В будущем мы добавим полное описание его использования.
Исправление UI ЕЛК
В этом обновлении мы исправили ошибку, из-за которой верстка некоторых виджетов могла отображаться некорректно.
Обработка ошибок при инициализации
Обработали некоторые кейсы, когда внутрь SDK передавали null параметры
Важные изменения релиза версии 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)
Необходимо направить запрос на support_sberid@sber.ru на добавление deeplink в список доверенных. В запросе указывается client_id и список deeplink, по которым будет производиться возврат в мобильное приложение партнера. Сотрудник банка добавит домен в список разрешенных.
Смена стенда внутри SDK
Начиная с версии 2.4.1 для внутренних партнеров мы добавили возможность смены стендов внутри SDK, для тестирования на ИФТ и ПСИ стенде. Предворительно у вас должно быть настроена полная интеграция с тестовыми стендами, а так же вы как партнер должны быть добавлены на ваш стенд. Для этого можно написать в ваш чат поддержки Сбер ID (Ваш_продукт & Сбер ID) или на почту support_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