Registrierung für das Nutzer-Treuepunkteprogramm

Mit der Funktion zum Registrieren und Anmelden für das Treuepunkteprogramm können Nutzer nach deinem Treuepunkteprogramm suchen und sich über Google Wallet bei ihrem Konto anmelden oder sich für das Programm registrieren. Nutzer werden auf die für Mobilgeräte optimierte Website weitergeleitet, um den Vorgang abzuschließen. Anschließend können sie ihre Karte ganz einfach zu Google Wallet hinzufügen.

Diese Anleitung bietet eine Übersicht über die Implementierungsschritte, die erforderlich sind, um das Treuepunkteprogramm für diese Funktion zu aktivieren.

Übersicht

Vergewissern Sie sich zuerst, dass Sie bereits ein Projekt eingerichtet und Zugriff auf die Google Wallet API haben.

Führen Sie die folgenden vier Schritte aus, um die Registrierungs- und Anmeldefunktion für das Treuepunkteprogramm einzubinden:

  1. Richten Sie in Google Wallet eine Testumgebung ein, um Ihre Registrierungs-/Anmeldeabläufe zu testen.
  2. Erstellen Sie Registrierungs-/Anmeldeseiten, auf denen die Google Wallet-Nutzerdaten genutzt werden.
  3. Binden Sie die Ausstellung der Kundenkarte in Google Wallet nach der Registrierung/Anmeldung ein.
  4. Fordern Sie die Überprüfung und Aktivierung an.

Testumgebung in Google Wallet einrichten

Bestimme die Registrierungs- und Anmelde-URLs, das Programmlogo und die gewünschten Nutzerfelder. Verwenden Sie dann die verschachtelten discoverableProgram-Felder in der loyaltyclass, um die entsprechenden Werte festzulegen.

Legen Sie die Werte im discoverableProgram fest, um einen Entwurf der Registrierung/Anmeldung für das Treuepunkteprogramm zu erstellen. Prüfen Sie, ob die Tester Zugriff auf die Google Pay and Wallet Console haben, damit der Entwurf für Tester sichtbar ist. Weitere Informationen dazu, wie Sie anderen Nutzern Zugriff auf die Google Pay and Wallet Console geben, finden Sie unter Weitere Informationen zur Seite „Nutzer“.

Um die Überprüfung der Funktionsweise der Implementierung während des Entwicklungsprozesses abzuschließen, kontaktieren Sie uns über das Support-Widget in der Google Pay and Wallet Console. Wähle in der Console als Thema Google Wallet API und dann als untergeordnetes Thema Registrierung/Anmeldung für Treuepunkte aus.

Registrierungs-/Anmeldeseiten erstellen, auf denen die Google Wallet-Nutzerdaten genutzt werden

Wenn sich ein Nutzer für Ihr Treuepunkteprogramm registriert oder anmeldet, wird er auf eine speziell dafür vorgesehene Seite Ihrer Website weitergeleitet, auf der er den Registrierungs- oder Anmeldevorgang abschließen kann. Wenn sich ein Nutzer registrieren möchte, fordert ihn Google Wallet auf, der Weitergabe seiner Daten an dich zuzustimmen.

Du musst eine der beiden Seiten oder beide Seiten bereitstellen, über die Nutzer diese Aktionen ausführen können.

  1. Eine Anmelde-URL, unter der sich ein Nutzer mit einem bestehenden Konto anmelden kann.
  2. Eine Registrierungs-URL, unter der ein neues Konto erstellt werden kann.

Ihre Anmelde- und Registrierungsseiten müssen die folgenden Anforderungen erfüllen:

  • Sie bieten eine für Mobilgeräte optimierte Nutzererfahrung.
  • Die Anzahl der Pflichtfelder während der Registrierung beschränkt sich auf ein Mindestmaß.
  • Der Nutzer kann sich auf einer einzigen Seite anmelden oder registrieren.
  • Verwenden Sie die HTTPS-Verschlüsselung mit einem gültigen Zertifikat, damit die Nutzerdaten sicher übertragen werden.
  • Sorgen Sie dafür, dass die Anmelde- und Registrierungsseiten zu mindestens 99,9 % verfügbar sind.

Zusätzlich zu den oben genannten Anforderungen empfehlen wir Ihnen, dass Nutzer sich für Ihr Treuepunkteprogramm anmelden können, ohne ein Formular ausfüllen oder die Nutzungsbedingungen der Seite akzeptieren zu müssen.

  • Durch Verwendung der zur Verfügung gestellten Nutzerdaten können Sie ein Konto erstellen und sofort eine Kundenkarte ausstellen.
  • Anschließend können Sie dem Nutzer per E-Mail ein einmaliges Passwort oder einen Link senden, über den er sein Passwort und optional seine Kontodetails konfigurieren kann.
  • Dadurch verringert sich die Wahrscheinlichkeit, dass Nutzer den Registrierungsvorgang abbrechen, denn jeder zusätzliche Schritt bietet eine weitere Gelegenheit für einen Abbruch.

