踩坑3天,解决部分推送问题,供各位坑友参考。
本人亲测华为手机已没有问题,可以实现离线推送,其他手册品牌如有坑友测试通过的,最好能在评论区一起分享。
环境说明:
1、服务端环境:node.js
2、个推RestAPI V2 协议
3、测试手机:华为 HONOR Play4T Pro (AQM-AL10)
注:以下复现步骤均以上述环境为主,如果是其他服务环境请参考个推手册
新手请先阅读: UniPush使用指南(仔细阅读)
其他常见问题:UniPush常见问题 (仔细阅读)
步骤一
进入 Dcloud开发者中心,在厂商推送设置中设置相应厂商的各种参数。
特别提醒:在华为开发者平台中,必须要设置应用的SHA256证书指纹,否则会导致无法离线推送。
步骤二:个推推送参数
{
"request_id":"xxxxxx", //请求唯一标识号,10-32位之间;如果request_id重复,会导致消息丢失
"settings":{
"ttl":-1,//消息离线时间设置,单位毫秒,-1表示不设离线,-1 ~ 3 * 24 * 3600 * 1000(3天)之间
"strategy":{
"default":1 //1: 表示该消息在用户在线时推送个推通道,用户离线时推送厂商通道;
}
},
"audience":{
"cid":[
"推送的用户CID"
]
},
"push_message":{
"notification":{
"title":"标题内容", //通知消息标题,长度 ≤ 50
"body":"消息内容", //通知消息内容,长度 ≤ 256
//"logo":"logo.png",//通知的图标名称,包含后缀名(需要在客户端开发时嵌入),如“push.png”,长度 ≤ 64
//"logo_url":"http://xxxx/a.png",//通知图标URL地址,长度 ≤ 256
"click_type":"intent",//点击后启动应用
"channel_level":4,
"intent":"intent:#Intent;launchFlags=0x04000000;action=android.intent.action.oppopush;component=你的应用包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=标题内容;S.content=消息内容;S.payload=test;end"
}
},
"push_channel":{ //离线推送的成败都在这段配置里面,根据自己的实际情况进行配置
"android":{
"ups":{
"notification":{
"title":"标题内容", //通知消息标题,长度 ≤ 50
"body":"消息内容", //通知消息内容,长度 ≤ 256
//"logo":"logo.png",//通知的图标名称,包含后缀名(需要在客户端开发时嵌入),如“push.png”,长度 ≤ 64
//"logo_url":"http://xxxx/a.png",//通知图标URL地址,长度 ≤ 256
"click_type":"intent",//点击后启动应用
"channel_level":4,
"intent":"intent:#Intent;launchFlags=0x04000000;action=android.intent.action.oppopush;component=你的应用包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=标题内容;S.content=消息内容;S.payload=test;end"
},
"options":{
//各厂商的特殊参数,选填
"HW":{
"/message/android/urgency":"HIGH",
"/message/android/category":"PLAY_VOICE"
}
}
}
},
"ios":{
"type":"notify",
"payload":"自定义消息",
"aps":{
"alert":{
"title":"请填写ios标题",
"body":"请填写ios内容"
},
"content-available":0
},
"auto_badge":"+1"
}
}
}
以上参数中需要特别注意的是 push_channel 字段中的内容,是走离线推送的通道设置。不可省略。其中 click_type 必须为 intent,intent 中的内容保持上述我的模板,替换你自己的应用包名即可。S.title=标题内容;S.content=消息内容;S.payload=test 可以替换成你自己的内容,与 title ,body 保持一致。
其他问题:
1、离线推送后手机不亮屏、不提醒声音及震动的解决方法。
华为手机可能会把APP的推送划为营销短信,因此被静默,需要手动在手机的 “设置”-》“通知”-》“你的应用”-》“营销通知” -》“允许通知及相关的提醒设置”
3 个评论
要回复文章请先登录或注册
f***@163.com
5***@qq.com
5***@qq.com