通知类型
添加消息和通知
背景
用户添加卡券后,您可能需要向其发送与卡券相关的消息,并确保他们收到相关通知。使用 Add Message API 请求且 message_type
等于 TEXT_AND_NOTIFY
时,会发生以下情况:
- 系统会将“消息”项添加到“卡券背面”(也称为详细信息模板),并向保存了卡券的用户发送推送通知。
- 用户点按通知后,Google 钱包会打开到卡券正面(也称为“卡片视图”),并且用户会在屏幕顶部看到带有“查看消息”按钮的宣传信息。
- 点击宣传信息后,用户会进入卡券背面,其中会突出显示新的消息(未读)。
向用户发送包含通知的消息时的一些注意事项
- 用户必须为其卡券启用通知,才能接收与消息相关的推送通知。
- 消息可能包含指向您的网站或应用的 URI。超链接必须是与卡券相关的网站或应用。将用户引导至与卡券无关的链接违反了可接受的使用政策。
- 在 24 小时内,您最多可以发送 3 条可触发推送通知的消息。如果 Google 认为您在向用户发送垃圾内容,则可能会限制您的推送通知传送配额。
- 用户在锁定屏幕上看到的推送通知由 Google 钱包控制。
- 您可以使用 UPDATE 或 PATCH 方法,通过常规类或对象端点修改或移除消息数据。
集成步骤
如果您想通知用户有关使用 AddMessage API 添加的新颁发者消息,则需要更新 AddMessageRequest,以使包含新文本的 Message 的 MessageType 类型为 TEXT_AND_NOTIFY,而不是 TEXT。
在 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" }, …
针对卡券类添加消息和通知的响应示例
// 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”而非“TEXT_AND_NOTIFY”设置卡券的任何其他更新。