Rejestracja w programie lojalnościowym

Funkcja rejestracji i logowania się w programie lojalnościowym pozwala użytkownikom wyszukać Twój program lojalnościowy i dołączyć do niego lub zalogować się na swoje konto z Portfela Google. Użytkownicy zostaną przekierowani na stronę dostosowaną do komórek, gdzie ukończą ten proces i będą mogli dodać kartę do Portfela Google.

Z tego przewodnika dowiesz się, jak wdrożyć tę funkcję w Twoim programie lojalnościowym.

Przegląd

Sprawdź, czy masz już skonfigurowany projekt i dostęp do Google Wallet API.

Aby wdrożyć funkcję rejestracji i logowania się w swoim programie lojalnościowym, wykonaj te 4 kroki:

  1. Skonfiguruj klasę testową w Portfelu Google na potrzeby testowania przepływów rejestracji i logowania.
  2. Utwórz strony rejestracji lub logowania korzystające z Portfela Google SharedDataType.
  3. Wdróż odsyłanie karty lojalnościowej do Portfela Google po rejestracji lub zalogowaniu się użytkownika.
  4. Poproś o weryfikację i aktywację.

Konfigurowanie klasy testowej w Portfelu Google

Ustaw adresy URL rejestracji i logowania, logo programu oraz wybrane pola użytkownika. Następnie użyj zagnieżdżonych pól discoverableProgram w loyaltyclass, aby ustawić odpowiednie wartości.

Ustaw wartości w discoverableProgram, aby utworzyć wersję roboczą programu lojalnościowego z obsługą rejestracji lub logowania się. Aby mieć pewność, że jest to widoczne dla testerów, sprawdź, czy testerzy mają dostęp do Twojej Konsoli usług Google Pay i Portfela Google. Więcej informacji o przyznawaniu innym osobom dostępu do Konsoli usług Google Pay i Portfela Google znajdziesz w artykule Więcej informacji o stronie Użytkownicy.

Aby dokończyć weryfikację funkcji implementacji w trakcie procesu programowania, skontaktuj się z nami za pomocą widżetu kontaktu z zespołem pomocy w Konsoli usług Google Pay i Portfela Google. W konsoli wybierz w temacie Google Wallet API i w podtemacie wybierz Logowanie/rejestracja w programie lojalnościowym.

Tworzenie stron rejestracji i logowania korzystających z danych użytkownika Portfela Google

Gdy użytkownik loguje się w programie lojalnościowym lub rejestruje się w nim, jest przenoszony na specjalną stronę w Twojej witrynie, na której może dokończyć proces rejestracji lub logowania. Jeśli użytkownik zdecyduje się na rejestrację, Portfel Google poprosi go o zgodę na udostępnienie Ci jego danych.

Musisz podać jedną lub obie strony, na których użytkownicy będą mogli wykonać te czynności.

  1. Adres URL strony, na której użytkownik może zalogować się na istniejące konto.
  2. Adres URL rejestracji, na którym użytkownik może utworzyć nowe konto.

Strony logowania i rejestracji muszą spełniać następujące wymagania:

  • Dostosowanie do urządzeń mobilnych.
  • jak najmniejsza liczba pól wymaganych podczas rejestracji,
  • umożliwiać użytkownikom logowanie się lub rejestrację na jednej stronie;
  • Do bezpiecznego przesyłania danych użytkownika używaj szyfrowania HTTPS z ważnym certyfikatem.
  • Zadbaj o dostępność stron logowania i rejestracji przez co najmniej 99,9% czasu.

Oprócz spełnienia powyższych wymagań zalecamy, aby użytkownicy mogli rejestrować się w Twoim programie lojalnościowym bez wypełniania żadnego formularza i bez konieczności angażowania strony tylko pod kątem akceptacji warunków korzystania z usługi.

  • Korzystając z danych użytkownika udostępnionych w SharedDataType, możesz utworzyć konto i od razu odesłać kartę lojalnościową.
  • Następnie możesz wysłać użytkownikowi e-maila z hasłem jednorazowym lub link umożliwiający skonfigurowanie hasła i opcjonalnych danych konta.
  • Zmniejsza to prawdopodobieństwo, że użytkownicy będą przerywać rejestrację, ponieważ każdy dodatkowy krok może prowadzić do rezygnacji.

