亿企查
亿企查
  • 发布:2025-12-10 08:50
  • 更新:2025-12-15 17:43
  • 阅读:299

对接uni-push 2.0官方未说明的三大坑,大家注意避免

分类:uni-app

1、第一个坑指定用户推送
指定推送push_clientid时项目必须集成uni统计且在manifest.json中配置push_clientid上传

"uniStatistics" : {  
            "enable" : true,  
            "collectItems" : {  
                "uniPushClientID" : true  
            }  
        }

配置后重新运行重启app后在云服务器的设备表(opendb-device)中要能查询到push_clientid才能实现指定用户推送,否则都是全量用户推送

2、iOS在线接收会闪退

uniPush.sendMessage({  
        "push_clientid": pushClientId, //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid    
        "force_notification": true, //填写true,客户端就会对在线消息自动创建“通知栏消息”。  
        "title": "消息通知",  
        "content": content,  
        "payload": null,  
        "badge": 0,  
        "category": {  
            "harmony": "SUBSCRIPTION",  
            "huawei": "SUBSCRIPTION",  
            "vivo": "SUBSCRIPTION"  
        }  
    })

如上如果某个字段值出现null就会出现iOS在线推送APP就会闪退,这里我们一般会形成接口提供给自己的后端调用,所以所有字段都需要加非空判断

3、鸿蒙必须在App.vue文件中onLaunch里注册uni.onPushMessage才能接收通知栏推送
如果未注册的话在uni-push后台推送能收到,但是使用uniPush.sendMessage推送完全收不到,Android、iOS没有该问题

以上三个坑我踩了三天,希望对大家能有所帮助

3 关注 分享
9***@qq.com nobug1314 巷子

该文章目前已经被锁定, 无法添加新评论

o***@aihuayan.com

o***@aihuayan.com

回复 zoeeee :
对的,没有成功过,手机上没有看到推送消息,通知中心,横幅通知都没有,但是云函数url返回的是```{
"data": {
"RASS_1212_3b17fa3730138d7464f661faf2a5de1f": {
"f64670424734e0717b30a3ccf9e30ceb": "successed_offline"
}
},
"errCode": 0,
"errMsg": "success"
}```
2025-12-12 12:11
zoeeee

zoeeee

回复 o***@aihuayan.com :
鸿蒙那边推送消息有次数限制,离线推送一次都没有成功吗
2025-12-12 10:36
o***@aihuayan.com

o***@aihuayan.com

您好,我按照官方文档配置的鸿蒙next推送,现在是在线推送能收到,离线推送收不到,你那边离线消息可以收到吗?官方的人一直让我按照文档走流程,文档我看了好几遍,也没看出来我哪里配置的不对。。。
2025-12-12 09:56
杨杨得亿

杨杨得亿

2025-12-10 14:33