FIRInstanceID.instanceID().token() 和 Messaging.messaging().f



我正在应用中实现 Firebase 推送通知。在一个教程中,我发现我从Messaging.messaging().fcmToken中获取令牌,在这个 SO 问题中,我找到了这种方法:FIRInstanceID.instanceID().token()

它们之间有什么区别?我的唯一目标是能够向我的后端人员发送令牌,以便他们可以在数据库中识别我以进行推送通知。目前,生成令牌的代码是这样的:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    if #available(iOS 10.0, *) {
        // For iOS 10 display notification (sent via APNS)
        UNUserNotificationCenter.current().delegate = self
        let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
        UNUserNotificationCenter.current().requestAuthorization(
            options: authOptions,
            completionHandler: {_, _ in })
        // For iOS 10 data message (sent via FCM
        Messaging.messaging().delegate = self
    } else {
        let settings: UIUserNotificationSettings =
            UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
        application.registerUserNotificationSettings(settings)
    }
    application.registerForRemoteNotifications()
    FirebaseApp.configure()
    let token = Messaging.messaging().fcmToken
    setFCM(token: token ?? "UNDEFINED") //a function that saves it in user defaults.
    print("FCM token: (token ?? "")")
    return true
}

调用其中任何一个都应返回相同的注册令牌。

不同之处在于,FIRInstanceID只有与注册令牌相关的方法(例如获取和删除令牌(,而Messaging(又名FIRMessaging - 命名更改(通常提供更多方法(例如订阅主题,发送上游消息(。

相关内容

  • 没有找到相关文章

最新更新