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

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

Обновлено 30 мая 2024

Начиная с версии SDK 1.2.0 кнопка входа по Сбер ID автоматически поддерживает персонализацию при выполнении следующих условий:

  • на устройстве установлено МП СБОЛ версии от 11.8 и выше
  • в МП СБОЛ пользователем включен функционал персонализации входа в приложениях партнера (МП СБОЛ - Профиль пользователя - Сбер ID - Настройки входа)

Дополнительных действий от разработчиков при интеграции этой версии SDK не требуется. 

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

Если персонализация на стороне МП СБОЛ отключена либо на устройстве не установлено МП СБОЛ либо процедура персонализации завершилась неуспешно, текст на кнопке будет отображаться тот, который вы указали в разметке при ее добавлении.

  • Если кнопка была добавлена с коротким текстом "Сбер ID", персонализация кнопки не будет запущена в любом случае. Если дизайн экрана предполагает наличие широкой кнопки входа по Сбер ID, рекомендуется использовать один из длинных вариантов текста

При запуске процедуры персонализации на кнопке отображается индикатор загрузки:

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

После завершения персонализации кнопка выглядит следующим образом:

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

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

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

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

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

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

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

Предусмотрено два варианта управления статусом:

  • атрибут в xml разметке кнопки app:buttonLoader="значение_true_false". Если ваш экран подразумевает ожидание каких-либо данных при первоначальной отрисовке UI, рекомендуем пользоваться именно этим способом, выставляя в разметке значение true. Если атрибут в разметке не указан, по умолчанию значение принимается за false.
Скриншот кода 3
  • публичный метод в классе кнопки SberIDButton для управления статусом загрузки по мере необходимости из программного кода
/**
* Установить актуальный статус индикатора загрузки в кнопке
* В слуачае установки статуса загрузки стартует анимация, текст в кнопке зануляется
* В случае отмены статуса загрузки анимация останавливается, в кнопке отображается
* стандартный/персонализированный текст, либо продолжается анимация до завершения работы процедуры персонализации
*
* @param isLoading - true, если необходимо отобразить на кнопке статус загрузки, false - в противном случае
*/
fun setLoaderState(isLoading: Boolean)
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.