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

VSB*_*VSB 8 android firebase firebase-cloud-messaging

要订阅Android客户端中的主题,我们应该调用:

FirebaseMessaging.getInstance().subscribeToTopic("news");
Run Code Online (Sandbox Code Playgroud)

我想知道如果在执行此指令时互联网连接不可用会发生什么?

当互联网连接可用或Google开发人员应该处理此案例时,Google服务会自动重试订阅吗?

AL.*_*AL. 5

更新

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


更新

因此,根据@DiegoGiorgini在您以前的文章中的评论,似乎还有更多的subscriptionToTopic:

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

我之前尝试过的方式是在给定时间段之后,我将终止该应用程序,而没有再次启动它。


所以我尝试检查一下。看来,如果在发送订阅请求时设备处于脱机状态,它将重试一段时间(20-30秒左右?),然后如果仍未连接,它将停止。该请求可能达到了超时错误。但是,由于没有SubscribeToTopic()的返回值,因此您无法通过客户端应用程序确定此返回值。您可以根据需要发送功能请求

但是,目前,我认为您可以采取的一种方法是在客户端应用程序中安装一个检查器,如果只有设备在线,您将在其中发送请求。

您还可以通过你的应用服务器检查它,因为我在你所提到以前的职位