首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >防火墙无声通知丢失(iOS)

防火墙无声通知丢失(iOS)
EN

Stack Overflow用户
提问于 2020-03-09 03:34:35
回答 1查看 2.5K关注 0票数 0

我使用FCM作为带有无声通知的主题消息传递。

我有安卓和iOS应用。

这是我在PHP中使用的示例JSON

代码语言:javascript
运行
复制
{ 
  "to" : "/topics/mytopic",
  "priority": "high",
  "content_available": true,
  "data" : {
     "<key>" : "<string>",
     "<key2>" : "<string>"
 }

我用android和iOS订阅了相同的主题,然后将其发送给这两家公司。

iOS部件总是丢失一些消息

例:

发送10条消息

android: 10

iOS: 8

我搜索了网络,只有当电池电量低于20%时,它才会丢失信息。

(我测试这种行为-确实发生了,但与我的案件无关。我的电池水平在我的测试用例中总是很高)

我有些问题,有人能帮我吗?

  1. 是否有其他可能造成信息丢失的情况?
  2. 我丢失了什么代码需要检查吗?(例: iOS部件)
  3. 或者丢失一些消息是正常的,FCM不能保证100%发送
EN

回答 1

Stack Overflow用户

发布于 2020-03-09 08:04:13

Firebase不保证通过使用content在iOS中传递无声通知。

根据firebase 文档提供的内容,

“请注意,APN中的静默通知不能保证发送,而且可能取决于用户打开低功耗模式、强制退出应用程序等因素。在Android上,默认情况下数据消息会唤醒应用程序。”

这里有个解决办法,我认为可能对你有用。

对于您的iOS设备,发送一个mutable_content为true的通知有效负载、一个虚拟通知对象和数据对象中的某种标志,表示这是一个无声的通知(类似于isSilentNotif=true)。

现在编写扩展UNNotificationServiceExtension的通知服务。在通知显示给用户之前,您将在通知服务中获得控制。这里,检查所包含的标志(isSilentNotif),并以编程方式隐藏通知,如果标志为真,并在这里执行您想要执行的后台操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60594407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档