| Поле | Описание |
|---|---|
| serviceName | Название сервиса в заголовке шторки |
| targetActionText | Текст для целевого действия в шторке. Подробнее |
| oneTapButton | Конфигурация для One Tap. Позволяет настраивать высоту и радиус скругления кнопки. Подробнее |
| authConfiguration | Конфигурация авторизации. Подробнее. По умолчанию задана конфигурация через SDK c обменом кода на фронтенде. Детальнее о ней рассказано в этапе 4 |
| oAuthProviderConfiguration | Конфигурация OAuth-провайдеров, используемых в шторке. По умолчанию конфигурация содержит пустой массив. Подробнее |
| theme | Цветовая тема шторки со значением matchingColorScheme(_ scheme: Appearance.ColorScheme), где scheme — цветовая схема. По умолчанию в scheme задано значение current. Подробнее |
| autoDismissOnSuccess | Признак того, что шторку нужно автоматически скрывать, если авторизация успешна. По умолчанию имеет значение true |
| onCompleteAuth | Замыкание, которое вызывается при завершении авторизации. Подробнее |
let oneTapSheet = OneTapBottomSheet(
serviceName: "Your service name",
targetActionText: .signIn,
oneTapButton: .init(
height: .medium(.h44),
cornerRadius: 8
),
theme: .matchingColorScheme(.system),
autoDismissOnSuccess: true
) { authResult in
// Обработка результата авторизации.
do {
let session = try authResult.get()
print("Auth succeeded with token: \(session.accessToken)")
} catch AuthError.cancelled {
print("Auth cancelled by user")
} catch {
print("Auth failed with error: \(error)")
}
}let sheetViewController = VKID.shared.ui(for: oneTapSheet).uiViewController()
// ...
self.present(sheetViewController, animated: true)oneTapSheet.autoShow(factory: vkid)| Параметр | Сценарий | Заголовок шторки | Текст кнопки | Описание |
|---|---|---|---|---|
| .signIn | Вход | Войдите в сервис или зарегистрируйтесь | Войти с VK ID | Сценарий по умолчанию |
| .signInToService(String) | Вход | Войти в учетную запись название сервиса | Войти с VK ID | Альтернативный сценарий входа |
| .registerForEvent | Регистрация на мероприятие | Зарегистрируйтесь на мероприятие | Продолжить c VK ID | Для образовательных проектов и участия в тендерах |
| .applyFor | Заявка | Подайте заявку с VK ID | Продолжить c VK ID | Для e-commerce и сервисов, где требуется оставить заявку на участие |
| .orderCheckout | Оформление заказа | Оформить заказ с VK ID | Оформить с VK ID | Для корзин в e-commerce |
| .orderCheckoutAtService(String) | Оформление заказа | Оформите заказ в название сервиса с VK ID | Оформить с VK ID | Для корзин в e-commerce, альтернативный текст |
let oneTapSheet = OneTapBottomSheet(
// ...
targetActionText: . signInToService("Your Service Name"), // Текст шторки.
// ...
)| Параметр | Описание |
|---|---|
| autoShowConfiguration | Конфигурация автоматического показа шторки |
| factory | Фабрика для создания UI элемента — в данном случае это VKID |
| Параметр | Описание |
|---|---|
| presenter | Способы отобразить шторку авторизации. Возможные значения:
|
| delayMilliseconds | Задержка автоматического отображения шторки в миллисекундах. При значении 0 шторка поднимется сразу же при входе пользователя в приложение |
let oneTapBottomSheet = OneTapBottomSheet(
serviceName: "Your service name",
targetActionText: .signIn,
oneTapButton: .init(),
onCompleteAuth: nil
)
let autoShowConfiguration = AutoShowConfiguration(
presenter: .newUIWindow, // Шторка отобразится на новом UIWindow.
delayMilliseconds: 1500 // Шторка поднимется через 1.5 секунды.
)
oneTapBottomSheet.autoShow(autoShowConfiguration, factory: vkid)let oAuthProviderConfiguration = OAuthProviderConfiguration(
alternativeProviders: [.mail, .ok]
)
let oneTapSheet = OneTapBottomSheet(
// ...
oAuthProviderConfiguration: oAuthProviderConfiguration,
// ...
)let sheetViewController = VKID.shared.ui(for: oneTapSheet).uiViewController()
// ...
self.present(sheetViewController, animated: true)oneTapSheet.autoShow(factory: vkid)