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

2023-11-24

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

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

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

当互联网连接可用时,谷歌服务会自动重试订阅吗?还是我们开发人员应该处理这种情况?


Update:

subscribeToTopic()现在返回一个Task<Void>所以你可以附上OnCompleteListener()检查是否成功。


Update:

因此,根据 @DiegoGiorgini 在您上一篇文章中的评论,似乎还有更多内容需要 subscribeToTopic:

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

我之前尝试的方式是在给定的时间段之后,我将杀死该应用程序并且不再将其拉出。


所以我尝试检查一下。看起来如果发送订阅请求时设备处于离线状态,它会重试一段时间(20-30秒左右?),如果仍然没有连接就会停止。该请求可能出现超时错误。但由于没有返回值订阅主题(),您无法通过客户端应用程序确定这一点。您可以发送一个功能要求如果你愿意的话,与此相关。

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

您还可以通过您的应用程序服务器进行检查,正如我在您的中提到的那样上一篇文章.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Firebase 云消息传递(FCM):subscribeToTopic 会自动重试吗? 的相关文章

  • 如何自定义菜单项的背景颜色?

    我正在尝试定制Toolbar的弹出菜单 现在我无法设置菜单项的背景颜色 我的 styles xml 如下所示
  • Android短音的正确播放方法?

    我正在创建一个应用程序 屏幕上将有多个图像 这些图像将是按钮 点击时会播放短促的声音 我对此进行了研究 只能找到我当前用来播放声音的方法 这似乎根本没有响应 我希望声音能够快速播放并且能够响应多次快速点击 我不确定这在 Android 中是
  • AngularFire 访问子元素方法

    我正在寻找一种方法来获取子元素的方法 而不是单独加载该元素 假设我有一个帖子模型 每个帖子都有评论 这就是我获取帖子模型的方式 var post firebase new Firebase FIREBASE URL posts post n
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • 如何使用 Google Maps for Android V2 处理地图移动结束?

    我想在地图中心更改后立即对地址进行地理编码 如何使用新的 Android 版 Google 地图 V2 处理地图移动 我说的是用户用手指拖动地图的情况 查看新的地图 API Override public void onMapReady G
  • 将现有 VARCHAR 列与 Room 结合使用

    我正在尝试将现有的数据库与 Android Room 一起使用 但是 我的一个表有一个 VARCHAR 列 Room 似乎只支持 TEXT 不支持 VARCHAR 而且 sqlite 不允许修改列类型 那么 有没有办法使用Room中现有的带
  • Android 初学者:Android gridview 中的触摸事件

    我正在使用以下代码来使用 gridview 执行操作 稍作修改http developer android com resources tutorials views hello gridview html http developer a
  • 通过 WhatsApp 发送消息

    由于我发现了一些较旧的帖子 表明 Whatsapp 不支持此功能 我想知道是否发生了变化 以及是否有办法打开与我通过意图发送的号码进行 Whatsapp 聊天 UPDATE请参阅https faq whatsapp com en andro
  • 当它的父级是 ConstraintLayout 时设计 CardView 吗?

    我在编辑包含Relativelayout的Cardview内的RelativeLayout时搞砸了 ConstraintLayout会将相对布局的wrap content更改为0并添加工具 layout editor absoluteX 1
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • Android Studio 与本地网络共享上的项目文件

    这是我的设置 Android Studio 项目文件位于 Ubuntu 14 10 盒子上的共享文件夹中 尝试在 Windows 8 机器上运行 Android Studio 1 0 2 并将 U 驱动器映射到包含项目文件的 Ubuntu
  • okhttp 获取失败响应

    我已经在我的 android 客户端中实现了 okhttp 来进行网络调用 当我收到失败响应时 我会收到失败代码以及与该代码相关的文本作为消息 但我没有收到服务器发送给我的自定义失败响应 在我实施的代码中的失败响应中 我收到的消息只是 错误
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • 通过系统应用程序以编程方式静默安装 apk(无需 root)

    我有带有 android sharedUserId android uid system UID 1000 的系统级应用程序 设备未root INSTALL PACKAGES 权限包含在清单中 我可以静默安装下载的 apk 吗 我已经发现这
  • 问题:为什么React Native Video不能全屏播放视频?

    我正在react native 0 57 7 中为android和ios创建一个应用程序并使用反应本机视频 https github com react native community react native video播放上传到的视频
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • 在 Android 应用程序资源中使用 JSON 文件

    假设我的应用程序的原始资源文件夹中有一个包含 JSON 内容的文件 我如何将其读入应用程序 以便我可以解析 JSON See 开放原始资源 http developer android com reference android conte
  • Android:如何从网络异步获取搜索建议?

    我创建了一个可搜索的活动 现在 我想添加从网络服务获取的搜索建议 我想异步获取这些建议 根据添加自定义建议 http developer android com guide topics search adding custom sugge
  • 有没有任何代码可以在android中设置壁纸而无需裁剪和缩放?

    我正在创建一个画廊应用程序 我的第一个应用程序 这是我的代码 Bitmap bmd BitmapFactory decodeStream is try getApplicationContext setWallpaper bmd catch

