Funkcja rejestracji i logowania się w programie lojalnościowym pozwala użytkownikom wyszukanie programu lojalnościowego i dołączenie do niego lub zalogowanie się na swoim koncie za pomocą Google Pay. Użytkownik jest przenoszony na stronę dostosowaną do komórek, na której kończy proces i może łatwo zapisać kartę w Google Pay.
Z tego artykułu dowiesz się, jak wdrożyć tę funkcję w Twoim programie lojalnościowym.
Omówienie
Sprawdź, czy masz już skonfigurowany projekt z dostępem do Google Pay API for Passes. Jeśli nie, wykonaj instrukcje opisane w artykule Google Pay API for Passes.
Aby wdrożyć funkcję rejestracji i logowania się w swoim programie lojalnościowym, wykonaj te cztery czynności:
- Skonfiguruj środowisko testowe w Google Pay do testowania przepływów rejestracji i logowania.
- Utwórz stronę rejestracji lub logowania, która korzysta z danych użytkownika Google Pay.
- Wdróż odsyłanie karty lojalnościowej do Google Pay po rejestracji lub zalogowaniu się użytkownika.
- Poproś o weryfikację i aktywację.
Skonfiguruj środowisko testowe w Google Pay
Ustaw adresy URL rejestracji i logowania, logo programu oraz odpowiednie pola użytkownika. Następnie użyj zagnieżdżonych pól discoverableProgram
w loyaltyclass, aby ustawić odpowiednie wartości.
Gdy ustawisz wartości w discoverableProgram
, utworzona zostanie wersja robocza programu lojalnościowego z obsługą rejestracji lub logowania się. Aby mieć pewność, że jest ona widoczna dla testerów, sprawdź, czy testerzy mają dostęp do Twojego Google Pay API for Passes Merchant Center, i wypełnij formularz rejestracji.
Pozwoli Ci to sprawdzić działanie wdrożenia na etapie programowania.
Tworzenie strony rejestracji lub logowania korzystającej z danych użytkownika Google Pay
Gdy użytkownik loguje się lub rejestruje w Twoim programie lojalnościowym, jest przenoszony na specjalną stronę w Twojej witrynie, na której może dokończyć proces rejestracji lub logowania się. W przypadku rejestracji Google Pay poprosi użytkownika o wyrażenie zgody na udostępnienie Ci swoich danych.
Musisz podać jedną lub obie strony, na których użytkownicy będą mogli wykonać te czynności.
- Adres URL strony logowania, na której użytkownik może zalogować się na istniejące konto.
- Adres URL strony rejestracji, na której użytkownik może utworzyć nowe konto.
Strony logowania i rejestracji muszą spełniać następujące wymagania:
- interfejs dostosowany do komórek,
- jak najmniejsza liczba pól wymaganych podczas rejestracji,
- możliwość zalogowania się lub rejestracji na jednej stronie,
- szyfrowanie
HTTPS
z ważnym certyfikatem do bezpiecznego przesyłania danych użytkownika, - czas dostępności na poziomie 99,9%.
Ponadto zalecamy, aby umożliwić użytkownikom rejestrację w programie lojalnościowym bez wypełniania formularzy, najlepiej poprzez umieszczoną na stronie opcję zgody na warunki usługi.
- Za pomocą danych użytkownika 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, Google Pay tworzy komponent Android WebView, a na podany URL jest wysyłane żądanie POST
. Dane użytkownika są przesyłane w parametrze userProfile
, który znajduje się w żądaniu POST
używającym typu zawartości application/x-www-form-urlencoded i kodowania UTF-8
. Wartością parametru userProfile
jest obiekt JSON zakodowany w standardzie Base64.
Zależnie od działania wybranego przez użytkownika i pól, o których wypełnienie prosisz użytkownika, obiekt JSON może zawierać poniższe pola.
Pole | Rejestracja | Logowanie |
---|---|---|
✓ | ✓ | |
firstName | ✓ | |
lastName | ✓ | |
addressLine [1–3] | ✓ | |
city | ✓ | |
state | ✓ | |
zipcode | ✓ | |
country | ✓ | |
phone | ✓ |
Poniżej znajdziesz odkodowany przykładowy obiekt JSON zawarty w userProfile
.
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 Google Pay
Po uwierzytelnieniu (zalogowaniu się) użytkownika lub utworzeniu przez niego konta (rejestracji) strona powinna od razu odsyłać kartę lojalnościową do Google Pay.
Aby odesłać kartę lojalnościową do Google Pay, przekieruj użytkownika na adres zgodny z poniższą strukturą. Jeśli nie wiesz, jak utworzyć token sieciowy JSON (JWT) dla LoyaltyObject
reprezentującego kartę lojalnościową użytkownika, odpowiednie informacje znajdziesz w instrukcji tworzenia tokena JWT reprezentującego obiekt.
https://pay.google.com/gp/v/save/{jwt_generated}
Bezpieczna długość adresu URL to 2000 znaków. Linki nie powinny jej przekraczać. 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 Pay API for Passes i wysłać w tokenie JWT tylko identyfikator obiektu.
Typowy przepływ komunikacji
Poniżej przedstawiamy przepływ komunikacji podczas rejestracji lub logowania się. Wdrożenie wszystkich działań serwera jest Twoim zadaniem.
![Przepływy rejestracji i logowania](https://developers-dot-devsite-v2-prod.appspot.com/static/pay/passes/images/EnrollmentSigninFlows.png?authuser=19&hl=pl)
Prośba o weryfikację i aktywację
Po zakończeniu prac programistycznych i przetestowaniu procesów rejestracji i logowania się prześlij prośbę za pomocą formularza rejestracyjnego.
Po pełnej weryfikacji wdrożenia w aplikacji Google Pay funkcja rejestracji lub logowania się będzie publicznie dostępna w Twoim programie lojalnościowym. Dzięki temu każdy użytkownik zobaczy program i będzie mógł użyć tych funkcji.
Aby zapewnić optymalną wygodę użytkowników, wdrożenie funkcji rejestracji lub logowania się będzie cyklicznie sprawdzane pod kątem zgodności z wymaganiami. W razie 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. Obrazy powinny być hostowane w lokalizacji z
HTTPS
. W przeciwnym razie nie będą widoczne w Google Pay.
- Tak. Obrazy powinny być hostowane w lokalizacji z
- Czy są dostępne narzędzia, które ułatwiają wdrażanie i debugowanie tokenów JWT?
- Tak. Istnieją platformy, takie jak www.jwt.io, które umożliwiają dekodowanie i debugowanie tokenów podczas programowania. Pozwala to zweryfikować przesyłaną zawartość. Google nie ma powiązania z innymi firmami i nie zaleca żadnego konkretnego zewnętrznego rozwiązania.
- Jak zapewniamy poprawną obsługę danych userProfile zakodowanych w standardzie 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).
Przykładowy przepływ rejestracji
![Przepływ rejestracji w programie lojalnościowym](https://developers-dot-devsite-v2-prod.appspot.com/static/pay/passes/images/loyalty-enrollment-flow.jpg?authuser=19&hl=pl)