通知点击动作
概述
通知点击动作通过actionType和action两个键值进行控制,支持以下几种使用方式:
| actionType | 0 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|---|
| action | 打开 NotifyMe | URI 启动 | 包名启动 | Activity 启动 | 写入剪贴板 | 复制验证码 |
打开 NotifyMe
- 当
actionType(int)为0时(action(string)可设置为0、1、2),点击通知将打开 NotifyMe。 action默认为0,此时点击通知会打开 APP 并滚动至对应消息,1表示同时跳转至对应分组,2表示跳转至对应二级分组。- 不设置
actionType或设置为不属于0~3的任意值,也会打开 NotifyMe。
示例
{
"data": {
"uuid": "CWYMVYWQHoPGXEkh9yP5Nd",
"ttl": 86400,
"priority": "high",
"data": {
...
"actionType":0,
"action":"0"
...
}
}
}
URI 启动
- 当
actionType(int)为1,action(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)为2,action(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":3,
"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)作为替代。