首页 > 解决方案 > 向服务器发送设备令牌或注册令牌?

问题描述

我正在我的应用程序中实施 Firebase 以进行推送通知。以前,该应用程序已将设备令牌发送到自己的服务器,以便他们配置向哪个设备发送推送通知。

1) 现在在 Firebase 中,有一种叫做注册令牌的东西。因此,为了保持服务器处理向哪个设备发送推送通知的相同功能,我应该从 didRegisterForRemoteNotification 发送设备令牌还是从 didReceiveRegistrationToken 委托发送 Firebase 注册令牌?

标签: iosfirebaseapple-push-notifications

解决方案


在我的应用程序中,我正在使用它。从那里发送,

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)

}

希望对你有效。


推荐阅读