配置文件可以做到以下事情:
- 修改通知显示效果
- 通知到来时唤醒屏幕
- 通知到来时触发通知被点击效果(仅触发效果,未实际点击通知)
配置名根据以下格式命名,共分为四个部分:
${package}_${appname}_${optional_function}-${exclusive_description}.json
不同部分的含义分别为:
- 必填:
${package},应用包名- 使用包名来区分配置针对的是什么应用
- 特殊包名:
0,基础配置,必需下载1,全局前置配置2,全局后置配置
- 必填:
${appname},应用名- 用于快速识别配置针对的是什么应用
- 可选:
${optional_function},功能名- 一个应用的配置可以由多份配置文件组成,使用不同的
${optional_function}来标识不同的能力
- 一个应用的配置可以由多份配置文件组成,使用不同的
- 可选:
${exclusive_description},互斥能力描述- 配置中存在相同
${optional_function}时,说明这一组配置文件为互斥配置,只有一个配置生效,此时应只保留其中一个配置文件 - 互斥示例(
${optional_function}=群消息整形):com.tencent.mobileqq_QQ_群消息整形-群名标题前添加发送者.jsoncom.tencent.mobileqq_QQ_群消息整形-群名移动至 subtext.json
- 配置中存在相同
- 设置配置目录,入口位于:推送服务 - 设置
- 下载所需配置放入该目录中
- (可选)若需自定义通知图标,可以在配置目录下创建
icon文件夹,将 AndroidNotifyIconAdapt 仓库的json文件放入其中
- QQ
- 基础配置
com.tencent.mobileqq_QQ.json - 消息样式
com.tencent.mobileqq_QQ_MessagingStyle.json
- 基础配置
配置共分为两类:
- 主配置,具有实际包名的配置项(
${package}_${appname}.json)
{
"version": "0.1.0",
"configs": {
"com.coolapk.market": [
"大图标显示成圆形"
]
}
}
- 子配置,提供引用项被主配置引用(
${package}_${appname}_${optional_function}-${exclusive_description}.json)
{
"version": "0.1.0",
"configs": {
"大图标显示成圆形": [
{
"newMetaInfo": {
"extra": {
"__mi_push_round_large_icon": ""
}
},
"stop": false
}
]
}
}
弹出通知时,通过会经过配置进行整行或忽略,执行流程如下:
- 执行
^配置(1_${appname}.json) - 执行应用配置,如
com.coolapk.market(com.coolapk.market_酷安.json) - 执行
$配置(2_${appname}.json)
在配置执行过程中,若遇到一个匹配成功的配置,其配置中未定义 "stop": false,则整个流程结束