Использовать карты можно двумя способами:
При необходимости вы можете включить дополнительную защиту, которая будет срабатывать, когда пользователи активируют карту или получают к ней доступ. Подробнее о защите с помощью блокировки экрана…
NFC-метка
Пользователи могут легко активировать свои карты с помощью NFC. Подробнее об интеллектуальной бесконтактной технологии и о том, как зарегистрироваться в программе…
Сканирование штрихкода
Чтобы клиентам было проще сканировать карту, добавьте на нее штрихкод.
Статический штрихкод
Чтобы показывать статический штрихкод, задайте значение object.barcode.
API поддерживает различные типы штрихкодов. Подробнее о типе Barcode…
Динамический штрихкод
Для дополнительной защиты можно настроить динамический штрихкод, задав свойство object.rotatingBarcode. Динамические штрихкоды выглядят как обычные, но периодически меняются (обычно раз в минуту). Терминал или сканер программируется так, чтобы принимать только последний вариант. Это снижает риски, связанные со скриншотами штрихкодов, в частности кражу билетов или их несанкционированную перепродажу. Подробнее о типе RotatingBarcode…
Анимированный значок безопасности
Ещё один способ предотвратить злоупотребление скриншотами – показывать анимацию безопасности штрихкода, которая позволяет человеку проверить билет.
Физическое проявление анимации безопасности – мерцающий контур вокруг штрихкода билета. Она запускается, только когда устройство находится в движении, поэтому, чтобы проверить действительность карты, достаточно наклонить устройство. Если вы держите устройство неподвижно, будет воспроизводиться только цветная анимация.
Чтобы включить защитную анимацию для карты, в классе карты задайте для поля SecurityAnimation значение FOIL_SHIMMER в AnimationType.
На рисунке 1 ниже показано, как выглядит анимированный значок безопасности, когда он включен.
Рисунок 1.
Защита с помощью блокировки экрана
Чтобы защитить доступ клиента к карте, вы можете требовать разблокировки экрана каждый раз, когда он добавляет карту или открывает ее. Для этого нужно задать параметр class.viewUnlockRequirement.
Подробнее о типе ViewUnlockRequirement…