Android和iOS在数据消息方面的FCM差异
我正在使用Firebase云消息发送数据负载,并在我的Android和iOS应用程序中显示通知。我正在把它集成到我的iOS应用程序中,我正在面对一件奇怪的事情Android和iOS在数据消息方面的FCM差异,android,ios,firebase,push-notification,firebase-cloud-messaging,Android,Ios,Firebase,Push Notification,Firebase Cloud Messaging,我正在使用Firebase云消息发送数据负载,并在我的Android和iOS应用程序中显示通知。我正在把它集成到我的iOS应用程序中,我正在面对一件奇怪的事情 短篇故事: 我的通知服务器只发送数据消息(我指的是包含“数据”字段且没有“通知”字段的JSON消息)。在我的Android应用程序中,这不是一个问题,因为即使我的应用程序在我的服务实现中处于后台,我也会收到消息,并且我会手动生成一个显示的通知。但在iOS的情况下,当我的应用程序在后台执行同样的操作时,我如何接收消息?我的意思是,如果我
- 短篇故事:
服务
实现中处于后台,我也会收到消息,并且我会手动生成一个显示的通知。但在iOS的情况下,当我的应用程序在后台执行同样的操作时,我如何接收消息?我的意思是,如果我在请求中添加一个“通知”字段,我会在屏幕上看到通知弹出(当应用程序位于后台时),当我的应用程序位于前台时,我可以在单击后获取数据(位于“数据”字段)
但是当我的应用程序在后台手动显示通知时,我可以拥有数据吗?
- 重要精度:
content\u available:true
)。然后我可以处理在didReceiveMemotentification:中接收到的数据,但现在仍然有一件事:当我的应用程序被杀死时,如何使其工作
编辑2:我发现了一些可能的东西:。修改远程通知的有效负载意味着要在收到通知之前进行处理。我试试看
编辑3:Firebase不支持使在编辑2中找到的解决方案工作所需的可变内容密钥。关于这一点的讨论非常重要。所以有什么想法吗?我认为不可能像在Android上使用NotificationBuilder那样,通过代码在iOS上触发“库存”通知 唯一可用的选项是将混合消息与通知和数据有效负载一起使用
查看其混合消息的更多信息。2014年2月16日,Firebase增加了对“可变内容”键的遵从性。这就解决了我的问题,我想,也解决了很多人的问题 个人思考:
我认为这项功能晚了6个月实在太过分了。我希望未来的版本将与iOS(以及Android)版本同步。实际上,混合消息的问题在于显示的通知是在服务器端构建的。我希望它是建立在客户端(应用程序)端…我编辑了我的文章。这仍然是一个不起作用的情况:当我的应用程序被终止(内存不足)时,Hi-FCM现在确实支持可变内容键。如果将FCM请求中的可变内容字段设置为true。在iOS 10+上向用户显示通知消息之前,您将能够拦截这些消息。感谢您的工作和提供的信息。但为什么这次发布花费了这么长时间(自从iOS10发布以来)?