パートナー様がトリガーする通知
メッセージを追加して通知する
背景
ユーザーがパスを追加した後、パスに関連するメッセージを送信して、ユーザーに通知したい場合があります。 Add Message API
リクエストを message_type が
TEXT_AND_NOTIFY に等しい状態で使用すると、次のようになります。
- "[メッセージ]" アイテムが "[パスの裏面]"(別名 [詳細] テンプレート)に追加され、パスが保存されているユーザーにプッシュ通知が送信されます。
- ユーザーが通知をタップすると、Google ウォレットがパスの表面(カード表示)で開き、画面上部に [メッセージを表示] ボタンが表示されます。
- このボタンをクリックすると、パスの裏面に移動し、未読の新しいメッセージがハイライト表示されます。
通知付きのメッセージをユーザーに送信する際の考慮事項
- メッセージに関連するプッシュ通知を受け取るには、パスの通知を有効にする必要があります。
- メッセージには、ウェブサイトやアプリの URI を含めることができます。ハイパーリンクは、パスに関連するウェブサイトまたはアプリである必要があります。パスに関連しないリンクにユーザーを誘導することは、 利用規定 に違反します。
- 24 時間以内にプッシュ通知をトリガーするメッセージを送信できるのは最大 3 件です。ユーザーにスパムを送信していると判断された場合、プッシュ通知の配信割り当てが制限されることがあります。
- ユーザーのロック画面に表示されるプッシュ通知は、Google ウォレットによって制御されます。
- UPDATE メソッドまたは PATCH メソッドを使用して、通常のクラスまたはオブジェクトのエンドポイントを使用してメッセージ データを編集または削除できます。
統合の手順
パスクラスでメッセージを追加して通知する 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 ウォレットがパスの表面(カード表示)で開き、画面上部に [更新を確認] ボタンが表示されます。
- ボタンをクリックすると、更新によって変更された フィールドを確認できる画面が表示されます。
フィールドの更新通知を送信する際の考慮事項
- 更新に関連するプッシュ通知 を受け取るには、パスの通知を有効にする必要があります。
- ユーザーにスパムを送信しないように、イベントまたはフライトの開始時刻が 3 時間以内の場合にのみ通知がトリガーされます。
- 24 時間以内にプッシュ通知をトリガーする更新を送信できるのは最大 3 件です。 ユーザーに スパムを送信していると判断された場合、プッシュ通知の配信割り当てが制限されることがあります。
- ユーザーのロック画面に表示されるプッシュ通知は、 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
Nearby からの通知
この機能では、通知を有効にしていて、Google ウォレット アプリに正確な位置情報への常時アクセスを許可しているユーザーに、現在地に関連するパスを保存していることを知らせるプッシュ通知が表示されます。統合の手順
使用方法
この機能を使用するには、クラスとオブジェクトに場所を追加する必要があります。クラスごとに最大 10 個、オブジェクトごとに 10 個の場所を追加できます。クラスまたはオブジェクトの定義で MerchantLocations を使用します。これらの場所は、insert、patch、update メソッドを使用するときに追加できます。
クラスまたはオブジェクトに場所を追加すると、ユーザーが近くにいるときに Google から通知が送信されます。通知が送信されるまでにユーザーがどの程度近くにいる必要があるか、どのくらいの時間その場所に滞在する必要があるかは、Google が決定します。通知のテキストも Google が管理します。
MerchantLocations が設定された LoyaltyClass の例:{
"kind": "walletobjects#loyaltyClass",
"programLogo": {
"kind": "walletobjects#image",
"sourceUri": {
"uri":
...
}
},
"localizedProgramName": {
"kind": "walletobjects#localizedString",
"defaultValue": {
"kind": "walletobjects#translatedString",
"language": "en",
"value": "Program Name",
}
},
"id": Id1234,
"version": "1",
"allowMultipleUsersPerObject": true,
"reviewStatus": "underReview",
"enableSmartTap": false,
"localizedIssuerName": {
"kind": "walletobjects#localizedString",
"defaultValue": {
"kind": "walletobjects#translatedString",
"language": "en",
"value": "Issuer Name"
}
},
"multipleDevicesAndHoldersAllowedStatus": "multipleHolders",
"merchantLocations": [
{
"latitude": 37.79020867928078,
"longitude": -122.39004
},
{
"latitude": 37.42587,
"longitude": -122.08620
},
]
}期待される動作
ユーザーが指定された MerchantLocations のいずれかにいる場合、パスに関する固定通知が届きます。 通知をクリックすると、Google ウォレットでパスが開きます。 ユーザーはスワイプ操作で通知を閉じることができます。ユーザーがその場所から離れると、通知は消えます。
Google ウォレットによってトリガーされる自動通知
予定の通知
Google ウォレットから、イベントの 3 時間前にユーザーに通知が送信されます。イベント時間は
class.dateTime.start.
で定義されます。
この通知を受け取るには、通知を有効にする必要があります。これを確認するには、 [設定] > [通知] の順に移動し、[パスに関する最新情報] が オンになっているかを確認します。
通知は通知エリアに表示されます。ロック画面の通知を有効にした場合は、ロック画面にも表示されます。 。
通知は以下のような形式になっています。この形式は変更できません。
class.eventName
通知をタップしてデバイスのロックを解除すると、Google ウォレット アプリにパスが表示されます。
複数のパスがある場合は、一番早く利用できるパスだけ表示されます。また、複数のイベント チケットをグループ化して追加している場合、グループ内の 1 つのパスのみが表示されます。このパスをタップして、左右にスワイプすると、グループ内の他のパスを表示できます。
通知は固定され、ユーザーが開いても自動的には閉じません。class.dateTime.start の 60
分後に自動的に閉じます。