gpt4 book ai didi

java - FirebaseInstanceId.getInstance().getInstanceId() 在哪些情况下会失败?

转载 作者:行者123 更新时间:2023-12-04 13:41:43 24 4
gpt4 key购买 nike

我正在为 api 23 到 28 开发一个 Android 应用程序。

在代码中,当用户登录时,我有这样的事情:
FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener<..>{ //and here i am logging in in oncomplete() })
这段代码在什么情况下会失败?

到目前为止,我已经在没有安装播放服务并且运行良好的模拟器中对其进行了测试......所以我想考虑一下这会失败的情况,因为如果它在一台设备上失败,用户将无法登录,他会给我的应用打低分。

请注意,我要做的是将 firebase token 发送到服务器,以便我可以向满足某些条件的特定用户发送通知。

最佳答案

据我所知,在调用您概述的代码行时,您不会看到任何失败。但是您可能希望在 onComplete 内检查任务是否成功。 .

就因为任务完成了onComplete已被调用并不意味着您已成功检索到 token 。在 onComplete 内您可以调用task.isSuccessful()确定 token 是否可用。 Take a look at their example code snippet here.我猜测没有 Google Play 服务的设备正在调用 onComplete但任务不成功,也没有可用的 token 。如果是这种情况,您可能希望阻止他们登录,因为没有 token - 并且只有在任务成功并且您获得 token 时才让他们登录。

例如,我在 Amazon Fire 平板电脑(没有 Google Play 服务)和 onComplete 上测试了类似的代码。被触发但 task.isSuccessful()返回 falsetask.getException()给我MISSING_INSTANCEID_SERVICE这表明设备没有 Google Play 服务,因此无法检索 token 。对于没有 Google Play 服务或可能有旧的、不受支持的 Google Play 服务版本的设备,您必须小心。

综上所述,我从未遇到过 onComplete 的情况。没有被调用。对我来说,它总是几乎立即被调用,我从未见过调用这些特定线路的任何失败。我只是认为您需要在 onComplete 中做一些额外的工作以确保它成功。

关于java - FirebaseInstanceId.getInstance().getInstanceId() 在哪些情况下会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56103787/

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