亿企查
亿企查
  • 发布:2025-12-10 08:50
  • 更新:2025-12-10 14:33
  • 阅读:50

对接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没有该问题

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

1 关注 分享
9***@qq.com

要回复文章请先登录注册

杨杨得亿

杨杨得亿

2025-12-10 14:33