向服务器发送设备令牌或注册令牌?

Posted

技术标签:

【中文标题】向服务器发送设备令牌或注册令牌?【英文标题】:Send device token or registration token to server? 【发布时间】:2019-04-09 03:40:18 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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)


希望它对你有用。

【讨论】:

以上是关于向服务器发送设备令牌或注册令牌?的主要内容,如果未能解决你的问题,请参考以下文章

无法获取 FCM 注册令牌

获取 APNS 服务的设备令牌列表

如果客户端发送新的注册令牌时应用服务器离线怎么办?

注册令牌不是有效的 FCM 注册令牌

处理 FCM 设备组的刷新令牌

从服务器向所有设备发送推送通知