Android Firebase云消息传递(FCM):subscribeToTopic会进行自动重试吗?

8

要在 Android 客户端订阅主题,我们需要调用以下方法:

FirebaseMessaging.getInstance().subscribeToTopic("news");

我想知道如果执行此指令时,互联网连接不可用会发生什么?
当互联网连接恢复可用时,Google服务是否会自动重试进行订阅,还是我们开发人员应该处理这种情况?
1个回答

6

更新:

subscribeToTopic() 现在返回一个 Task<Void>,因此您可以附加一个 OnCompleteListener() 来检查它是否成功。


更新:

根据@DiegoGiorgini在您之前的帖子中的评论,似乎还有更多关于subscribeToTopic的内容:

subscribeToTopic将在后台持续重试,但它与您的应用程序生命周期相关(尚未与Google服务相关)。因此,如果您的应用程序被杀死,它将停止重试,直到再次打开该应用程序。(操作已存储,因此在再次启动应用程序时将恢复)

我之前尝试的方法是,在给定的时间段后,我会关闭应用程序并不再打开它。


所以我已经尝试过检查这个问题。如果设备在发送订阅请求时处于离线状态,它会重试一段时间(大约20-30秒),然后如果仍然没有连接,它将停止。该请求可能已达到超时错误。但由于subscribeToTopic()没有返回值,因此您无法通过客户端应用程序确定此问题。如果您想要,可以发送一个功能请求与此相关。
然而,目前的方法是,在客户端应用程序中设置一个检查器,只有设备在线时才会发送请求。
您还可以通过您的应用服务器进行检查,如我在您的上一篇文章中提到的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接