ym88659208ym87991671
Интеграция кнопки входа | Документация для разработчиков

Интеграция кнопки входа

Обновлено 27 апреля 2024

Для успешной интеграции кнопки входа Сбер ID, следуйте пошаговой инструкции, начиная с создания и настройки кнопки, заканчивая обработкой действий пользователя.

Возможные вариации кнопки, а также рекомендуемые размеры можно найти в гайдбуке по кнопке авторизации

Создание и настройка кнопки

1. Создание кнопки

Выберите подходящий стиль и текст для кнопки, используя перечисления SIDLoginButtonStyle и SIDLoginButtonTextType. Создайте экземпляр кнопки, указав необходимые параметры.

// Создание кнопки с заданным стилем и наблюдателем
let loginButton = SIDLoginButton(type: .green, observer: observer)

// Создание кнопки с дополнительными настройками
let loginButtonCustom = SIDLoginButton(type: .white,
textType: .short,
desiredSize: CGSize(width: 200, height: 50),
observer: observer)

Тексты поддерживают английскую локализацию на устройстве. При выборе локализации, отличной от русской и английской, тексты будут на русском.

Скриншот кнопки 5
Скриншот кнопки 6

2. Кастомизация внешнего вида

SDK включает методы для настройки внешнего вида кнопки, позволяя выбрать предпочтительные визуальные настройки из доступных вариантов.

Cкругление углов и цвет обводки кнопки (для белой кнопки)

loginButton.setCornerRadius(.normal)
Скриншот кнопки 8
Скриншот кнопки 7

Установка цвета обводки для белой кнопки

if loginButton.style == .white {
loginButton.setBorderColor(.green)
}
Скриншот кнопки 10

Управление лоадером на кнопке

Используйте свойство isLoaderHidden для управления отображением лоадера на кнопке "Войти по Сбер ID". По умолчанию лоадер не отображается (true). Измените это свойство, чтобы показать или скрыть лоадер в зависимости от необходимости. Включение лоадера может быть полезно при ожидании завершения операций, требующих времени, например, при авторизации пользователя.

// Показать лоадер
loginButton.isLoaderHidden = false

// Скрыть лоадер
loginButton.isLoaderHidden = true
Скриншот кнопки 12
Скриншот кнопки 13

Персонализация кнопки

Функционал персонализации кнопки "Войти по Сбер ID" временно недоступен из-за текущих ограничений платформы.

3. Наблюдение за состоянием кнопки

В SDK работает механизм оповещений о выпуске новых версий. Эта функциональность автоматически информирует разработчиков о необходимости обновления до последней версии, чтобы обеспечить стабильность работы и доступ к новым функциям.

Важно: При обнаружении критической необходимости обновления (например, устаревшая версия SDK в вашем приложении), кнопка входа через Сбер ID может быть автоматически скрыта для предотвращения возможных проблем в процессе авторизации.

Реагирование на скрытие кнопки

Для обработки ситуаций, когда кнопка входа скрыта (например, при критической необходимости обновления SDK), рекомендуется использовать специальный механизм обратного вызова:

  • При инициализации кнопки SIDLoginButton в качестве параметра observer передайте объект, который реализует протокол LoginButtonObserverProtocol.
  • Реализуйте метод loginButtonWasHidden() этого протокола, чтобы определить логику вашего приложения при скрытии кнопки (например, отображение уведомления для пользователя или скрытие элементов интерфейса).
class LoginButtonObserver: SIDLoginButtonObserverProtocol {
func loginButtonWasHidden() {
// Здесь может быть ваш код для обработки скрытия кнопки
}
}

let sberIdButton = SIDLoginButton(type: .white,
textType: .short,
clientId: "clientId",
desiredSize: CGSize(),
observer: SIDLoginButtonObserver())

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