触发推送通知

通知类型

添加消息并通知

背景

在用户添加卡券后,您可能需要向其发送与卡券相关的消息,并确保用户收到通知。如果使用 Add Message API 请求并将 message_type 设为 TEXT_AND_NOTIFY,则会出现以下情况:

  1. Message”项会添加到“卡券背面”(也称为详细信息模板),并向已保存卡券的用户发送推送通知。
  2. 用户点按通知后,会在卡券的前面打开 Google 钱包(也称为卡片视图),并会在屏幕顶部看到包含“查看消息”按钮的宣传信息。
  3. 点击宣传信息后,用户会返回到卡券背面,其中会突出显示新的未读消息。

向用户发送包含通知的消息时的一些注意事项

  • 用户必须为其卡券启用通知,才能接收与消息相关的推送通知。
  • 消息可能包含指向您的网站或应用的 URI。超链接必须是与卡券相关的网站或应用。将用户转到与卡券无关的链接违反了使用限制政策
  • 在 24 小时内,您最多可以发送 3 条可触发推送通知的消息。如果 Google 认为您在向用户发送垃圾内容,则可能会限制您的推送通知传送配额。
  • 用户在锁定屏幕上看到的推送通知由 Google 钱包控制。
  • 您可以使用 UPDATEPATCH 方法,通过常规类或对象端点修改或移除消息数据。

集成步骤

使用 AddMessage API 通知用户添加了新的发卡机构消息时,您需要更新 AddMessageRequest,使包含新文本的 MessageMessageTypeTEXT_AND_NOTIFY,而不是 TEXT

在卡券类中添加消息和通知的 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”)来设置对卡券所做的任何进一步更新。