如何使用swift更新firebase中的令牌?
Posted
技术标签:
【中文标题】如何使用swift更新firebase中的令牌?【英文标题】:How to update token in firebase using swift? 【发布时间】:2017-11-22 01:48:44 【问题描述】:应用可以使用server key
和设备InstanceToken
向远程设备发送通知。现在,instanceToken
在每次用户安装应用程序时都会不断变化。该应用程序使用此instanceToken
向其他用户发送通知。
如何在每次用户卸载和安装应用程序时更新instanceToken
,以便其他用户发送通知时将其提供给同一用户
这个方法在AppDelegate中的使用已经在不少地方看到了,需要高手帮忙理解其背后的逻辑或者帮忙设计一个更好的方法
NotificationCenter.default.addObserver(self, selector:
#selector(self.tokenRefreshNotification(notification:)), name:
NSNotification.Name.InstanceIDTokenRefresh, object: nil)
能找到的最好的资源是docs 和来自firecast团队的视频video
【问题讨论】:
【参考方案1】:NotificationCenter.default.addObserver(self, selector: #selector(self.getFcmToken),
name: .firInstanceIDTokenRefresh,
object: nil)
func getFcmToken(notification: NSNotification)
guard let contents = FIRInstanceID.instanceID().token()
else
return
print("InstanceID token: \(contents)")
if let token = FIRInstanceID.instanceID().token()
print(token)
SaveToDefaults().setFcmToken(token: token)
self.hitPushNotificationSubcribeApi(token: token)
或
func messaging(_ messaging: FIRMessaging, didRefreshRegistrationToken fcmToken: String)
print(fcmToken)
【讨论】:
【参考方案2】:您可以使用以下 FCM 委托方法监控 FCN 令牌何时更改:
func messaging(_ messaging: Messaging, didRefreshRegistrationToken fcmToken: String)
【讨论】:
以上是关于如何使用swift更新firebase中的令牌?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JWT for Google firebase 生成身份验证令牌?
如何在 Swift 4 中更新 Firebase 身份验证中的电子邮件地址