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

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

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

Обзор

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

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

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

Зачем внедрять программу лояльности?

Чтобы понять ценность этой интеграции, важно различать два типа пропусков, существующих в Google Wallet: L1 (добавленный пользователем) и L2 (выданный партнером) .

Разница между L1 и L2

Особенность Пропуск L1 (добавленный пользователем) Пропуск L2 (выдан партнером)
Источник Создается, когда пользователь вручную сканирует физическую карту или вводит номер. Создается и отправляется с использованием API кошелька после того, как пользователь зарегистрируется или войдет в систему, используя ваш поток.
Контроль Статика. Партнёр не видит и не контролирует этот проход. Динамичный. Партнер имеет полный контроль через API.
Функциональность Статичное изображение штрихкода. Не может быть обновлено. Может обновлять баланс баллов, статус уровня, отображать персонализированные предложения и получать уведомления.

Пути обновления: «мост» к вашей программе

Создавая процесс регистрации в программе лояльности («пункт назначения»), вы позволяете Google построить «мост», который переводит пользователей со статических карт первого уровня на ваши официальные карты второго уровня. Существует два основных триггера перехода:

  1. Обновление карты с уровня 1 на уровень 2: если пользователь ранее вручную добавил вашу карту (Уровень 1), Google Wallet может предложить ему перейти на новую страницу входа, чтобы перейти на официальную динамическую карту (Уровень 2).
  2. Обновления для импортированных пропусков Gmail: если Google Wallet обнаружит карту лояльности, использующую Gmail пользователя, он может предложить пользователю посетить ваш поток и пройти аутентификацию для получения официального пропуска L2.

Шаг 1: Настройте тестовый класс в Google Wallet

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

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

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

Шаг 2: Разработайте страницы регистрации и входа

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

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

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

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

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

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

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

При отображении страницы входа или регистрации Google Wallet создаст Android WebView и отправит POST запрос на указанный вами URL. Данные пользователя содержатся в параметре SharedDataType , который включается в POST запрос с Content-Type 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"
}

Шаг 3: Реализуйте немедленную отправку средств в Google Wallet

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

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

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

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

Типичный поток коммуникации

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

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

Шаг 4: Запросите проверку и активацию

После завершения разработки и тестирования процессов регистрации/входа вам необходимо отправить запрос на проверку и полную активацию вашей реализации.

  1. Перейдите в консоль Google Pay и Wallet .
  2. Воспользуйтесь виджетом «Связаться со службой поддержки» .
  3. Сообщите службе поддержки о том, что вы завершили интеграцию программы лояльности.

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

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

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

  • Есть ли какие-либо требования к изображениям, используемым в моей программе лояльности? Да, ваши изображения должны быть размещены на HTTPS сервере, иначе они не будут видны в Google Wallet.

  • Существуют ли инструменты, упрощающие реализацию и отладку JWT? Да, такие платформы, как www.jwt.io, позволяют декодировать и отлаживать токены в процессе разработки, что позволяет проверять отправляемый контент. Обратите внимание, что Google не имеет никакого отношения к этим сторонним организациям и не рекомендует их напрямую.

  • Как правильно обрабатывать данные SharedDataType закодированные в Base64? Убедитесь, что на протяжении всего процесса используется кодировка UTF-8. Строка JSON сначала кодируется в UTF-8, а затем с помощью android.util.Base64 с параметрами NO_WRAP и URL_SAFE. Это соответствует разделу 4 RFC 3548 .