我正在我的应用中实施Firebase推送通知.在一个教程中,我发现我从Messaging.messaging().fcmToken获取了令牌,在
this 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,.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
仅具有与注册令牌相关的方法(例如,获取和删除令牌),而消息传递(也称为FIRMessaging
–naming changes)通常提供更多方法(例如,订阅主题,发送上游消息).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。