通知の種類
メッセージと通知を追加する
背景
ユーザーがパスを追加した後、パスに関連するメッセージを送信して、パスに関する通知を確実に受け取るようにすることができます。message_type
が TEXT_AND_NOTIFY
の Add Message API リクエストを使用すると、次のようになります。
- [メッセージ] アイテムが「パスの裏面」(詳細テンプレート)に追加され、パスが保存されているユーザーにプッシュ通知が送信されます。
- ユーザーが通知をタップすると、Google ウォレットが開き、パスの表面(カードビュー)が表示されます。画面上部には、[メッセージを表示] ボタンのあるコールアウトが表示されます。
- コールアウトをクリックすると、パスの裏面が表示され、未読の新しいメッセージがハイライト表示されます。
通知付きのメッセージをユーザーに送信する場合の考慮事項
- メッセージに関連するプッシュ通知を受け取るには、パスの通知を有効にする必要があります。
- メッセージには、ウェブサイトまたはアプリの URI を含めることができます。ハイパーリンクは、パスに関連するウェブサイトまたはアプリである必要があります。パスに関連しないリンクにユーザーを誘導することは、利用規約違反となります。
- 24 時間以内にプッシュ通知をトリガーするメッセージを送信できるのは最大 3 件です。ユーザーに迷惑メールを送信しているとみなされた場合、Google はプッシュ通知の配信割り当てを調整することがあります。
- ロック画面に表示されるプッシュ通知は、Google ウォレットによって制御されます。
- UPDATE メソッドまたは PATCH メソッドを使用して、通常のクラスまたはオブジェクト エンドポイントを使用してメッセージデータを編集または削除できます。
統合の手順
AddMessage API を使用して追加された新しい発行者メッセージをユーザーに通知する場合は、新しいテキストを含む Message の MessageType が TEXT ではなく TEXT_AND_NOTIFY になるように AddMessageRequest を更新する必要があります。
パスクラスにメッセージを追加して通知する 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" }, …
メッセージを追加してパス オブジェクトで通知する 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 呼び出しが行われると、以下の処理が行われます。
- プッシュ通知がトリガーされ、ユーザーのロック画面に表示されて、パスの更新を通知します。
- ユーザーが通知をタップすると、Google ウォレットが開き、パスの表面(カードビュー)が表示されます。画面上部には、[更新内容を確認] ボタンが表示されたコールアウトが表示されます。
- ボタンをクリックすると、更新によって変更されたフィールドが表示される画面が表示されます。
フィールド更新通知を送信する際の考慮事項
- 更新に関するプッシュ通知を受け取るには、パスの通知を有効にする必要があります。
- 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", …
更新されたフィールドが現在サポートされている場合は、notifyPreference
を notifyOnUpdate
に設定すると通知がトリガーされます。
サポートされるフィールド
EventTicketClass
- eventName
- eventVenue.name
- eventvenue.address
- eventDateTime.doorsOpen
- eventDateTime.start
EventTicketObject
- eventSeat.seat
- eventSeat.row
- eventSeat.section
- eventSeat.gate