通知点击动作
概述
通知点击动作通过actionType
和action
两个键值进行控制,支持以下几种使用方式:
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)为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":"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
)作为替代。