Содержание:

Если вы столкнулись с необходимостью аутентификации и входа в аккаунт Google для работы с программой лояльности через Google Pay, то этот пост — ваш спасательный круг! Здесь вы узнаете, как правильно настроить регистрацию и аутентификацию, какие страницы создать, как обеспечить безопасность и удобство для пользователя, а также как мгновенно добавить карту постоянного клиента в Google Pay. Готовы? Поехали!


Четыре шага подключения функции регистрации и аутентификации в программе лояльности

Чтобы ваши пользователи могли легко войти в аккаунт Google и пользоваться картами постоянного клиента, нужно пройти четыре важных этапа:

  • Настройка тестовой среды Google Pay — чтобы проверить, как работает регистрация и аутентификация.
  • Создание страниц регистрации и аутентификации — они будут обрабатывать данные пользователей.
  • Подключение функции мгновенного добавления карты постоянного клиента — чтобы после входа карта сразу появлялась в Google Pay.
  • Запрос проверки и активации через Business Console — чтобы ваши функции заработали официально.

Каждый шаг — как кирпичик в фундаменте вашего успешного приложения лояльности.


Тестовая среда Google Pay — зачем и как настраивать

Тестовая среда — это ваша песочница, где можно без риска проверить регистрацию и аутентификацию. Чтобы её настроить, нужно:

  • Указать URL страниц регистрации и аутентификации — именно туда Google Pay будет отправлять пользователей для входа или создания аккаунта.
  • Заполнить поле discoverableProgram в объекте loyaltyclass — это позволяет программе лояльности быть "видимой" и доступной для пользователей.
  • Обеспечить доступ тестировщикам к Business Console — иначе они не смогут проверить работу функций.

Без этих параметров ваша программа лояльности останется в тени, а пользователи — в замешательстве.


Доступ тестировщиков и Business Console

Чтобы тестировщики могли проверить регистрацию и аутентификацию, им нужно дать доступ к Business Console. Это делается через приглашение нового пользователя с нужными правами. Важно:

  • Предоставить доступ заранее, чтобы не тормозить процесс тестирования.
  • Убедиться, что тестировщики видят именно те функции, которые вы хотите проверить.

Без доступа к Business Console тестирование превращается в игру в прятки — и вы в ней проиграете.


Страницы регистрации и аутентификации — что и как создавать

Ваш сайт должен иметь минимум две страницы:

  • Страница входа — для пользователей с уже существующим аккаунтом.
  • Страница регистрации — для новых пользователей, которые хотят создать аккаунт.

На этих страницах нужно:

  • Минимизировать количество полей — чем меньше, тем лучше! Пользователи не любят заполнять длинные формы.
  • Сделать страницы мобильными — большинство заходят с телефонов.
  • Использовать HTTPS — безопасность превыше всего.
  • Обеспечить 99,9% времени доступности — чтобы никто не остался у двери.

Упрощение процесса регистрации — меньше кликов, больше счастья

Забудьте про длинные формы! Вот как сделать регистрацию проще:

  • Уберите все лишние поля, оставьте только согласие с Условиями использования.
  • После согласия создайте аккаунт автоматически.
  • Отправьте пользователю одноразовый пароль или ссылку для настройки пароля.

Так вы уменьшите вероятность, что пользователь бросит регистрацию на полпути. Ведь каждый лишний клик — это шанс потерять клиента.


Как данные пользователя передаются через Android WebView

Когда пользователь нажимает "Войти" или "Зарегистрироваться" в Google Pay, приложение отправляет POST-запрос на ваш URL с параметром userProfile. Вот что важно знать:

  • Данные передаются в формате application/x-www-form-urlencoded.
  • Кодировка — UTF-8.
  • Поле userProfile содержит JSON, закодированный в Base64.
  • JSON включает поля с данными пользователя, например, имя, адрес, email и телефон.

Это как секретный шифр, который ваше приложение должно уметь расшифровывать и обрабатывать.


Какие поля доступны в userProfile и обязательные для регистрации и аутентификации

Поле Регистрация Аутентификация
email
firstName
lastName
addressLine1
addressLine2
addressLine3
city
state
zipcode
country
phone

Обязательное поле для аутентификации — это email. Для регистрации — набор данных шире, чтобы создать полноценный профиль.


Пример структуры JSON в userProfile

{
  "firstName": "Jane",
  "lastName": "Doe",
  "addressLine1": "1600 Amphitheatre Pkwy",
  "addressLine2": "Apt 123",
  "addressLine3": "Attn:Jane",
  "city": "Mountain View",
  "state": "CA",
  "zipcode": "94043",
  "country": "US",
  "email": "jane.doe@example.com",
  "phone": "555-555-5555"
}

