Функция регистрации и входа в систему лояльности позволяет пользователям искать вашу программу лояльности и присоединяться к своей учетной записи или входить в нее из Google Кошелька. Пользователи будут перенаправлены на ваш веб-сайт, удобный для мобильных устройств, для завершения процесса, после чего они смогут добавить свою карту в Google Кошелек.
В этом руководстве представлен обзор шагов по внедрению, необходимых для включения этой функции в вашей программе лояльности.
Обзор
Для начала убедитесь, что вы ранее настроили свой проект и имеете доступ к API Google Кошелька.
Вам необходимо выполнить следующие четыре шага, чтобы реализовать функцию регистрации и входа в вашу программу лояльности:
- Настройте тестовый класс в Google Кошельке для тестирования процессов регистрации и входа в систему.
- Разработайте страницы регистрации/входа, использующие Google Wallet
SharedDataType
. - Реализуйте возврат карты лояльности в Google Кошелек после регистрации/входа в систему.
- Запросить проверку и активацию.
Настройте тестовый курс в Google Кошельке.
Определите URL-адреса регистрации и входа, логотип вашей программы и выбранные пользовательские поля. Затем используйте вложенные поля discoverableProgram
в loyaltyclass
, чтобы установить соответствующие значения.
Задайте значения в discoverableProgram
, чтобы создать черновую версию вашей программы лояльности с поддержкой регистрации/входа. Чтобы это было видно тестировщикам, убедитесь, что у тестировщиков есть доступ к вашему Google Pay и консоли Кошелька. Подробную информацию о том, как предоставить доступ к Google Pay и консоли Кошелька другим людям, можно найти на странице «Информация о пользователях» .
Чтобы завершить проверку функциональности вашей реализации в процессе разработки, свяжитесь с нами с помощью виджета поддержки контактов в консоли Google Pay и Wallet. В консоли выберите Google Wallet API в теме и выберите «Вход/регистрация по программе лояльности» в подтеме.
Разработайте страницы регистрации и входа в систему, использующие данные пользователя Google Кошелька.
Когда пользователь решает войти в систему или зарегистрироваться в вашей программе лояльности, он перенаправляется на специальную страницу вашего веб-сайта, чтобы завершить процесс регистрации или входа в систему. Если пользователь решит зарегистрироваться, Google Кошелек запросит у него разрешение на передачу вам своих пользовательских данных.
Вам необходимо предоставить одну из двух страниц или обе, которые позволяют пользователям выполнять эти действия.
- URL-адрес для входа, по которому пользователь может войти в существующую учетную запись.
- 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 .