Funkcja rejestracji i logowania się w programie lojalnościowym umożliwia użytkownikom wyszukanie programu lojalnościowego i dołączenie do niego lub zalogowanie się na koncie bezpośrednio z poziomu Portfela Google. Użytkownik jest przenoszony na stronę dostosowaną do komórek, na której kończy proces i może dodać oficjalną kartę do Portfela Google.
Wdrożenie tej funkcji jest warunkiem wstępnym przekształcenia „statycznych” kart dodanych przez użytkownika w „dynamiczne” karty połączone z interfejsem API. Z tego artykułu dowiesz się, jakie korzyści przynosi wdrożenie w programie lojalnościowym funkcji rejestracji, logowania się i ulepszania kart oraz jakie kroki należy wykonać, aby to zrobić.
Przegląd
Sprawdź, czy masz już skonfigurowany projekt z dostępem do Google Wallet API.
Aby wdrożyć tę funkcję, wykonaj te 4 czynności:
- Skonfiguruj klasę testową: skonfiguruj Portfel Google do testowania przepływów.
- Tworzenie stron: utwórz strony rejestracji lub logowania za pomocą Portfela Google
SharedDataType. - Wdróż odsyłanie: po wykonaniu działania wyślij kartę lojalnościową do Portfela Google.
- Poproś o weryfikację: prześlij prośbę o sprawdzenie i aktywację uaktualnienia.
Dlaczego warto wdrożyć rejestrację w programie lojalnościowym?
Aby zrozumieć wartość tej integracji, musisz odróżnić 2 typy kart w Portfelu Google: L1 (dodane przez użytkownika) i L2 (wydane przez partnera).
Różnica między L1 a L2
| Funkcja | L1 Pass (dodany przez użytkownika) | L2 Pass (wydany przez partnera) |
|---|---|---|
| Punkt początkowy | Tworzona, gdy użytkownik ręcznie skanuje kartę fizyczną lub wpisuje numer. | Utworzone i przesłane za pomocą interfejsu Wallet API po zarejestrowaniu się lub zalogowaniu użytkownika w Twoim procesie. |
| Sterowanie | Statyczny Partner nie ma wglądu w tę kartę ani nie sprawuje nad nią kontroli. | Dynamiczny Partner ma pełną kontrolę za pomocą interfejsu API. |
| Funkcjonalność | Statyczny obraz kodu kreskowego. Tego ustawienia nie można później zmienić. | Możesz aktualizować saldo punktów, status poziomu, wyświetlać spersonalizowane oferty i otrzymywać powiadomienia. |
Ścieżki uaktualnienia: „pomost” do Twojego programu
Tworząc proces rejestracji w programie lojalnościowym („miejsce docelowe”), umożliwiasz Google utworzenie „mostu”, który przekształca statyczne karty L1 w oficjalne karty L2. Istnieją 2 główne wyzwalacze uaktualnienia:
- Uaktualnienia z poziomu L1 do L2: jeśli użytkownik dodał wcześniej ręcznie Twoją kartę (L1), Portfel Google może wyświetlić mu prośbę o skorzystanie z nowego procesu logowania, aby uaktualnić kartę do oficjalnej, dynamicznej karty (L2).
- Ulepszenia kart zaimportowanych z Gmaila: jeśli Portfel Google wykryje kartę lojalnościową za pomocą Gmaila użytkownika, może wyświetlić mu prośbę o przejście do Twojego procesu i uwierzytelnienie, aby otrzymać oficjalną kartę poziomu 2.
Krok 1. Skonfiguruj klasę testową 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 ona widoczna dla testerów, sprawdź, czy testerzy mają dostęp do Twojej Konsoli Google Pay i Portfela Google. Szczegółowe informacje o udostępnianiu dostępu do Konsoli usług Google Pay i Portfela Google innym osobom znajdziesz w tym artykule.
Aby dokończyć weryfikację funkcjonalności implementacji podczas procesu programowania, skontaktuj się z nami za pomocą widżetu kontaktu z zespołem pomocy w Konsoli Google Pay i Portfela Google. W konsoli wybierz Google Wallet API w temacie i Logowanie/rejestracja w programie lojalnościowym w podtemacie.
Krok 2. Opracuj strony rejestracji i logowania
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 Portfel Google 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 rejestracji, na którym 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
HTTPSz ważnym certyfikatem do bezpiecznego przesyłania danych użytkownika, - czas dostępności na poziomie 99,9%.
Oprócz tych wymagań 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 podanych w
SharedDataTypemoż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 URL jest wysyłane żądanie POST. Dane użytkownika są przesyłane w parametrze SharedDataType, który znajduje się w żądaniu POST z wartością Content-Type równą application/x-www-form-urlencoded i kodowaniem 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órych wypełnienie prosisz użytkownika, obiekt JSON może zawierać poniższe pola.
| Pole | Rejestracja |
|---|---|
| ✓ | |
| firstName | ✓ |
| lastName | ✓ |
| addressLine [1–3] | ✓ |
| miasto | ✓ |
| stan | ✓ |
| zipcode | ✓ |
| kraj | ✓ |
| 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"
}
Krok 3. Wdrażanie natychmiastowego odsyłania 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ą interfejsu Google Wallet API 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.

Krok 4. Poproś o weryfikację i aktywację
Po zakończeniu prac programistycznych i przetestowaniu procesów rejestracji i logowania się musisz przesłać prośbę o sprawdzenie i pełną aktywację wdrożenia.
- Otwórz Konsolę usług Google Pay i Portfela Google.
- Skorzystaj z widżetu Kontakt z zespołem pomocy.
- Poinformuj zespół pomocy, że integracja rejestracji w programie lojalnościowym została zakończona.
Po pełnej weryfikacji wdrożenia w aplikacji Portfel Google funkcja rejestracji lub logowania się będzie publicznie dostępna w Twoim programie lojalnościowym.
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 Portfelu Google.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
SharedDataTypezakodowanych 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).