我注意到firebase文档中有以下内容:
如果提供通知有效负载,或者对于发送到iOS设备的消息,content_available选项设置为true通过APN发送,否则通过FCM连接发送服务器。
有人能解释一下这意味着什么吗?
我以为所有发送到iOS设备的推送通知都会先发送到Apple,然后由苹果转发到相应的设备,但这里暗示他们直接向设备发送消息?
当应用程序在iOS上关闭时,这可能吗?
我很困惑,非常感谢。
当应用程序在前台时,FCM可以直接连接,而不是通过data
类型消息的APN。在后台发送的消息是通过APN传递的,正如您所期望的那样。如果你有兴趣的话,你可以看看FCM客户的来源!
您可以控制是否将其与shouldEstablishDirectChannel属性一起使用。
从发送的角度来看,您不需要太担心这一点——它作为FCM服务的一部分,根据消息的类型和是否连接了客户端进行透明处理。
根据我阅读文档后的理解,它可能试图声明:
如果可以推断通知的目标是iOS设备(无论是从通知有效负载还是内容可用密钥(,它都会绕过FCM,直接发送到APNS进行优化,因为众所周知,100%都会发送到APNS。
否则,它将被发送到FCM,并被路由到它应该去的任何地方。它可能仍然是iOS设备的通知,并从FCM发送到APNS,但无法推断。