Wyświetlając stronę logowania lub rejestracji, Portfel Google tworzy komponent Android WebView, a na podany adres URL jest wysyłane żądanie POST. Dane użytkownika są dostarczane w parametrze SharedDataType zawartym w żądaniu POST używającym typu treści application/x-www-form-urlencoded i kodowania UTF-8. Wartością parametru SharedDataType jest obiekt JSON zakodowany w standardzie Base64.

Zależnie od działania wybranego przez użytkownika i pól, o które prosisz użytkownika, obiekt JSON może zawierać poniższe pola.

Pole Rejestracja
e-mail
firstName
lastName
addressLine [1–3]
city
state
kod pocztowy
country
telefon

Poniżej znajdziesz sformatowany przykładowy obiekt JSON zawarty w SharedDataType.

Zasób

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

Wdrażanie natychmiastowego odsyłania karty lojalnościowej do Portfela Google

Po uwierzytelnieniu (zalogowaniu się) użytkownika lub utworzeniu przez niego konta (rejestracji) strona powinna od razu odsyłać kartę lojalnościową do Portfela Google.

Aby odesłać kartę lojalnościową do Portfela Google, przekieruj użytkownika na adres zgodny z poniższą strukturą.

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

Bezpieczna długość adresu URL to 2000 znaków. Linki nie powinny przekraczać tego limitu. Obiekty zakodowane w tokenach JWT powinny być małe i zawierać tylko dane dotyczące użytkownika. Utwórz klasę obiektu przed tokenem JWT, aby zapisać w niej większość danych. Jeśli obiekt przekracza limit, spróbuj utworzyć go za pomocą Google Wallet API i wysłać w tokenie JWT tylko identyfikator obiektu.

Typowy przepływ komunikacji

Proces komunikacji użytkownika po ukończeniu rejestracji lub logowania został przedstawiony na ilustracji poniżej. Wdrożenie wszystkich działań między „Twoim serwerem” jest Twoim obowiązkiem.

Przepływy rejestracji i logowania

Poproś o weryfikację i aktywację

Po ukończeniu prac programistycznych i przetestowaniu procesu rejestracji lub logowania się prześlij prośbę za pomocą widżetu kontaktu z zespołem pomocy Google Pay i Portfela Google.

Po pełnym sprawdzeniu Twojej implementacji potwierdzającej prawidłowe działanie aplikacji Portfel Google udostępnimy publicznie funkcję rejestracji lub logowania się w programie lojalnościowym. Dzięki temu każdy użytkownik zobaczy program i będzie mógł korzystać z tych funkcji.

W trosce o wygodę użytkowników będziemy przeprowadzać cykliczne kontrole implementacji rejestracji lub logowania się w celu zapewnienia ciągłości zgodności z wymaganiami dotyczącymi funkcji. W przypadku rozbieżności otrzymasz powiadomienie i funkcja rejestracji lub logowania się może zostać wyłączona do czasu rozwiązania problemu.

Najczęstsze pytania

  • Czy obrazy w moim programie lojalnościowym muszą spełniać jakieś wymagania?
    • Tak, Twoje obrazy powinny być przechowywane w lokalizacji HTTPS, ponieważ w przeciwnym razie nie będą widoczne w Portfelu Google.
  • Czy są dostępne narzędzia, które ułatwiają wdrażanie i debugowanie tokenów JWT?
    • Tak. Platformy, takie jak www.jwt.io, umożliwiają dekodowanie i debugowanie tokenów podczas programowania. Pozwala to zweryfikować przesyłaną zawartość. Przypominamy, że Google nie ma powiązania z innymi firmami i nie poleca żadnych takich firm zewnętrznych.
  • Jak zapewniamy prawidłową obsługę danych SharedDataType zakodowanych w formacie Base64?
    • Sprawdź, czy w całym procesie używasz kodowania UTF-8. Ciąg znaków JSON jest najpierw kodowany w standardzie UTF-8, a następnie android.util.Base64 z opcjami NO_WRAP i URL_SAFE. Jest to zgodne ze standardem RFC 3548 (sekcja 4).