ios - 向服务器发送设备令牌或注册令牌?
问题描述
我正在我的应用程序中实施 Firebase 以进行推送通知。以前,该应用程序已将设备令牌发送到自己的服务器,以便他们配置向哪个设备发送推送通知。
1) 现在在 Firebase 中,有一种叫做注册令牌的东西。因此,为了保持服务器处理向哪个设备发送推送通知的相同功能,我应该从 didRegisterForRemoteNotification 发送设备令牌还是从 didReceiveRegistrationToken 委托发送 Firebase 注册令牌?
解决方案
在我的应用程序中,我正在使用它。从那里发送,
import UserNotifications
import Firebase
import FirebaseInstanceID
import FirebaseMessaging
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
InstanceID.instanceID().instanceID { (result, error) in
if let error = error {
print("Error fetching remote instange ID: \(error)")
} else if let result = result {
print("Remote instance ID token: \(result.token)")
// save in userdefault and fetch when you user register and login,
Constants.kUserDefaults.set(result.token, forKey: appConstants.fcmToken)
}
}
Messaging.messaging().apnsToken = deviceToken as Data
}
// and i also use
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {
print("Firebase registration token: \(fcmToken)")
let token = Messaging.messaging().fcmToken
print("FCM token: \(token ?? "")")
Constants.kUserDefaults.set(token, forKey: appConstants.fcmToken)
}
希望对你有效。