uni-app 小米手机离线推送无法收到消息
uni-app 小米手机离线推送无法收到消息
使用小米开发者平台推送离线消息,App可以收到离线消息。
但是使用dcloud开发者平台推送功能,不管是通知消息、还是透传消息都无法收到离线消息;自己打开App后,会收到刚刚离线发的消息。
操作方式如下面图片,直接点击预览发送消息,但是离线设备没办法收到消息。
华为手机使用透传消息,可以正常收到离线消息。
更多关于uni-app 小米手机离线推送无法收到消息的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请联系个推技术支持协助解决
按照这文档先分析查找下问题
https://ask.dcloud.net.cn/article/40291
问了个推那边的人,找到原因了,是扩展字段没有填写小米平台的channel_id缘故
你好,请问一下,小米平台的channel_id是在哪查看的
回复 i***@cqttech.com: 小米推送运营平台-消息分类管理-Channel 列表
加上面的个推微信,找对方要就行
针对uni-app在小米手机离线状态下无法收到推送消息的问题,通常涉及推送服务的配置、推送证书的有效性以及小米系统对推送服务的特殊处理。以下是一些可能的解决方案和相关的代码示例,帮助你排查和解决问题。
1. 检查推送服务配置
确保你已经正确配置了推送服务,包括在小米开发者平台申请推送服务权限,并正确配置了应用的推送权限。
2. 使用uni-push插件
uni-app提供了uniPush服务,确保你已经按照官方文档正确集成了uniPush。以下是一个基本的集成示例:
// 在manifest.json中配置推送信息
{
"mp-weixin": {
// ...
},
"plugins": {
"uni-push": {
"version": "latest", // 使用最新版本
"provider": "uni-push-provider"
}
},
"app-plus": {
"distribute": {
"android": {
"push": {
"appid": "你的小米推送appid", // 小米推送appid
"appkey": "你的小米推送appkey", // 小米推送appkey
"appsecret": "你的小米推送appsecret" // 小米推送appsecret
}
}
}
}
}
3. 小米推送服务特殊处理
小米系统对推送服务有一些特殊处理,比如电量优化、自启动管理等,可能会影响推送消息的接收。确保你的应用已经设置了适当的电池优化和白名单。
4. 推送消息代码示例
以下是一个简单的推送消息发送示例,使用uniPush的API:
// 发送推送消息
uniCloud.callFunction({
name: 'uniPush',
data: {
action: 'send',
message: {
title: '测试推送',
content: '这是一条测试推送消息',
to_user: ['用户的openid'] // 替换为实际的用户openid
}
},
success: function (res) {
console.log('推送成功:', res);
},
fail: function (err) {
console.error('推送失败:', err);
}
});
5. 调试和日志
确保开启应用的日志记录功能,以便在推送失败时能够获取详细的错误信息。同时,可以在小米开发者工具中查看推送服务的日志,进一步定位问题。
6. 联系小米开发者支持
如果以上步骤均无法解决问题,建议联系小米开发者支持,获取更专业的帮助。
请注意,以上代码和配置仅作为示例,具体实现可能需要根据你的项目需求进行调整。