| Поле | Описание |
|---|---|
| state | Отображение шторки |
| scenario | Настройка текста внутри шторки |
| fastAuthEnabled | Отключение быстрой авторизации |
| style | Стилизация шторки |
| onAuthCode | Callback-метод, который вызывается при успешной аутентификации. В callback передается авторизационный код, который нужен для обмена на токены |
| onAuth | Callback-метод, который вызывается при успешной авторизации |
| onFail | Callback-метод, который вызывается при неуспешной авторизации |
| authParams | Параметр, через который в конфигурацию OneTapBottomSheet передаются доступы. Используется для получения данных пользователя. |
| oAuths | Подключение дополнительных способов входа |
| autoShowSheetDelayMillis | Автоподнятие шторки |
dependencies {
implementation("com.vk.id:onetap-compose:${sdkVersion— указывается последняя версия SDK, смотрите номер версии в начале страницы}")
//...
}@Composable
fun VKIDAuthScreen() {
val bottomSheetState = rememberOneTapBottomSheetState()
OneTapBottomSheet(
state = bottomSheetState,
onAuth = { /*...*/ },
serviceName = "Some app"
)
//...
}@Composable
fun VKIDAuthScreen() {
val bottomSheetState = rememberOneTapBottomSheetState()
OneTapBottomSheet(
state = bottomSheetState,
onAuth = { /*...*/ },
serviceName = "Some app"
)
// Показать шторку.
bottomSheetState.show()
// Скрыть шторку.
bottomSheetState.hide()
}| Enum | Сценарий | Заголовок шторки | Текст кнопки в авторизованной зоне | Текст кнопки в неавторизованной зоне | Описание |
|---|---|---|---|---|---|
| EnterService | Вход | Войдите в сервис или зарегистрируйтесь | Войти как имя пользователя | Войти с VK ID | Сценарий по умолчанию |
| EnterToAccount | Вход | Войти в учетную запись название сервиса | Войти как имя пользователя | Войти с VK ID | Альтернативный сценарий входа |
| RegistrationForTheEvent | Регистрация на мероприятие | Зарегистрируйтесь на мероприятие | Продолжить как имя пользователя | Продолжить c VK ID | Для образовательных проектов и участия в тендерах |
| Application | Заявка | Подайте заявку с VK ID | Продолжить как имя пользователя | Продолжить c VK ID | Для e-commerce и сервисов, где требуется оставить заявку на участие |
| OrderInService | Оформление заказа | Оформите заказ в название сервиса с VK ID | Оформить как имя пользователя | Оформить с VK ID | Для корзин в e-commerce |
| Order | Оформление заказа | Оформите заказ с VK ID | Оформить как имя пользователя | Оформить с VK ID | Для корзин в e-commerce, альтернативный текст |
OneTapBottomSheet(
...
scenario = OneTapScenario.EnterService,
)OneTapBottomSheet(
...
fastAuthEnabled = false,
)| Название класса | Описание |
|---|---|
| OneTapBottomSheetStyle | Класс, который определяет стиль шторки. Возможные значения:
|
OneTapBottomSheet(
onAuth = {},
serviceName = "VKID Sample",
style = OneTapBottomSheetStyle.Dark(
cornersStyle = OneTapSheetCornersStyle.None,
buttonsCornersStyle = OneTapButtonCornersStyle.None,
buttonsSizeStyle = OneTapButtonSizeStyle.SMALL_32
)
)@Composable
fun ScreenWithVKIDFloating() {
OneTapBottomSheet(onAuth = { oAuth, token ->
// Использование токена.
})
}OneTapBottomSheet(
autoShowSheetDelayMillis = 1500 // Шторка поднимается через 1.5 секунды.
)| Поле | Описание |
|---|---|
| vkid_bottomSheetScenario | Настройка текста внутри шторки |
| vkid_onetapFastAuthEnabled | Отключение быстрой авторизации |
| vkid_bottomSheetStyle | Стилизация шторки |
| vkid_bottomSheetScopes | Параметр, через который в конфигурацию OneTapBottomSheet передаются доступы. Используется для получения данных пользователя. |
| vkid_onetapOAuths | Подключение дополнительных способов входа |
| vkid_autoShowDelayMillis | Автоподнятие шторки |
| Поле | Описание |
|---|---|
| fastAuthEnabled | Отключение быстрой авторизации |
| authParams | Параметр, через который в конфигурацию OneTapBottomSheet передаются доступы. Используется для получения данных пользователя. |
| oAuths | Подключение дополнительных способов входа |
| autoShowSheetDelayMillis | Автоподнятие шторки |
| Поле | Описание |
|---|---|
| show() | Отображает шторку |
| hide() | Скрывает шторку |
| setCallbacks() | Callback-метод, который вызывается в зависимости от переданных параметров:
|
dependencies {
implementation("com.vk.id:onetap-xml:${sdkVersion — указывается последняя версия SDK, смотрите номер версии в начале страницы}")
//...
}<com.vk.id.onetap.xml.OneTapBottomSheet
android:id="@+id/vkid_bottom_sheet"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:vkid_bottomSheetServiceName="Some xml app"
app:vkid_bottomSheetScenario="OrderInService"
app:vkid_autoHideOnSuccess="false"
/>val vkidOneTapBottomSheet = findViewById<OneTapBottomSheet>(R.id.vkid_bottom_sheet)
vkidOneTapBottomSheet.show()| Enum | Сценарий | Заголовок шторки | Текст кнопки в авторизованной зоне | Текст кнопки в неавторизованной зоне | Описание |
|---|---|---|---|---|---|
| EnterService | Вход | Войдите в сервис или зарегистрируйтесь | Войти как имя пользователя | Войти с VK ID | Сценарий по умолчанию |
| EnterToAccount | Вход | Войти в учетную запись название сервиса | Войти как имя пользователя | Войти с VK ID | Альтернативный сценарий входа |
| RegistrationForTheEvent | Регистрация на мероприятие | Зарегистрируйтесь на мероприятие | Продолжить как имя пользователя | Продолжить c VK ID | Для образовательных проектов и участия в тендерах |
| Application | Заявка | Подайте заявку с VK ID | Продолжить как имя пользователя | Продолжить c VK ID | Для e-commerce и сервисов, где требуется оставить заявку на участие |
| OrderInService | Оформление заказа | Оформите заказ в название сервиса с VK ID | Оформить как имя пользователя | Оформить с VK ID | Для корзин в e-commerce |
| Order | Оформление заказа | Оформите заказ с VK ID | Оформить как имя пользователя | Оформить с VK ID | Для корзин в e-commerce |
<com.vk.id.onetap.xml.OneTapBottomSheet
...
app:vkid_bottomSheetScenario="EnterService" /><com.vk.id.onetap.xml.OneTapBottomSheet
app:vkid_onetapFastAuthEnabled="false" />findViewById<OneTapBottomSheet>(R.id.vkid_bottom_sheet).fastAuthEnabled = false| Название | Описание |
|---|---|
| light | Светлая тема |
| dark | Тёмная тема |
| system | Системная тема, меняется между light и dark в зависимости от системных настроек оформления в телефоне |
| secondaryLight | Светлая тема с белым фоном кнопки |
| secondaryDark | Тёмная тема с белым фоном кнопки |
| secondarySystem | Второстепенная тема с белым фоном, меняется между secondaryLight и secondaryDark в зависимости от системных настроек оформления в телефоне |
| icon | Кнопка в виде квадратной иконки |
<com.vk.id.onetap.xml.OneTapBottomSheet
android:id="@+id/vkid_bottom_sheet"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:vkid_bottomSheetStyle="dark"
app:vkid_bottomSheetServiceName="Sample xml"
app:vkid_bottomSheetScenario="OrderInService"
app:vkid_bottomSheetCornerRadius="0dp"
app:vkid_buttonsCornerRadius="0dp"
app:vkid_autoHideOnSuccess="false"
/>val vkidOneTapBottomSheet = findViewById<OneTapBottomSheet>(R.id.vkid_bottom_sheet)
vkidOneTapBottomSheet.setCallbacks(
onAuth = { oAuth, token ->
// успешная авторизация
}, onFail = { oAuth, fail ->
// обработка ошибок
})fun onCreate(/* ... */) {
findViewById<OneTapBottomSheet>(R.id.OneTapBottomSheet).setCallbacks(
onAuth = { oAuth, token -> /* Использование токена */ }
)
}OneTapBottomSheet(
...
authParams = VKIDAuthUIParams {
scopes = setOf("phone", "email")
}
)OneTapBottomSheet(
...
oAuths = seOf(OneTapOAuth.Mail, OneTapOAuth.OK)
)OneTapBottomSheet(
...
onAuth = { oAuth, token -> when (oAuth) { ... } },
onFail = { oAuth, fail -> when (oAuth) { ... } }
)<com.vk.id.onetap.xml.OneTapBottomSheet
android:layout_width="300dp"
android:layout_height="wrap_content"
app:vkid_onetapOAuths="mail,ok"
/>findViewById<OneTapBottomSheet>(R.id.vkidBottomSheet).oAuths = setOf(OneTapBottomSheetOAuth.MAIL, OneTapBottomSheetOAuth.OK)findViewById<OneTapBottomSheet>(R.id.vkidBottomSheet).setCallbacks(
onAuth = { oAuth, token -> when (oAuth) { ... } },
onFail = { oAuth, fail -> when (oAuth) { ... } }
)<com.vk.id.onetap.xml.OneTapBottomSheet
app:vkid_autoShowDelayMillis="1500" /> // Шторка поднимается через 1.5 секунды.findViewById<OneTapBottomSheet>(R.id.vkid_bottom_sheet).autoShowDelayMillis = 1500 // Шторка поднимается через 1.5 секунды.