Firebase 多个项目 iOS 消息传递委托

Aar*_*rel 6 firebase swift firebase-cloud-messaging

一个 iOS 应用程序必须使用两个 firebase 项目。当我意识到配置的顺序FirebaseApp似乎会影响 Messaging.messaging() 获取的消息传递实例时,我感到非常困惑。

当我首先初始化辅助应用程序时,消息传递委托似乎只在主应用程序中注册注册令牌更改 func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String)

FirebaseApp.configure(name: AppDelegate.firebase_main_app_name, options: login_app_options)
FirebaseApp.configure()
Messaging.messaging().delegate = SOME DELEGATE OBJECT
Run Code Online (Sandbox Code Playgroud)

但是当我首先注册主应用程序时,消息代理似乎只响应辅助应用程序中的注册令牌更改。

当我首先注册主应用程序并通过调用检索 FCM 令牌时 messaging_instance.retrieveFCMToken(forSenderID: AppDelegate.gcm_sender_id)

检索到的令牌与来自的令牌不同 Messaging.messaging().fcmToken

但是如果我先注册辅助应用程序,那么两个 FCM 令牌是相同的。

如果我先注册次要应用程序,则主 Firebase 应用程序只能发送通知。

我对这一切感到非常困惑,因为在任何地方都没有记录这种行为。如果我想从两个 Firebase 项目接收通知怎么办?有没有办法知道 Messaing.messaging.delegate 会回复哪个 firebase 项目?另外,为什么配置两个 Firebase 应用程序的顺序会有所不同?