gpt4 book ai didi

ios - Firebase:如何将设备 token 转换为 FCM token

转载 作者:行者123 更新时间:2023-12-01 17:47:38 47 4
gpt4 key购买 nike

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

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

在第二
application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)

Firebase进口的。

我该怎么办?

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

最佳答案

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

  • 当您调用 application.registerForRemoteNotifications() ,iOS 将请求 APNs 证书,就像任何 ol' iOS 应用程序一样。
  • 假设您没有关闭方法 swizzling(您可能还没有关闭),Firebase 将自动将该 APNs token 交换为它自己的 swizzled didRegisterForRemoteNotificationsWithDeviceToken 中的 FCM token 方法。
  • 交换完成后,Firebase 会通知您的应用。过去,这样做的唯一方法是创建类型为 kFIRMessagingRegistrationTokenRefreshNotification 的 NSNotification。 .但是这几天,它也可以通过MessagingDelegate 让你知道。 .所以最简单的事情是通过调用来声明你的 AppDelegate 一个消息传递委托(delegate)......
    Messaging.messaging().delegate = self

    ...然后实现 messaging(_:didRefreshRegistrationToken)方法。
    func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String) {
    print("Look! I have an FCM token! \(fcmToken)")
    }

  • 因此,tl;dr 是您不需要手动将 APNs token 交换为 FCM token ,您只需要设置您的委托(delegate)以在 FCM 库为您执行此操作时收到通知。

    关于ios - Firebase:如何将设备 token 转换为 FCM token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44134357/

    47 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com