Für die Präsentation der Anmelde- oder Registrierungsseite erstellt Google Wallet ein Android-WebView und es wird eine POST-Anfrage an die angegebene URL gesendet. Im Parameter userProfile werden Nutzerdaten zur Verfügung gestellt. Dieser Parameter ist in der POST-Anfrage mit dem Inhaltstyp application/x-www-form-urlencoded und UTF-8-Codierung enthalten. Der Wert des Parameters userProfile ist ein Base64-codiertes JSON-Objekt.

Je nach der vom Nutzer ausgewählten Aktion und den von Ihnen angegebenen Feldern, die abgefragt werden, kann das JSON-Objekt die folgenden Felder enthalten.

Feld Registrierung Anmeldung
E-Mail
Vorname  
Nachname  
Adresszeile [1–3]  
Ort  
Bundesland  
Postleitzahl  
Land  
Smartphone  

Unten finden Sie als Beispiel ein decodiertes JSON-Objekt, das in userProfile enthalten ist.

Infomaterial

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

Sofortige Ausstellung der Kundenkarte in Google Wallet implementieren

Nach der Authentifizierung (Anmeldung) oder nach der Kontoerstellung (Registrierung) sollte Ihre Seite die Kundenkarte des Nutzers sofort an Google Wallet zurückgeben.

Sie können die Kundenkarte an Google Wallet senden, indem Sie eine Weiterleitung zu einem Link mit folgender Struktur einrichten.

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

Die sichere Länge für eine URL sind 2.000 Zeichen. Ihre Links sollten dieses Limit nicht überschreiten. In JWTs codierte Objekte sollten klein sein und nur Daten enthalten, die für den Nutzer spezifisch sind. Die meisten Daten sollten in der Klasse des Objekts verbleiben, das vor dem JWT erstellt wird. Bei größeren Objekten, die das Limit überschreiten, sollte das Objekt zuerst in der Google Wallet API erstellt und im JWT nur die Objekt-ID gesendet werden.

Typischer Kommunikationsablauf

Der Kommunikationsablauf für einen Nutzer, der eine Registrierung oder Anmeldung durchführt, ist in der folgenden Abbildung dargestellt. Sie sind für alle Aktionen unter „Ihr Server“ verantwortlich.

Ablauf der Registrierung/Anmeldung

Überprüfung und Aktivierung anfordern

Nachdem Sie die Entwicklungsarbeit abgeschlossen und Ihre Registrierungs-/Anmeldeabläufe getestet haben, senden Sie über das Support-Widget der Google Pay and Wallet Console eine Anfrage.

Nach einer vollständigen Überprüfung deiner Implementierung, mit der die korrekte Funktionsweise in Verbindung mit der Google Wallet-App bestätigt wird, erfolgt die offizielle Einführung der Registrierungs-/Anmeldefunktion für dein Treuepunkteprogramm. Somit kann jeder Nutzer das Programm sehen und diese Funktion nutzen.

Ihre Registrierungs-/Anmeldeimplementierungen werden immer wieder überprüft, um die fortlaufende Einhaltung der Funktionsanforderungen sicherzustellen. So wird für eine optimale Nutzererfahrung gesorgt. Bei Abweichungen werden Sie entsprechend benachrichtigt. Die Anmelde-/Registrierungsfunktion wird möglicherweise deaktiviert, bis das Problem behoben ist.

Häufig gestellte Fragen

  • Gibt es Anforderungen an die in meinem Treuepunkteprogramm verwendeten Bilder?
    • Ja, Ihre Bilder sollten am Standort HTTPS gehostet werden, da sie ansonsten in Google Wallet nicht sichtbar sind.
  • Gibt es Tools für eine einfachere Implementierung und Fehlerbehebung von JWTs?
    • Ja, auf Plattformen wie www.jwt.io kannst du deine Tokens während des Entwicklungsprozesses decodieren und debuggen. So lassen sich die von dir eingereichten Inhalte überprüfen. Beachten Sie, dass Google nicht mit solchen Drittanbietern in Verbindung steht und diesbezüglich keine ausdrückliche Empfehlung abgibt.
  • Wie werden die Base64-codierten Nutzerprofildaten richtig verarbeitet?
    • Verwenden Sie während des gesamten Prozesses die UTF-8-Codierung. Der JSON-String wird zuerst mit UTF-8 und anschließend mit android.util.Base64 mit den Optionen NO_WRAP und URL_SAFE codiert. Dies entspricht Abschnitt 4 von RFC 3548.