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

Файл Android SDK

Обновлено 22 октября 2024

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

ВерсияФайлДата
1.1.1android-sdk-v1.1.1.zip17.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. Мы уже думаем как в будущем уйти от этой проблемы.
  • Добавлены новые виджеты личного кабинета

    • В данном релизе добавлены новые виджеты для единого личного кабинета.

Старая версия

Обновлено 22 октября 2024

Важные изменения релиза версии 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

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