Этот JSON — как визитная карточка пользователя, которую ваше приложение получает и обрабатывает.


Мгновенное добавление карты постоянного клиента в Google Pay

После успешной регистрации или входа карта должна появиться в Google Pay без задержек. Для этого:

  • Создайте JWT (JSON Web Token), который представляет объект LoyaltyObject — вашу карту.
  • Используйте ссылку формата:
    https://pay.google.com/gp/v/save/{jwt_generated}
  • Перенаправьте пользователя по этой ссылке — карта добавится автоматически.

Ограничения по длине URL и управление размером данных

URL для сохранения карты не должен превышать 2000 символов. Чтобы не превысить лимит:

  • Храните большую часть данных в классе лояльности (loyaltyclass).
  • В JWT передавайте только идентификатор объекта.
  • Минимизируйте данные в JWT — только самое необходимое.

Так вы избежите ошибок и обеспечите плавную работу.


Различие между данными в LoyaltyObject и JWT

  • LoyaltyObject — хранит большой объем данных, например, описание программы, изображения, условия.
  • JWT — содержит минимальный набор данных для идентификации и добавления карты.

Рекомендуется держать основную информацию в классе лояльности, а JWT использовать как "ключ" для доступа к этим данным.


Стандартный процесс взаимодействия пользователя и систем

Процесс регистрации или аутентификации включает:

  • Пользователь нажимает "Войти" или "Зарегистрироваться".
  • Перенаправление на соответствующую страницу.
  • Обработка данных и создание/проверка аккаунта.
  • Создание JWT и добавление карты в Google Pay.
  • Подтверждение успешного завершения.

На сервере должны быть реализованы все проверки и обработка данных, чтобы процесс был гладким и безопасным.


Запрос проверки и активации через Business Console

После завершения разработки:

  • Отправьте запрос на проверку через виджет в Business Console.
  • Укажите, что функции регистрации и аутентификации готовы к тестированию.
  • Дождитесь одобрения от службы поддержки Google.

Только после этого ваши функции станут доступны всем пользователям.


Политики безопасности и конфиденциальности

При работе с персональными данными:

  • Используйте HTTPS с действительным сертификатом.
  • Минимизируйте количество собираемых полей.
  • Получайте явное согласие пользователя на обработку данных.
  • Обеспечьте 99,9% времени доступности страниц.

Безопасность — это гарантия доверия ваших клиентов.


Изображения для программы лояльности

  • Все изображения должны храниться на HTTPS-ресурсах.
  • Иначе они не будут отображаться в Google Pay.
  • Используйте оптимизированные форматы и размеры для быстрой загрузки.

Инструменты для разработки и отладки JWT

  • Используйте jwt.io для декодирования и проверки токенов.
  • Помните, что Google не поддерживает сторонние инструменты официально.
  • Работайте аккуратно с Base64 и UTF-8 кодировками.

Работа с Base64 и UTF-8

  • JSON сначала кодируется в UTF-8.
  • Затем применяется Base64 с опциями NO_WRAP и URL_SAFE.
  • Следуйте стандартам RFC 3548 для корректной обработки.

Часто задаваемые вопросы (FAQ)

Вопрос Ответ
Где должны храниться изображения? На HTTPS-ресурсах, иначе Google Pay их не покажет.
Какие инструменты использовать для JWT? jwt.io и подобные, но без официальной поддержки Google.
Как работать с Base64? Используйте UTF-8, кодируйте JSON в Base64 с опциями NO_WRAP и URL_SAFE.
Что делать, если тестировщики не видят функций? Проверьте, предоставлен ли им доступ к Business Console с нужными правами.

Образцы ошибок и их решение

  • Проблемы доступа тестировщиков к Business Console — проверьте, отправлено ли приглашение и активирован ли аккаунт.
  • Превышение длины URL — уменьшите данные в JWT, перенесите больше информации в класс лояльности.
  • Неправильная кодировка данных — убедитесь, что JSON кодируется в UTF-8 и Base64 с правильными опциями.

Итог

Аутентификация и регистрация в Google Pay — это не просто кнопка "Войти". Это сложный, но увлекательный процесс, который требует внимания к деталям: от создания удобных страниц до правильной обработки данных и безопасности. Следуйте описанным шагам, и ваши пользователи будут счастливы, а карты постоянного клиента — всегда под рукой.


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