要在 Android 客户端中订阅主题,我们应该调用:
FirebaseMessaging.getInstance().subscribeToTopic("news");
我想知道如果执行此指令时互联网连接不可用,会发生什么情况?
当互联网连接可用时,谷歌服务会自动重试订阅吗?还是我们开发人员应该处理这种情况?
Update:
subscribeToTopic()
现在返回一个Task<Void>
所以你可以附上OnCompleteListener()
检查是否成功。
Update:
因此,根据 @DiegoGiorgini 在您上一篇文章中的评论,似乎还有更多内容需要 subscribeToTopic:
subscribeToTopic
将在后台继续重试,但它与您的应用程序生命周期相关(尚未与谷歌服务相关)。因此,如果您的应用程序被终止,它将停止重试,直到应用程序再次打开。 (该操作已存储,因此当应用程序再次启动时它将恢复)
我之前尝试的方式是在给定的时间段之后,我将杀死该应用程序并且不再将其拉出。
所以我尝试检查一下。看起来如果发送订阅请求时设备处于离线状态,它会重试一段时间(20-30秒左右?),如果仍然没有连接就会停止。该请求可能出现超时错误。但由于没有返回值订阅主题(),您无法通过客户端应用程序确定这一点。您可以发送一个功能要求如果你愿意的话,与此相关。
然而,目前,我认为您可以做的一种方法是在您的客户端应用程序中安装一个检查器,如果只有设备在线,您就会发送请求。
您还可以通过您的应用程序服务器进行检查,正如我在您的中提到的那样上一篇文章.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)