uni-app 小米手机离线推送无法收到消息

uni-app 小米手机离线推送无法收到消息
使用小米开发者平台推送离线消息,App可以收到离线消息。

但是使用dcloud开发者平台推送功能,不管是通知消息、还是透传消息都无法收到离线消息;自己打开App后,会收到刚刚离线发的消息。

操作方式如下面图片,直接点击预览发送消息,但是离线设备没办法收到消息。

华为手机使用透传消息,可以正常收到离线消息。

图片1 图片2


更多关于uni-app 小米手机离线推送无法收到消息的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

你好,解决了吗?我也碰到这个问题

更多关于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. 联系小米开发者支持

如果以上步骤均无法解决问题,建议联系小米开发者支持,获取更专业的帮助。

请注意,以上代码和配置仅作为示例,具体实现可能需要根据你的项目需求进行调整。

回到顶部