ios - firebase 不总是通过 APNs 发送通知吗?
问题描述
我注意到firebase 文档说明了以下内容:
如果提供了通知有效负载,或者对于发往 iOS 设备的消息, content_available 选项设置为true,则消息通过 APNs 发送,否则通过 FCM 连接服务器发送。
有人可以解释一下这是什么意思吗?
我认为所有发送到 iOS 设备的推送通知,首先发送到Apple,然后由 Apple 转发到相应的设备,但这里暗示他们直接向设备发送消息?
当应用程序在 iOS 上关闭时,这甚至可能吗?
我很困惑,谢谢。
解决方案
当应用程序在前台时,FCM 可以直接连接而不是通过 APNs 来获取data
类型消息。正如您所期望的那样,在后台发送的消息通过 APNs 传递。如果您愿意, 您实际上可以查看FCM 客户端的来源!
您可以控制这是否与shouldEstablishDirectChannel属性一起使用。
从发送的角度来看,您不必太担心这一点 - 它作为 FCM 服务的一部分被透明地处理,基于消息的类型以及是否有客户端连接。
推荐阅读
- frontend - Chrome 开发工具:模拟不同分辨率的 PC 屏幕
- google-api - G Suite Users:get 和 Users:list 资源不会同时更新
- javascript - 正则表达式中的变量
- quantum-computing - IBMQProvider 问题
- qt - Qml Error: Cannot assign QObject* to QQuickItem
- google-cloud-platform - 如何在活动实例中删除 Google Cloud Compute Engine 实例
- python - Python、openCV 和 filter2D:“错误”结果
- html - 我的反引号 (`) 是 HTML 中引号 (") 的有效替换吗?
- angular - Angular 9 - use of @ContentChildren
- amazon-quicksight - 有没有办法在快速查看日期下拉列表