ym88659208ym87991671
Добавление кнопки Войти по Сбер ID | Документация для разработчиков

Добавление кнопки Войти по Сбер ID

Обновлено 21 ноября 2023

Инициализация SDK в методе AppDelegate

При старте вашего мобильного приложения необходмо инициализировать SDK в методе AppDelegate:

import SberIdSDK

func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
SIDManager.initSberID(clientId: "clientId")
...
return true
}

Добавление кнопки

При старте вашего мобильного приложения необходмо передать значение вашего clientID. Данный ID будет использоваться во всех процессах авторизации и работе методов SDK

Swift

import SberIdSDK

.
.
.

SIDManager.setClientID("clientId")
  • Импортируйте модуль SberIdSDK.
import SberIdSDK
  • Создайте кнопку и добавьте ее на view.
// Инициализаторы для создания кнопки:

/// Инициализатор создаст кнопку по стилистическому гайду Сбербанка с заданными размерами и выбранным заголовком
/// - Parameters:
/// - type: стиль кнопки
/// - textType: вариант текста
/// - desiredSize: желаемые высота и ширина
/// - observer: наблюдатель состояния кнопки
init(type: LoginButtonStyle,
textType: LoginButtonTextType,
desiredSize: CGSize,
observer: LoginButtonObserverProtocol? = nil) {}

/// Инициализатор создаст кнопку только по выбранному стилю
/// - Parameters:
/// - type: стиль кнопки
/// - observer: наблюдатель состояния кнопки
init(type: LoginButtonStyle,
observer: LoginButtonObserverProtocol? = nil) {}

// Пример:
let loginButton = SIDLoginButton(type: .white)
loginButton.addTarget(self, action: #selector(loginButtonDidTap(_:)), for: .touchUpInside)
view.addSubview(loginButton)

Кастомизация кнопки

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

Стили

Скриншот кнопки 1
Скриншот кнопки 2

Стиль устанавливается при инициализации кнопки Sber ID:

Скриншот кнопки 3

Варианты текста

По умолчанию текст — «Войти по Сбер ID»

LoginButtonTextType.short    // "Сбер ID"
LoginButtonTextType.general // "Войти по Сбер ID"
LoginButtonTextType.filling // "Заполнить со Сбер ID"
LoginButtonTextType.pursue // "Продолжить со Сбер ID"

Установить вариант текста можно при инициализации кнопки Sber ID. Установка собственного текста, шрифта, цвета текста не поддерживается.

Скриншот кнопки 4

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

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

В примере кнопки с текстом "Сбер ID" и “Sber ID” отрисована с минимально допустимой шириной.

Степень скругления кнопки (по умолчанию .normal)

Скриншот кнопки 7
Скриншот кнопки 8

Установить степень скругления кнопки можно с помощью метода кнопки setCornerRadius(_ radiusStyle: CornerRadiusStyle). При необходимости можно установить свои параметры через стандартный метод UIButton - SIDLoginButton().layer.cornerRadius.

Скриншот кнопки 9

Обводка

Скриншот кнопки 10

В случае установки типа кнопки "white" есть возможность указать значение цвета обводки. Для этого установите конкретный цвет через метод кнопки setBorderColor(_ color: UIColor).

Скриншот кнопки 11

Управление статусом загрузки

Начиная с версии SDK 1.3.5 появилась возможность вручную программно управлять статусом загрузки в кнопке (анимированное лого СберБанка, как в разделе Персонализация кнопки).

Скриншот кнопки 12
Скриншот кнопки 13

Это может быть полезно, если перед тем, как дать возможность пользователю нажать на кнопку, вам необходимо, например, сделать запрос на сервер и получить oidc-параметры для авторизации по Сбер ID. Либо уже после запуска авторизации дождаться результата ее выполнения.

Установка или снятие статуса загрузки вручную и персонализация кнопки не связаны друг с другом. Если персонализация не завершилась до того, как вы сняли статус загрузки, анимация продолжится до ее завершения.

За управление статусом загрузки отвечает свойство isLoaderHidden объекта кнопки Sber ID SIDLoginButton

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