随机推荐

  • 如何在构建 JSON 字符串时转义特殊字符?

    这是我的字符串 user name abc fx message color red user color blue timestamp 2013 10 04T08 10 41 0100 message I mABC nanotime 19
  • 无法禁用网站的 SSL

    我创建了一个网站并将其部署到 Windows Azure 在开发过程中的某个地方 我从项目属性启用了 SSL 并且所有内容 https 地址 在本地主机和我部署站点的 Azure 网站上都工作正常 现在我的 Azure 试用版即将到期 我正
  • 在 iPhone 应用程序中从磁盘加载图像很慢

    在我的 iPhone 应用程序中 我使用 iPhone 的相机拍照并将其保存到磁盘 应用程序的文档文件夹 这就是我保存它的方式 UIImageJPEGRepresentation photoTaken 0 0 writeToFile jpe
  • 默认虚拟d'tor

    让我们假设我有两个课程 class Base class Derived public Base 没有人有 d tor 在这种情况下 如果我声明变量 Base b Derived d 我的编译器将为我生成 d tors 我的问题是 默认的
  • PDO 错误:“参数号无效:参数未定义”

    我正在尝试使用一个简单的 MySQL 插入查询 其参数采用数组形式 它一直告诉我参数数量错误 我已尝试以下操作 均产生相同的错误 stmt3 link gt prepare INSERT INTO messages VALUES null
  • Java 使用什么哈希函数来实现 Hashtable 类?

    从CLRS 算法导论 一书中 有几种哈希函数 例如mod multiply等 Java 使用什么哈希函数将键映射到槽 我看到这里有一个问题Java语言中使用的哈希函数 但它没有回答问题 而且我认为该问题的标记答案是错误的 它说 hashCo
  • C++ STL unordered_map 如何解决冲突?

    C STL unordered map 如何解决冲突 看着http www cplusplus com reference unordered map unordered map 它说 独特的钥匙 容器中的两个元素不能具有相同的键 这应该意
  • 如何优雅地耗尽EKS中的节点?

    有时我们需要排出 Kubernetes 中的节点 当我手动设置 k8s 集群时 我可以耗尽特定节点 然后终止该机器 在 EKS 中 节点位于自动缩放组下 这意味着我无法终止特定实例 节点 如果我手动终止一个实例 另一个实例 节点 将自动添加
  • 从 Google Cloud Storage 加载 csv 文件时出现 BigQuery 错误

    我正在尝试加载 a 的数据csv保存在的文件GCS into BigQuery csv 文件位于UTF 8格式 包含 7 列 我已经在数据方案中指定了这些列 所有字符串和可为空的 并且我已经检查了 csv 文件的内容 这看起来很好 当我尝试
  • windows下hadoop启动tasktracker出现问题

    我正在尝试在Windows下使用hadoop 当我想启动tasktracker时遇到问题 例如 bin start all sh 然后日志写道 2011 06 08 16 32 18 157 ERROR org apache hadoop
  • $(document).ready() 什么时候触发?

    评论来自这个问题让我思考一些事情 具体什么时候 document ready 功能火 显而易见的答案是 当文档准备好时 但具体是什么时候呢 例如 如果我在 PHP 继续执行时打开输出缓冲并刷新输出 这不会将输出发送到浏览器吗 那么 有什么方
  • “程序入口点...无法定位”在错误的 DLL 中

    我已经从 Haskell 代码创建了一个 DLL 并从 C 调用这个 DLL 当我在 Visual Studio 2010 中以调试模式运行时 我的应用程序工作正常 但是当我进行发布构建并安装它时 出现错误 无法在动态链接库 Advance
  • 在 ASP.Net 中,<%= 和 <%# 之间有什么区别[重复]

    这个问题在这里已经有答案了 在 ASP Net 中 有什么区别 and 看这个问题 什么时候应该在 ASP NET 控件中使用 和 这些答案的摘要 有几种不同的 蜂蜇
  • 通过字符串获取C#动态属性的值

    我想访问 a 的值dynamic带有字符串的 C 属性 dynamic d new value1 some value2 random value3 value 如果我只有 value2 作为字符串 如何获取 d value2 随机 的值
  • 颤动中的视频背景

    flutter 中可以一直播放背景视频吗 我正在寻找一些软件包并试图使其发挥作用 但我不知道如何 也许使用类似的东西 但带有视频 decoration new BoxDecoration image new DecorationImage
  • 使用 MongoDB Driver Java API 将 BSON 转换为 JSON

    我正在使用 MongoDB Driver Java API 将 BSON 转换为 JSON 我有这样的测试代码 String input timestamp 1486064586641 org bson Document doc org b
  • 如何配置 WEBrick 以通过 HTTPS 使用中间证书?

    我目前在 Rails 应用程序中使用以下选项来通过 WEBrick 启用 HTTPS Port gt 3000 environment gt ENV RAILS ENV development dup daemonize gt false
  • Edittext达到最大edittext长度后跳转到下一个edittext

    在我的布局中 我有 4 个编辑文本 达到最大长度后 我需要跳转到下一个编辑文本 但是有一个问题 怎么做 请任何人帮助我做到这一点 达到计数后 您将编辑文本的焦点更改为下一个 Edittext edt1 Edittext edt2 mount
  • CheckBoxList多选:模型绑定回困难

    我正在上课如下 public class UserRoleModel public string Role get set public bool UserRole get set and public UserRoleModel User
  • Android Firebase 云消息传递(FCM):subscribeToTopic 会自动重试吗?

    要在 Android 客户端中订阅主题 我们应该调用 FirebaseMessaging getInstance subscribeToTopic news 我想知道如果执行此指令时互联网连接不可用 会发生什么情况 当互联网连接可用时 谷歌