プッシュ通知のトリガー

通知の種類

メッセージと通知を追加する

背景

ユーザーがパスを追加した後、パスに関連するメッセージを送信して、パスに関する通知を確実に受け取るようにすることもできます。message_typeTEXT_AND_NOTIFY に等しい Add Message API リクエストを使用すると、次のことが発生します。

  1. [メッセージ] アイテムが「パスの裏面」(詳細テンプレート)に追加され、パスが保存されているユーザーにプッシュ通知が送信されます。
  2. ユーザーが通知をタップすると、Google ウォレットが開き、パスの表面(カードビュー)が表示されます。画面上部には、[メッセージを表示] ボタンのあるコールアウトが表示されます。
  3. コールアウトをクリックすると、パスの裏面が表示され、未読の新しいメッセージがハイライト表示されます。

通知付きのメッセージをユーザーに送信する場合の考慮事項

  • メッセージに関連するプッシュ通知を受け取るには、パスの通知が有効になっている必要があります。
  • メッセージには、ウェブサイトまたはアプリの URI を含めることができます。ハイパーリンクは、パスに関連するウェブサイトまたはアプリである必要があります。パスに関連しないリンクにユーザーを誘導することは、利用規約違反となります。
  • 24 時間以内にプッシュ通知をトリガーするメッセージを送信できるのは最大 3 件です。ユーザーにスパムを送信していると判断された場合、Google はプッシュ通知配信の割り当てをスロットリングすることがあります。
  • ロック画面に表示されるプッシュ通知は、Google ウォレットによって制御されます。
  • UPDATE メソッドまたは PATCH メソッドを使用して、通常のクラスまたはオブジェクト エンドポイントを使用してメッセージデータを編集または削除できます。

統合の手順

AddMessage API を使用して追加された新しいカード発行会社のメッセージをユーザーに通知する場合は、AddMessageRequest を更新して、新しいテキストを含む MessageMessageTypeTEXT ではなく TEXT_AND_NOTIFY になるようにする必要があります。

パスクラスにメッセージを追加して通知する JSON リクエストの例

  …
  "id": ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Class message header",
        "body": "My Class message body with a <a href="https://wallet.google">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  …

Passes オブジェクトにメッセージを追加して通知する JSON リクエストの例

  …
  "id": OBJECT_ID",
  "classId": "ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Object message header",
        "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  …

パスクラスのメッセージの追加と通知のレスポンスの例

  // The updated resource
  …
    {
      "kind": "walletobjects#walletObjectMessage",
      "header": "My Object message header",
      "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
      "id": "message_id",
      "messageType": "textAndNotify"
    },
  …

例外処理

3 回を超えて通知を試みると、QuotaExceededException レスポンスが返されます。統合手順で説明したように、パスの追加の更新は「TEXT_AND_NOTIFY」ではなく「TEXT」を使用して設定できます。

フィールドを更新して通知する

背景

ユーザーがパスを追加した後、特定のフィールドを更新したときにプッシュ通知をトリガーすることもできます。通知はユーザーのロック画面に表示され、パスの更新があることを通知します。この通知は、UPDATE API メソッドと PATCH API メソッドを使用して下記で定義されている特定のフィールドのサブセットに対してのみトリガーされます。パスを更新する API 呼び出しが行われると、次の処理が行われます。

  1. プッシュ通知がトリガーされ、ユーザーのロック画面に表示されて、パスの更新を通知します。
  2. ユーザーが通知をタップすると、Google ウォレットが開き、パスの表面(カードビュー)が表示されます。画面上部には、[更新内容を確認] ボタンが表示されたコールアウトが表示されます。
  3. ボタンをクリックすると、更新によって変更されたフィールドが表示される画面が表示されます。

フィールド更新通知を送信する際の考慮事項

  • 更新に関するプッシュ通知を受け取るには、パスの通知を有効にする必要があります。
  • 24 時間以内にプッシュ通知をトリガーする更新を送信できるのは最大 3 回です。ユーザーにスパム行為を行っていると思われる場合、Google はプッシュ通知配信の割り当てをスロットリングすることがあります。
  • ロック画面に表示されるプッシュ通知は、Google ウォレットによって制御されます。
  • notifyPreference フィールドは、このリクエストでのみ存在する一時的なフィールドです。今後通知をトリガーするリクエストを行う場合は、クラスまたはオブジェクト リクエストでこのフィールドをリセットする必要があります。

統合の手順

これらの通知をトリガーするには、既存の UPDATE または PATCH 呼び出しを使用して notifyPreference を指定する必要があります。クラスまたはオブジェクトのフィールドを更新するときに、クラスまたはオブジェクトのリクエストに新しいフィールド notifyPreference を追加して通知をトリガーできます。

クラスの更新と通知を行う JSON リクエストの例

    …
    "dateTime":
        {
            "kind": "walletobjects#eventDateTime",
            "doorsOpen": "2024-09-23T19:20:50.00"
        },
    "multipleDevicesAndHoldersAllowedStatus": "multipleHolders",
    "notifyPreference": "notifyOnUpdate",
    …
  

notifyPreferencenotifyOnUpdate に設定すると、更新されたフィールドが現在サポートされている場合は通知がトリガーされます。

サポートされるフィールド

LoyaltyClass
  • rewardsTier
  • secondaryRewardsTier
  • programName
LoyaltyObject
  • loyaltyPoints.balance
  • secondaryLoyaltyPoints.balance