Firebase:如何将设备令牌转换为 FCM 令牌



我正在尝试使用Firebase进行推送通知。但是,我已经遇到了障碍,即我无法在iOS中做那件事。我尝试了两种方法

Messaging.messaging().setAPNSToken(deviceToken, type: .prod) and InstanceID.instanceID().setAPNSToken(deviceToken, type: InstanceIDAPNSTokenType.sandbox)

在第二名

application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)

Firebase导入。

我该怎么办?

编辑: 这是一个补充信息,错误消息是这样的。无法获取默认令牌错误域=com.firebase.iid 代码=1003"(空)">我用谷歌搜索,但没有相关信息。

所以你很接近。以下是Firebase 4.0版本的Cloud Messaging现在发生的情况...

  1. 当您调用application.registerForRemoteNotifications()时,iOS 将请求 APNs 证书,就像任何 iOS 应用程序一样。

  2. 假设您尚未关闭方法切换(您可能还没有),Firebase 将自动以自己的切换didRegisterForRemoteNotificationsWithDeviceToken方法将该 APNs 令牌交换为 FCM 令牌。

  3. 交换完成后,Firebase 可以通知您的应用。过去,它执行此操作的唯一方法是创建类型为kFIRMessagingRegistrationTokenRefreshNotification的NSNotization。但是这些天,它也可以通过MessagingDelegate让你知道。因此,最简单的方法是通过调用 AppDelegate 来声明消息传递委托...

    Messaging.messaging().delegate = self
    

    。然后实现messaging(_:didRefreshRegistrationToken)方法。

    func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
    print("Look! I have an FCM token! (fcmToken)")
    }
    

所以 tl;dr 是,您不需要手动将 APNs 令牌交换为 FCM 令牌,您只需设置您的委托,以便在 FCM 库为您执行此操作时收到通知。

相关内容

  • 没有找到相关文章

最新更新