Firebase是否不总是通过APN发送通知?

时间:2018-12-04 19:55:26

标签: ios firebase apple-push-notifications firebase-cloud-messaging firebase-notifications

我注意到firebase documentation说:

  

如果提供了通知有效负载 content_available   选项设置为 true ,以发送到iOS设备的消息,该消息是   通过APN发送,否则通过FCM连接发送   服务器

有人可以解释一下这是什么意思吗?

我认为所有发送到iOS设备的推送通知都先发送到 Apple ,然后再由Apple转发给相应的设备,但这意味着它们直接在发送消息到设备上?

在iOS上关闭应用程序后,是否有可能?

我很困惑, 谢谢。

2 个答案:

答案 0 :(得分:3)

当应用程序处于前台时,FCM可以直接连接,而不必通过APN来访问data类型的消息。如预期的那样,在后台发送的邮件将通过APN传递。如果您愿意,实际上可以看看source of the FCM client

您可以控制是否将此属性与shouldEstablishDirectChannel属性一起使用。

从发送角度看,您不必为此担心太多-它根据消息的类型以及是否连接了客户端,作为FCM服务的一部分透明地处理。

答案 1 :(得分:2)

根据我的理解,阅读文档后,它可能会尝试声明以下内容:

如果可以将通知推断为针对iOS设备(无论是从通知有效负载还是内容可用密钥),它将绕过FCM并直接发送到APNS进行优化,这是众所周知的还是将100%运往APNS。

否则,它将被发送到FCM并被路由到应该从那里去的任何地方。它可能仍然是针对iOS设备的通知,并已从FCM发送到APNS,但无法推断。