gpt4 book ai didi

swift - "didReceiveRegistrationToken"不给我fcmToken?

转载 作者:行者123 更新时间:2023-11-28 05:46:24 26 4
gpt4 key购买 nike

我正在使用 firebase 构建一个应用程序,并尝试保存推送通知的 FCM token (由 firebase 函数发送)。

我尝试这样做的方式是将 deviceToken 存储在 UserDefault 中,以便稍后使用。

我需要在用户注册时保存 fcmToken(将其存储在我的数据库中的配置文件下)。

当用户登出时,我需要删除数据库中的fcmToken。

因此,我在 AppDelegate 中有我的 func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String)(也许这是错误的?),我这样存储它:

AppDelegate代码:

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {

UserDefaults.standard.setValue("fcmToken", forKey: fcmToken)

}

当我想调用它时,例如在注册 View Controller 中,我这样声明设备 token :

注册 ViewController 代码:

let deviceToken = UserDefaults.standard.value(forKey:"fcmToken") as? String ?? "not found"

然后我像这样将它保存在我的数据库中

["fcmToken": deviceToken]

但是,这在 Firebase 中总是返回“未找到”,并且不会保存实际的设备 ID。如果你们能帮我解决这个问题,那就太好了。

最佳答案

保存到 UserDefaults 时,你的 ""是倒过来的。你拥有它的方式是将字符串“fcmToken”保存在 fcmToken 字符串下

 func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) {

print(fcmToken)
UserDefaults.standard.set(fcmToken, forKey: "fcmToken")

}

关于swift - "didReceiveRegistrationToken"不给我fcmToken?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54619080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com