パートナーによってトリガーされる通知
メッセージを追加して通知する
背景
ユーザーがパスを追加した後、パスに関連するメッセージを送信して、ユーザーに通知したい場合があります。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 を更新する必要があります。
Passes クラスでメッセージを追加して通知する 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" }, …
パスクラスのメッセージを追加して通知する Response の例
// 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" }, …
例外処理
4 回以上通知しようとすると、QuotaExceededException レスポンスが返されます。パスのさらなる更新は、統合手順で説明したように、「TEXT_AND_NOTIFY」ではなく「TEXT」を使用して設定できます。
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 }, ] }
期待される動作
ユーザーが指定された MerchantLocation のいずれかにいる場合、パスに関する固定通知が表示される必要があります。通知をクリックすると、Google ウォレットでパスが開きます。ユーザーはスワイプ ジェスチャーで通知を閉じることができます。ユーザーがその場所を離れると、通知は消えます。