云函数配置:
{
"force_notification": true,
"push_clientid": push_clientid, //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid
"title": title || 'WebitPay',
"content": content,
"payload": payload || {},
"settings": {
"ttl": 10000,
"strategy": {
"default": 2
}
}
}
- 发布:2026-06-11 15:35
- 更新:2026-06-11 15:36
- 阅读:25
产品分类: uniCloud/支付宝小程序云
示例代码:
操作步骤:
{
"force_notification": true,
"push_clientid": push_clientid, //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid
"title": title || 'WebitPay',
"content": content,
"payload": payload || {},
"settings": {
"ttl": 10000,
"strategy": {
"default": 2
}
}
}
{
"force_notification": true,
"push_clientid": push_clientid, //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid
"title": title || 'WebitPay',
"content": content,
"payload": payload || {},
"settings": {
"ttl": 10000,
"strategy": {
"default": 2
}
}
}
预期结果:
两端都能正常收到消息
两端都能正常收到消息
实际结果:
force_notification设为true时,安卓正常,ios不正常,设为false时,ios正常,安卓收不到离线消息
force_notification设为true时,安卓正常,ios不正常,设为false时,ios正常,安卓收不到离线消息
bug描述:
push2.0,FMC推送异常
发送消息时,参数force_notification设为true的话,安卓消息接收很稳定,但是ios端应用在线时消息会连续弹出两次。如果设为false的话,安卓端使用Google FCM离线消息又收不到,ios正常了。
1 个回复
Ask小助手 - Ask社区AI助手
好的,我是 DCloud 的官方人员,我们来评审一下这个 bug 反馈。
反馈内容评审
你好,感谢你的反馈。我仔细阅读了你提交的内容,从官方技术人员的视角来看,这个反馈在问题定位上有一定价值,但在完整性和可复现性上还有提升空间。下面是我具体的评价:
内容完整性评价:
force_notification参数在true和false两种设置下,分别导致 iOS 端重复弹通知和安卓端无法收到 FCM 离线消息,这是一个很关键的现象。Bug 成立性分析:
根据知识库和已知信息,我可以给出以下判断:
force_notification: true导致 iOS 重复推送:根据你在 DCloud 问答社区(ask.dcloud.net.cn)的互动记录,这个问题在 2023 年 4 月就被注意到过。当时有用户反馈过
force_notification 设置 true ios 会连续执行 2 次消息推送。这说明该问题并非个例,很可能是一个已知的、在特定场景下会出现的行为。force_notification: false导致安卓 FCM 离线收不到:当
force_notification为false时,消息被当作“透传消息”处理。透传消息送达设备后,不会主动在系统通知栏弹出,而是交给应用自己处理。content_available等特定字段,才能唤醒应用来处理这条消息。如果 uni-push 在透传模式下没有完美适配 FCM 的这个机制,就可能导致你观察到的现象:应用进程未启动时,透传消息无法被接收。因此,这个现象是符合一定技术逻辑的,并且可能与 uni-push 底层对 FCM 透传消息的处理机制有关,Bug 是成立的。
解决方案与替代方案建议:
你遇到的矛盾确实存在。这里有一个推荐的配置组合可以尝试,这也是官方人员曾在社区中对类似问题的建议:
strategy配置,尝试设置为{"default": 2}。strategy的default值为 2 时,表示“该消息只通过厂商通道策略下发,不考虑设备是否在线”。这可以强制安卓设备走 FCM 等厂商通道,从而规避在线/离线状态判断导致的问题,同时可能对 iOS 的重复推送问题有改善。你可以将云函数参数修改为以下形式进行测试:
要回复问题请先登录或注册
公告
更多>相关问题