不推荐使用disconnect():请改用shouldEstablishDirectChannel属性

时间:2017-05-25 08:46:44

标签: ios firebase firebase-cloud-messaging

在查看disconnect()方法及其说明时,它会在文档中说明以下内容

  

断开当前的FIRMessaging数据连接。这将停止任何连接到FIRMessaging的尝试。在已断开连接的客户端上调用此操作是无操作。

但是看看shouldEstablishDirectChannel属性

  

设置为YES时,Firebase Messaging将自动建立到FCM服务器的基于套接字的直接通道。如果要在预置应用程序中发送上游消息或接收非APNS,仅数据消息,则只需启用此功能。默认为NO。

他们似乎并没有做同样的事情,但我可能错了。谁能为我澄清这个?

1 个答案:

答案 0 :(得分:17)

所以我发现的就是这个。

不再需要disconnect()和connect()函数。你可以将bolean变为true,然后进行连接。

我正在把头靠在墙上,因为如果那个错误警告。

func applicationDidEnterBackground(_ application: UIApplication) {
        Messaging.messaging().disconnect()
        print("Disconnected from FCM.")
    }

为:

        func applicationDidEnterBackground(_ application: UIApplication) {
        Messaging.messaging().shouldEstablishDirectChannel = false
        print("Disconnected from FCM.")
    }

通过将bolean变为true来实现连接。因为现在有解释这种变化的地方,我应该知道。我还在一台设备上对此进行了测试,但我仍在收到推送通知。