Übersicht

Mit der Google Wallet Passes API können Partner einen Endpunkt für Aktivierung einer Fahrkarte. Wenn eine Aktivierung erforderlich ist, wird die Schaltfläche „Aktivieren“ angezeigt. für den Nutzer, der beim Antippen den angegebenen Endpunkt mit den unten beschriebenen Parametern aufruft. Der Endpunkt sollte sicherstellen, dass die Karte bzw. das Ticket gültige Einlösungsinformationen enthält (entweder Barcode oder Sichtprüfung) vor der Rückgabe). Dann wird die Karte bzw. das Ticket im Wallet des Nutzers aktualisiert. um die Informationen zur Einlösung anzuzeigen. Hinweis: Vor der Aktivierung werden alle werden keine Informationen angezeigt.

Aktivierungs-API

Der Aktivierungsendpunkt wird in der API mithilfe von activationOptions auf der Verkehrsklasse. Der Partner ist für die Aufrechterhaltung eines funktionierenden Aktivierungsendpunkts mit akzeptable Latenz.

  activationOptions: {
    activationUrl: string
  }
Feld Beschreibung
activationUrl

string

URL für den Partnerendpunkt, der für Aktivierungsanfragen aufgerufen wird. Die URL sollte auf HTTPS gehostet werden und die robots.txt-Datei für den Zugriff auf den URL-Pfad UserAgent:Google Valuables.

Der Aktivierungsstatus wird im Feld activationStatus für das Objekt gespeichert. Gültige Statuswerte sind NOT_ACTIVATED und ACTIVATED. Die Aktivierung Endpunkt sollte das Objekt mit dem Status ACTIVATED aktualisieren und sicherstellen, dass enthält gültige Einlösungsinformationen, z. B. einen Barcode oder visuelle Prüfparameter. Die Das Feld „deviceContext“ kann für das Anpinnen von Geräten verwendet werden.

  activationStatus: enum (ActivationStatus),
  deviceContext: {
    deviceToken: string
  },
  hasLinkedDevice: boolean
Feld Beschreibung
activationStatus

enum (ActivationStatus)

Aktivierungsstatus für dieses Verkehrsobjekt. Dieser Status ändert die Darstellung der das Ticket erstellen und es den Nutzern ermöglichen, Aktionen auszuführen. z. B. wird auf einem Desktop-Computer Ticketdetails, wenn NOT_ACTIVATED festgelegt ist.

Akzeptable Werte sind:

  • NOT_ACTIVATED
  • ACTIVATED

deviceContext

object (DeviceContext)

Ein Gerätekontext, mit dem das Objekt verknüpft werden soll. Wenn festgelegt, werden Informationen zur Einlösung nur an das angegebene Gerät zurückgeschickt werden.

hasLinkedDevice

boolean

Gibt an, ob dieses Objekt derzeit mit einem einzelnen Gerät verknüpft ist.

DeviceContext
Feld Beschreibung
deviceToken

string

Wenn festgelegt, werden Einlösungsinformationen erst nach der Aktivierung an das angegebene Gerät zurückgegeben. des Objekts. Sie kann nicht als stabile Kennung zur Verfolgung des Nutzergeräts verwendet werden. Es können sich bei verschiedenen Karten/Tickets für dasselbe Gerät oder sogar für verschiedene Karten/Tickets ändern. Aktivierungen desselben Geräts. Bei dieser Einstellung müssen Anrufer auch hasLinkedDevice für das zu aktivierende Objekt.

Beachten Sie, dass deviceToken von Aktivierungsparameter Feld deviceContext

Geräteverknüpfung

Die Geräteverknüpfung ist eine Funktion, mit der Nutzer das Ticket auf einem Gerät aktivieren können Informationen zur Einlösung von Tickets werden nur auf diesem Gerät angezeigt. Dies ist unabhängig von der multipleDevicesAndHoldersAllowedStatus von ONE_USER_ONE_DEVICE, was kann das Ticket nur auf einem einzigen Gerät angezeigt werden. Es empfiehlt sich, den Status ONE_USER_ALL_DEVICES mit Bildschirmfixierung.

Vor der Aktivierung kann der Nutzer das Ticket und die Schaltfläche zum Aktivieren auf jedem Gerät sehen, auf dem er gehören. Wenn das Gerät aktiviert und an ein Gerät angepinnt ist, werden auf dem Gerät Informationen zur Einlösung angezeigt. und auf anderen Geräten wird eine Schaltfläche zum Aktivieren angezeigt, mit der der Nutzer das Ticket auf ein anderes verschieben kann . Wenn die Funktion zum Verschieben des Tickets nicht erwünscht ist, die Aktivierung auf einem beliebigen Gerät jedoch, dann kann das Ticket während der Aktivierung auf ONE_USER_ONE_DEVICE aktualisiert werden, als mit der Gerätefixierung.

Um die Geräteverknüpfung zu implementieren, sollte das Objekt mit dem Feld deviceToken aktualisiert werden der mit den Aktivierungsparametern sowie hasLinkedDevice im selben API-Aufruf auf „true“ setzen. Bei Bedarf kann das Ticket Die Verknüpfung mit einem Gerät kann aufgehoben werden, indem hasLinkedDevice bei einem zukünftigen API-Aufruf auf "false" gesetzt wird.

Sequenzdiagramm für das Anpinnen von Geräten

Aktivierungsparameter

Die Anfrage an den Aktivierungsendpunkt enthält die folgenden Parameter.

JSON-Beispiel:

  {
    classId: “123.classId”,
    objectIds: [ “123.objectId” ],
    expTimeMillis: 1669671940735,
    eventType: “activate”,
    nonce: “1c6fccce-6f66-11ed-a1eb-0242ac120002”,
    deviceContext: “6fba937a-6f6e-11ed-a1eb-0242ac120002”
  }

Kennung Beschreibung
classId

Voll qualifizierte Klassen-ID. Verwendet das folgende Format:

<issuer_id.class_id>
objectIds

Voll qualifiziertes Array von Objekt-IDs im folgenden Format:

<issuer_id.object_id>
expTimeMillis Ablaufzeit in Millisekunden seit EPOCH. Nach der Ablaufzeit muss die Nachricht als ungültig eingestuft werden.
eventType Immer "activate".
nonce Nonce zur Nachverfolgung von doppelten Übermittlungen.
deviceContext

Eine eindeutige ID, die von Google generiert wird und das Gerät darstellt, auf dem der Nutzer eine Aktion durchführt. Diese ID sollte bei Aktualisierungen verwendet werden, durch die ein Objekt mit einem Gerät verknüpft wird.

Diese ID ist für zukünftige Anfragen von einem bestimmten Gerät möglicherweise nicht konstant.