概要

パートナーは、Google Wallet Passes API を使用して、プロジェクトのエンドポイントを指定できます。 乗車券のアクティベーションです有効化が必要な場合は、[有効にする] ボタンが表示されます ユーザーがタップすると、以下のパラメータを使って指定されたエンドポイントが呼び出されます。 エンドポイントは、パスに有効なクーポン利用情報(バーコードまたは 目視検査など)に基づいて、ユーザーのウォレットにあるパスが更新されます。 クーポン利用に関する情報を表示するすべての既存のクーポンは、有効になる前に 情報は表示されません。

API の有効化

アクティベーション エンドポイントは、API で activationOptions を使用して指定します。 transit class。 パートナー様は、Google Cloud で稼働するアクティベーション エンドポイントを 妥当なレイテンシです。

  activationOptions: {
    activationUrl: string
  }
フィールド 説明
activationUrl

string

有効化のリクエストで呼び出されるパートナー エンドポイントの URL。URL は を HTTPS でホストし、robots.txt で URL パスに UserAgent:Google-Valuables を指定します。

有効化の状態は、activationStatus フィールドを使用してオブジェクトに保存されます。 有効なステータスには NOT_ACTIVATEDACTIVATED があります。活性化 エンドポイントが ACTIVATED ステータスでオブジェクトを更新するとともに、 オブジェクトに有効なクーポン情報(バーコードや外観検査のパラメータなど)があることを確認します。「 deviceContext フィールドはデバイスの固定に使用できます。

  activationStatus: enum (ActivationStatus),
  deviceContext: {
    deviceToken: string
  },
  hasLinkedDevice: boolean
フィールド 説明
activationStatus

enum (ActivationStatus)

この交通機関オブジェクトの有効化ステータス。このステータスにより、コンテンツの表現が ユーザーがアクションを実行できるようにする例:[有効化]ボタンは NOT_ACTIVATED に設定されている場合はチケットの詳細。

有効な値は次のとおりです。

  • NOT_ACTIVATED
  • ACTIVATED

deviceContext

object (DeviceContext)

オブジェクトを関連付けるデバイス コンテキスト。設定すると、クーポンの利用に関する情報に 特定のデバイスにのみ返却されます。

hasLinkedDevice

boolean

このオブジェクトが現在 1 つのデバイスにリンクされているかどうか。

DeviceContext
フィールド 説明
deviceToken

string

設定すると、クーポンに関する情報は有効化時にのみ、対象のデバイスに返されます 渡されます。ユーザーのデバイスをトレースするための不変の識別子として使用することはできません。これは、 パスが異なる場合や、パスが異なる場合は 同じデバイスのアクティベーションが必要ですこれを設定する場合、呼び出し元は アクティブにするオブジェクトに対する hasLinkedDevice

deviceToken を受信していることに注目してください。 アクティベーション パラメータ deviceContext フィールド

デバイスの固定

デバイスの固定は、ユーザーが 1 台のデバイスでチケットを有効にして、 そのデバイスにのみ表示されます。このモジュールは、 multipleDevicesAndHoldersAllowedStatus/ONE_USER_ONE_DEVICE、 チケットを 1 つのデバイスにのみ表示できますこのステータスの使用は デバイスが固定された ONE_USER_ALL_DEVICES

有効化する前は、チケットを確認して、どのデバイスでも有効化できます。 あります。有効にしてデバイスに固定すると、固定したデバイスにクーポンの利用情報が表示されます 他のデバイスには、ユーザーが別のチケットに移動できる有効化ボタンが表示されます。 ダウンロードしますチケットの移動は望ましくない機能であるが、任意のデバイスで有効にする場合は、 有効化時にチケットを ONE_USER_ONE_DEVICE に更新できます。 デバイス固定の使用よりも効率的です

デバイスの固定を実装するには、deviceToken フィールドでオブジェクトを更新する必要があります。 アクティベーション パラメータとともに受け取ります。 同じ API 呼び出しで hasLinkedDevice を true に設定します。必要に応じて、チケットで 今後の API 呼び出しで hasLinkedDevice を false に設定してデバイスからリンクを解除する。

デバイス固定のシーケンス図

有効化パラメータ

アクティベーション エンドポイントへのリクエストには、次のパラメータが含まれます。

JSON の例:

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

識別子 説明
classId

完全修飾クラス ID。次の形式を使用します。

<issuer_id.class_id>
objectIds

オブジェクト ID の完全修飾配列。次の形式を使用します。

<issuer_id.object_id>
expTimeMillis エポックからのミリ秒単位の有効期限です。有効期限が切れた後は、 メッセージは無効とみなす必要があります。
eventType 常に "activate" です。
nonce 重複配信を追跡するノンス。
deviceContext

ユーザーが操作しているデバイスを表す、Google が生成した一意の ID。 この ID は、オブジェクトをデバイスに関連付ける更新を行うときに使用します。

この ID は、特定のデバイスからの将来のリクエストでは不変である可能性があります。