通知の種類
メッセージと通知を追加する
背景
ユーザーがパスを追加した後、パスに関連するメッセージを送信して、パスに関する通知を確実に受け取るようにすることができます。message_type
が TEXT_AND_NOTIFY
の Add Message API リクエストを使用すると、次のようになります。
- [メッセージ] アイテムが「パスの裏面」(詳細テンプレート)に追加され、パスが保存されているユーザーにプッシュ通知が送信されます。
- ユーザーが通知をタップすると、Google ウォレットが開き、パスの表面(カードビュー)が表示されます。画面上部には、[メッセージを表示] ボタンのあるコールアウトが表示されます。
- コールアウトをクリックすると、パスの裏面が表示され、未読の新しいメッセージがハイライト表示されます。
通知付きのメッセージをユーザーに送信する場合の考慮事項
- メッセージに関連するプッシュ通知を受け取るには、パスの通知を有効にする必要があります。
- メッセージには、ウェブサイトまたはアプリの URI を含めることができます。ハイパーリンクは、パスに関連するウェブサイトやアプリである必要があります。パスに関連しないリンクにユーザーを誘導することは、利用規約違反となります。
- 24 時間以内にプッシュ通知をトリガーするメッセージを送信できるのは最大 3 件です。ユーザーにスパムを送信していると判断された場合、Google はプッシュ通知配信の割り当てをスロットリングすることがあります。
- ロック画面に表示されるプッシュ通知は、Google ウォレットによって制御されます。
- UPDATE メソッドまたは PATCH メソッドを使用して、通常のクラスまたはオブジェクト エンドポイントを使用してメッセージデータを編集または削除できます。
統合の手順
AddMessage API を使用して追加された新しいカード発行会社のメッセージをユーザーに通知する場合は、AddMessageRequest を更新して、新しいテキストを含む Message の MessageType が TEXT ではなく 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 および 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
に設定すると、更新されたフィールドが現在サポートされている場合は通知がトリガーされます。
サポートされるフィールド
FlightObject
- boardingAndSeatingInfo.seatNumber
- boardingAndSeatingInfo.seatAssignment