gpt4 book ai didi

firebase - 在使用 firebase 的推送通知中,onTokenRefresh 与 getToken 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-05 06:30:37 35 4
gpt4 key购买 nike

我是 firebase 和 react-native 的新手,所以我很抱歉提出这些问题,但我想知道

  1. 在使用 firebase 的推送通知中,onTokenRefresh 与 getToken 之间有何不同?

  2. 为什么不只与 getToken 一起使用?

  3. 为什么 onTokenRefresh 总是出现在这段代码中,我认为只有当 token 实际改变时它才会运行这个函数...

    componentDidMount() {

    kittensApp.onReady().then(app => {
    app.messaging().getToken()
    .then(fcmToken => {
    if (fcmToken) {
    console.log('fcmtokenApp', fcmToken)
    } else {
    console.log('here 2')
    }
    })

    app.messaging().onTokenRefresh(token => {
    console.log('refreshtoken', token)
    })
    })}
  4. 另一个问题是如果我想获取 token 并将其发送到服务器以将其保存在数据库中以便将来在我应该使用什么功能(获取 token 或刷新)时推送通知?以及我如何确保万一 token 发生变化(通过更新应用程序或重新安装)它会将新 token 发送到服务器?或者有什么方法可以在不让用户打开应用程序的情况下使 token 保持新状态?

谢谢你的帮助!

最佳答案

  1. onTokenRefresh 在生成新 token 时使用最后注册的 token 触发,但 getToken 用于注册 token 消息传递(如果您已注册 token ,您将从 else 语句中获得 console.log
  2. 当生成新 token 时,您没有获得正确的最新 token
  3. onTokenRefresh 为您提供始终正确和最新的 token
  4. 在 getToken 上(如果您还没有注册 token 并获得一个)和刷新(如果它已更改),如果收到的 token 在数据库和应用程序上相同,则必须在您的服务器上进行比较。不错的选择是将用户数据也保存到服务器中的 redux 存储中,如果 firebase 刷新为您提供不同的 token ,请使用这个新 token 发出请求,如果不正确,则不执行任何操作。

希望对您有所帮助。

关于firebase - 在使用 firebase 的推送通知中,onTokenRefresh 与 getToken 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52207405/

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