FIRInstanceID.instanceID()。token()和Messaging.messaging()。fcmToken有什么区别?
我在我的应用中实施Firebase推送通知。在一个教程中,我发现我从Messaging.messaging().fcmToken
和this得到的令牌SO问题我发现这种方法:FIRInstanceID.instanceID().token()
FIRInstanceID.instanceID()。token()和Messaging.messaging()。fcmToken有什么区别?
它们之间有什么区别?我唯一的目标是能够向我的后端人员发送令牌,以便他们可以在数据库中识别我的推送通知。目前我的代码生成的令牌是这样的:
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
- naming changes)一般提供了更多的方法(例如订阅主题,发送上游消息) 。
以上是 FIRInstanceID.instanceID()。token()和Messaging.messaging()。fcmToken有什么区别? 的全部内容, 来源链接: utcz.com/qa/257288.html