Регистрация в программе лояльности пользователей

Функция регистрации и входа в программу лояльности позволяет пользователям искать вашу программу лояльности и присоединяться к своей учетной записи или входить в нее из Google Кошелька. Пользователи будут перенаправлены на ваш веб-сайт, удобный для мобильных устройств, для завершения процесса, после чего они смогут добавить свою карту в Google Кошелек.

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

Обзор

Для начала убедитесь, что вы ранее настроили свой проект и имеете доступ к API Google Кошелька.

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

  1. Настройте тестовый класс в Google Кошельке для тестирования процессов регистрации и входа в систему.
  2. Разработайте страницы регистрации/входа, использующие Google Wallet SharedDataType .
  3. Реализуйте возврат карты лояльности в Google Кошелек после регистрации/входа в систему.
  4. Запросить проверку и активацию.

Настройте тестовый курс в Google Кошельке.

Определите URL-адреса регистрации и входа, логотип вашей программы и выбранные пользовательские поля. Затем используйте вложенные поля discoverableProgram в loyaltyclass , чтобы установить соответствующие значения.

Задайте значения в discoverableProgram , чтобы создать черновую версию вашей программы лояльности с поддержкой регистрации/входа. Чтобы это было видно тестировщикам, убедитесь, что у тестировщиков есть доступ к вашему Google Pay и консоли Кошелька. Подробную информацию о том, как предоставить доступ к Google Pay и консоли Кошелька другим людям, можно найти на странице «Информация о пользователях» .

Чтобы завершить проверку функциональности вашей реализации в процессе разработки, свяжитесь с нами, используя виджет поддержки контактов в консоли Google Pay и Wallet. В консоли выберите Google Wallet API в теме и выберите «Вход/регистрация по программе лояльности» в подтеме.

Разработайте страницы регистрации и входа в систему, использующие данные пользователя Google Кошелька.

Когда пользователь решает войти в систему или зарегистрироваться в вашей программе лояльности, он перенаправляется на специальную страницу вашего веб-сайта, чтобы завершить процесс регистрации или входа в систему. Если пользователь решит зарегистрироваться, Google Кошелек запросит у него разрешение на передачу вам своих пользовательских данных.

Вам необходимо предоставить одну из двух страниц или обе, которые позволяют пользователям выполнять эти действия.

  1. URL-адрес для входа, по которому пользователь может войти в существующую учетную запись.
  2. URL-адрес регистрации, по которому пользователь может создать новую учетную запись.

Страницы входа и регистрации должны соответствовать следующим требованиям:

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

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

  • Используя пользовательские данные, предоставленные в SharedDataType , вы можете создать учетную запись и немедленно вернуть свою карту лояльности.
  • Впоследствии вы можете отправить пользователю по электронной почте одноразовый пароль или ссылку для настройки пароля и дополнительных данных учетной записи.
  • Это снижает вероятность того, что пользователи откажутся от процесса регистрации, поскольку каждый дополнительный шаг может привести к дополнительному отказу.

При отображении страницы входа или регистрации Google Кошелек создаст Android WebView и на указанный вами URL-адрес будет отправлен запрос POST . Пользовательские данные предоставляются в параметре SharedDataType , который включается в запрос POST с использованием типа контента application/x-www-form-urlencoded и кодировки UTF-8 . Значение параметра SharedDataType — это объект JSON в кодировке Base64.

В зависимости от действия, выбранного пользователем, и полей, которые вы указали для запроса у пользователя, объект JSON может содержать следующие поля.

Поле Регистрация
электронная почта
имя
фамилия
адресная строка [1-3]
город
состояние
почтовый индекс
страна
телефон

Ниже приведен декодированный образец объекта JSON, содержащийся в SharedDataType .

Ресурс

{
  "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"
}

Реализуйте немедленный возврат карты постоянного клиента в Google Кошелек.

После аутентификации (входа в систему) или после создания учетной записи (регистрации) ваша страница должна немедленно вернуть карту лояльности пользователя в Google Кошелек.

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

https://pay.google.com/gp/v/save/{jwt_generated}

Безопасная длина URL-адреса составляет 2000 символов. Ваши ссылки должны оставаться ниже этого предела. Объекты, закодированные в JWT, должны быть небольшими и содержать только данные, специфичные для пользователя. Постарайтесь сохранить большую часть данных в классе объекта, создав его перед созданием JWT. Для более крупных объектов, которые не соответствуют этому пределу, рассмотрите возможность сначала создать объект в API Google Кошелька и отправить только идентификатор объекта в JWT.

Типичный поток общения

Поток общения для пользователя, завершающего регистрацию или вход, показан на следующем изображении. Все действия между «Вашим Сервером» являются вашей ответственностью за реализацию.

Процесс входа в систему при регистрации

Запросить проверку и активацию

После завершения разработки и тестирования процессов регистрации и входа в систему отправьте запрос через виджет поддержки контактов Google Pay и консоли Wallet .

После полной проверки вашей реализации, которая подтвердит правильность функционирования в сочетании с приложением Google Кошелек, функция регистрации/входа в систему лояльности будет публично запущена для вашей программы лояльности. Это позволит любому пользователю увидеть программу и использовать эту функциональность.

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

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

  • Есть ли какие-либо требования к изображениям, используемым в моей программе лояльности?
    • Да, ваши изображения должны размещаться по протоколу HTTPS , иначе они не будут видны в Google Кошельке.
  • Существуют ли какие-либо инструменты, упрощающие реализацию и отладку JWT?
    • Да, такие платформы, как www.jwt.io, позволяют вам декодировать и отлаживать ваши токены в процессе разработки, что позволяет вам проверять отправляемый вами контент. Обратите внимание, что Google не имеет никакого отношения к таким третьим сторонам и не рекомендует их конкретно.
  • Как правильно обрабатывать данные SharedDataType в кодировке Base64?
    • Убедитесь, что вы используете кодировку UTF-8 на протяжении всего процесса. Строка JSON сначала кодируется в UTF-8, а затем кодируется с использованием android.util.Base64 с параметрами NO_WRAP и URL_SAFE. Это соответствует разделу 4 RFC 3548 .