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

对接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 巷子

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

DCloud_uniCloud_JSON

DCloud_uniCloud_JSON

【辟谣】:关于问题1,基于push_clientid推送,不依赖uni统计和任何数据表。相关文档地址:[详情点此](https://doc.dcloud.net.cn/uniCloud/uni-cloud-push/api.html#%E6%8E%A8%E9%80%81%E7%9B%AE%E6%A0%87%E9%80%89%E6%8B%A9)
关于 3,文档中的描述:监听推送消息的代码,需要在收到推送消息之前被执行。所以应当写在应用一启动就会触发的应用生命周期onLaunch中。[详情点此](https://uniapp.dcloud.net.cn/unipush-v2.html#listener)
2025-12-15 17:43
c不是c

c不是c

你好,想问一下,HBuilder x现在可以直接打鸿蒙包了吗?也可以直接配置鸿蒙的推送吗?谢谢
2025-12-15 17:26
亿企查

亿企查 (作者)

回复 loveCoding :
官方已经修复了,更新开发工具
2025-12-15 17:04
亿企查

亿企查 (作者)

回复 l***@163.com :
app里调用清除
2025-12-15 17:04
loveCoding

loveCoding

个推sdk就因为隐私被整改的坑你还没遇到,我直接弃用了
2025-12-13 19:34
l***@163.com

l***@163.com

请问角标问题怎么解决呀?测试貌似只有ios会有,然后也不会自动清理
2025-12-13 17:11
o***@aihuayan.com

o***@aihuayan.com

回复 亿企查 :
我在harmony-permissions插件和harmony-config中的module.json5都添加了这个权限,```{
"name": "ohos.permission.APP_TRACKING_CONSENT",
"reason": "$string:tracking_desc",
"usedScene": {"when": "inuse"}
}```
2025-12-12 16:00
亿企查

亿企查 (作者)

回复 o***@aihuayan.com :
APP_TRACKING_CONSENT 权限添加了吗?
2025-12-12 15:48
o***@aihuayan.com

o***@aihuayan.com

回复 亿企查 :
uni-push后台推送收不到离线推送,但是我没找到哪里配置有问题,请问一般都是哪里有问题才会收不到?
2025-12-12 15:20
亿企查

亿企查 (作者)

回复 o***@aihuayan.com :
尝试在uni-push后台推送,看看离线推送是否能收到,收不到代表配置有问题
2025-12-12 14:23