跳转至

通知点击动作

概述

通知点击动作通过actionTypeaction两个键值进行控制,支持以下几种使用方式:

actionType 0 1 2 3 4 5
action 打开 NotifyMe URI 启动 包名启动 Activity 启动 写入剪贴板 复制验证码

打开 NotifyMe

  • actionType(int)为0时(action无需设置),点击通知将打开 NotifyMe。
  • 不设置actionType或设置为不属于0~3的任意值,也会打开 Notifyme。

示例

{
    "data": {
        "uuid": "CWYMVYWQHoPGXEkh9yP5Nd",
        "ttl": 86400,
        "priority": "high",
        "data": {
            ...
            "actionType":"0",
            ...
        }
    }
}

URI 启动

  • actionType(int)为1action(string)设置为具体 URI 时,点击通知将打开此 URI,若未设置action,将以通知内容(即body)的值作为替代。以 URI 为https://www.baidu.com为例,点击通知将打开网址 https://www.baidu.com

示例

{
  "data": {
      "uuid": "CWYMVYWQHoPGXEkh9yP5Nd",
      "ttl": 86400,
      "priority": "high",
      "data": {
          ...
          "actionType":"1",
          "action":"https://www.baidu.com",
          ...
      }
  }
}

包名启动

  • actionType(int)为2action(string)设置为应用包名时,点击通知将根据包名打开应用。以包名com.tencent.mobileqq为例,点击通知将打开 QQ。

示例

{
    "data": {
        "uuid": "CWYMVYWQHoPGXEkh9yP5Nd",
        "ttl": 86400,
        "priority": "high",
        "data": {
            ...
            "actionType":"2",
            "action":"com.tencent.mobileqq",
            ...
        }
    }
}

Activity 启动

  • actionType(int)为3时,action(obj)可设置为如下 JSON 数据格式,点击通知将启动该 Acitivity 并向其传递数据。
{
    "packageName": "com.google.android.gms",
    "className": "com.google.android.gms.gcm.GcmDiagnostics",
    "extras": {
        "key1":"value1",
        "key2":"value2"
    }
}

JSON 数据说明

  • packageName:应用包名,例如com.google.android.gms
  • className:应用Activity,例如com.google.android.gms.gcm.GcmDiagnostics
  • extras:向Activity传递的键值对,可以设置多组。无数据传递需求时设置为空:"extras": {}

示例

  • 以包名为com.google.android.gms,Activity为com.google.android.gms.gcm.GcmDiagnostics为例,点击通知将打开Google Play服务的FCM Diagnostics。
{
    "data": {
        "uuid": "CWYMVYWQHoPGXEkh9yP5Nd",
        "ttl": 86400,
        "priority": "high",
        "data": {
            ...
            "actionType":"2",
            "action":{
                "packageName": "com.google.android.gms",
                "className": "com.google.android.gms.gcm.GcmDiagnostics",
                "extras": {}
            },
            ...
        }
    }
}

写入剪贴板

actionType(int)为4时,设备收到通知时会自动将action(string)的值写入剪贴板。若未设置action,则以通知内容(即body)作为替代。

示例

{
    "data": {
        "uuid": "CWYMVYWQHoPGXEkh9yP5Nd",
        "ttl": 86400,
        "priority": "high",
        "data": {
            ...
            "actionType":"4",
            "action":"test text",
            ...
        }
    }
}

复制验证码

actionType(int)为5时,设备收到通知时会自动从action(string)中提取验证码,并写入剪贴板。若未设置action,则以通知内容(即body)作为替代。

示例

{
    "data": {
        "uuid": "CWYMVYWQHoPGXEkh9yP5Nd",
        "ttl": 86400,
        "priority": "high",
        "data": {
            ...
            "actionType":"4",
            "action":"【XX】验证码:521847,您正在登录XXXX(若非本人操作,请删除本短信)",
            ...
        }
    }
}