是否有相当于 iOS 推送通知反馈服务的 Android GCM?

2023-11-26

我们的网络应用程序向 iOS 和 Android 设备发送推送通知请求。

对于 iOS,Apple 推送通知服务具有反馈服务,因此您可以检测哪些设备已卸载您的应用程序,然后将其从数据库中删除。

Android GCM 有类似的反馈服务吗?如果没有,如何检测哪些 Android 用户不再安装该应用程序?


Android GCM 有类似的反馈服务吗?

No.

如果没有,如何检测哪些 Android 用户不再安装该应用程序?

Quoting 文档:

  1. 最终用户卸载该应用程序。
  2. 3rd-party服务器向GCM服务器发送消息。
  3. GCM 服务器将消息发送到设备。
  4. GCM 客户端接收消息并查询包管理器是否有配置为接收该消息的广播接收器,这将返回 false。
  5. GCM 客户端通知 GCM 服务器应用程序已卸载。
  6. GCM服务器标记要删除的注册ID。
  7. 第 3 方服务器向 GCM 发送消息。
  8. GCM向第3方服务器返回NotRegistered错误消息。
  9. 第3方删除注册ID。

请注意,从 GCM 中完全删除注册 ID 可能需要一段时间。因此,在上述步骤 7 期间发送的消息有可能获得有效的消息 ID 作为响应,即使该消息不会传递到设备。最终,注册 ID 将被删除,服务器将收到 NotRegistered 错误,而无需 3rd 方服务器采取任何进一步操作(这种情况在应用程序开发和测试时经常发生)。

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

是否有相当于 iOS 推送通知反馈服务的 Android GCM? 的相关文章

  • 在 Android 上生成 FileDescriptor 而不先打开文件

    在Android中 是否可以直接从字节数组生成FileDescriptor 而不必先打开文件 在 Android 2 2 中 我动态生成 MIDI 文件 然后使用 MediaPlayer 进行播放 我在下面包含了成功执行此操作的 Main
  • 在 Android 模拟器上运行完整的 Android 手机 ROM

    正如标题所说 是否可以在 Android 模拟器中运行完整的 Android 设备 ROM 是的 你可以 但让它 100 工作可能很困难 大多数 ROM 都包含其运行硬件的特定驱动程序 我并不是 100 全力以赴 但可以尝试以下步骤 创建
  • 在 ubuntu 中找不到 .android 文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在哪里可以找到 android在 Ubuntu 中 我想使用debug keystore 转到您的主文件夹并按 ctrl h 瞧
  • Android Toast 消息不起作用

    我正在通过 Andengine 为 Android 开发游戏 我有 MainActivity 类和 GameScene 类 我在 GameActivity 中使用 Toast 消息 它正在发挥作用 Toast makeText this H
  • 如何使全屏覆盖在方向更改后保持全屏?

    我正在制作一个应用程序 它可以创建在屏幕上行走的微小精灵动画 我有一个主要活动 带有 启动服务 按钮 这会启动一个服务 该服务 在onCreate 创建一个全屏视图并将其附加到根窗口管理器 这部分工作完美 它充满了屏幕 您可以离开应用程序
  • 单击另一个项目/小部件时展开/打开微调器?

    当用户单击另一个按钮时 我试图展开微调器 例如 我有一个带有值的微调器和一个 确定 按钮 当用户单击 确定 按钮而不从微调器中选择任何值时 微调器会自行扩展 是否可以在无需用户与微调器交互的情况下获得扩展微调器的事件 只需致电Spinner
  • 简单 XML 框架:ElementMap 中的对象具有“类似内联”的行为

    我正在尝试在 Android 上序列化自定义对象的 Hashmap 以获得如下 xml
  • 在android Gridview中合并行和列

    我正在android中做一个图像查看页面 我需要在某些地方合并行 在某些地方合并列 我们可以在gridview中做到这一点吗 如果我们选择任何合并图像 则应选择整个图像视图 请任何人告诉我一个建议 提前致谢 Try 非对称网格视图 http
  • 如何检查 Android 设备是否在线

    我的服务器不断检查我的 Android 应用程序是否在线 请问我可以在我的android应用程序上执行哪些操作 创建一个名为 isNetworkAvailable 的帮助器方法 该方法将根据网络是否可用返回 true 或 false 它看起
  • Android:将图像裁剪为特定尺寸

    我的目的是让用户从图库中选择一张图像 然后进行裁剪活动 但是 我需要将定义裁剪蒙版的矩形锁定到某个尺寸 然后用户只需重新定位它即可显示图像的一部分 关于如何做到这一点有什么想法吗 Thanks T Intent intent new Int
  • 获取Android库中的上下文

    我正在编写一个 Android 应用程序 它的一些功能封装在内部库中 但是 要使此功能发挥作用 库需要一个应用程序上下文的实例 为图书馆提供这种上下文的最佳方式是什么 我看到了一些选择 但没有一个有吸引力 Have my library c
  • 使用全局变量从内部函数获取空字符串

    请帮助我解决一些小问题 我确信你能做到 D 我试图在 firestore 文档 user cases information 上设置一个字段 其中包含一个字段 case number 首先我声明这个全局变量 private String c
  • java.lang.AssertionError:CALL 'public final fun

    我正在尝试使用 jetPack Compose 制作一个项目 我拥有它工作所需的所有必要依赖项 但是当我运行我的应用程序时 它会抛出一个错误 我找不到解决方案 这是错误 java lang AssertionError CALL publi
  • 膨胀类 android.support.design.widget.NavigationView 时出错

    我按照 NavigationView 的教程进行操作 但无法解决此错误消息 Error inflating class android support design widget NavigationView 教程链接 https www
  • Android:外部存储上的 mkdirs()/mkdir() 返回 false

    我对此感到疯狂 Log d STATE Environment getExternalStorageState File f new File Environment getExternalStoragePublicDirectory En
  • Proguard 正在破坏我的清洁度。 Gson 和泛型

    我有一个从持久性加载信息的函数 我只是以一种非常简单的方式告诉它的类型 该类称为SharedPreferencesHelper kt所以它是一个真正的生活问题解决者 fun
  • 无法使用 Zxing Android 扫描 Code 128

    我已将 ZXing 条码阅读器集成到我的 Android 应用程序中 它可以扫描大部分代码 但我有一张电费单 它无法扫描 使用 Galaxy Ace 5 0MP 我认为问题是由于相机分辨率和焦点造成的 因为当我使用 Xperia SL 12
  • Dart/Flutter 如何编译到 Android?

    我找不到任何具体的资源 Dart 是否被编译到 JVM 或者 Google 的团队是否编译了 Dart VM 以在 JVM 上运行 然后在 JVM 内的 Dart VM 中运行 Dart 前者更有意义 并且符合 无桥 的口号 但后者似乎更符
  • 从 Dropbox 下载文件并将其保存到 SDCARD

    现在我真的很沮丧 我想从 Dropbox 下载一个文件并将该文件保存到 SD 卡中 我得到的代码为 private boolean downloadDropboxFile String dbPath File localFile throw
  • 无法解析“:feature@debugFeature/compileClasspath”的依赖关系:无法解析androidx.annotation:annotation:1.0.0-rc01

    将 Android Studio 更新到 3 3 Canary 10 从之前的 Canary 后 我开始遇到 Gradle 同步问题 ERROR Unable to resolve dependency for feature debugF

随机推荐

  • 布局内的 OpenGL 视图

    如何设置包含 OpenGL 视图的 xml 布局 我现在所做的就是使用 setContentView 将 OpenGL 视图设置为唯一的视图 但我想创建一个包含 OpenGL 视图的 xml 布局 假设我主要想要 OpenGL 视图 并在底
  • 当用户在 jquery 中按 Enter 键时将
    添加到文本框

    我想添加 br 当用户单击输入按钮时 换行符 到文本框 我怎样才能在jquery中实现它onkeyup事件 可以给我展示一个示例或任何实现它的好网站吗 谢谢 从这里复制的文本区域中的插入符位置 从头开始的字符数 See DEMO
  • AJAX GET 请求中查询字符串的最大长度?

    执行 AJAX GET 请求时 查询字符串的最大长度是否存在 更具体地说 我正在使用图像进行跨域 AJAX img new Image img src http www otherdomain com something gif long
  • 获取提供给泛型方法的泛型参数类型和值

    如何获取提供给封闭 构造泛型方法的参数值 已经有一段时间没有接触Reflection了 所有这些都曾经是我的 嗯 无论如何 class Program static void Main string args new ConcreteFoo
  • JVM堆参数

    在阅读了有关该主题的已经提出的问题和大量谷歌搜索后 我仍然无法清楚地了解 Xms option 我的问题是 有什么区别java Xms 512m Xmx 512m and java Xms 64m Xmx 512m 现在我有以下答案 唯一的
  • Chai 断言测试对象结构是否至少包含其他对象结构

    我使用 Mocha 进行单元测试 使用 Chai 进行断言 我想找到一个易于使用的解决方案来检查对象是否具有比较对象中定义的结构和属性 但我不需要对象完全相等 被测对象应包含at least我的测试对象中的所有属性 但它也可能包含当时未测试
  • 如何将工具栏添加到 NSTableView 的底部?

    看看下面的图片 我怎样才能将这种栏添加到我自己的NSTableViews中 其他用途在网络首选项应用程序中 使这项工作成功的秘诀是什么 我不认为有什么 魔术 这是你必须自己实现的事情 看起来像是一群Gradient style NSButt
  • 同时具有接口和实现的 Golang 泛型

    我正在尝试编写以下函数 func Fill X any slice X for i range slice slice i new X xs make int 10 fill with nils Fill xs now fill with
  • 如何在 JavaScript 中创建一个索引从 1 开始的数组?

    默认情况下 每个 JavaScript 数组的索引从 0 开始 我想创建一个索引从 1 开始的数组 我知道 一定很微不足道 感谢您的帮助 这并不是一件小事 不可能 您能做的最好的事情就是使用从 1 开始的数字属性创建一个对象 但这不是同一件
  • 抽象属性(不是属性)?

    定义抽象实例属性而不是属性的最佳实践是什么 我想写一些类似的东西 class AbstractFoo metaclass ABCMeta property abstractmethod def bar self pass class Foo
  • Dropzone 图片上传选项不起作用:(

    我正在尝试构建拖放图像上传 但拖放区选项不起作用 我不知道我是否以正确的方式进行操作 我很想设置以下选项 只上传一个文件 multiupload参数 可以删除该文件 addremovelink 最大文件大小为 2mb maxfilesize
  • 如何将 Console.WriteLine 输出保存到文本文件

    我有一个程序可以将各种结果输出到命令行控制台上 如何使用 a 将输出保存到文本文件StreamReader或其他技术 System Collections Generic IEnumerable
  • 运行CMD命令不显示?

    我已经创建了一个进程来在 CMD 中运行命令 var process Process Start CMD exe c apktool d app apk process WaitForExit 如何运行此命令而不显示实际的 CMD 窗口 您
  • 为什么将列表转换为集合比仅使用列表计算列表差异更快?

    比如说 我想计算两个列表的差异C A B A 1 2 3 4 5 6 7 8 9 B 1 3 5 8 9 C 2 4 6 7 Result A and B都用唯一的整数排序 不确定是否有办法告诉Python列表的这个属性 我需要保留元素的顺
  • 提交带有包含“???”的字符串的 jQuery.ajax 数据它将值更改为“jQuery19107363727174233645_1373301489648?”

    页面端 JavaScript var model NumberOfCPUs 2 NumberOfCores 4 OSType Linux OSVersion var id 0 var success false send to server
  • Jackson:生成带有引用的模式

    当使用 Jackson 的 JSON 模式模块时 我不想在遇到模型类时停止序列化完整的图表 而是使用类名插入另一个模式的 ref 您能引导我到 jackson module jsonSchema 源代码中的正确位置来开始修补吗 下面是一些代
  • 在 MVC4 中,如何将属于域模型一部分的文件(图像)上传到 SQL Server?

    我对 MVC 比较陌生 而且从来没有处理过将文件 特别是图像 上传到 SQL Server 数据库的问题 老实说 我不知道自己在这里做什么 这是我到目前为止所拥有的 这是我的域模型 注意HttpPostedFileBase在我的模型中 这就
  • 如何只过滤项目某个子路径下的资源文件夹?

    我找到了问题和答案Eclipse 在 打开资源 对话框中隐藏 svn 文件但不想过滤给定名称 工作 的所有资源 这太笼统了 我只想排除一个特定子文件夹 sub 中的工作文件夹 我看到 文件和文件夹属性 选项 项目相对路径 和 位置 但它们都
  • MySQL 中的自然排序

    有没有一种优雅的方法可以在 MySQL 数据库中实现高性能 自然的排序 例如 如果我有这个数据集 最终幻想 最终幻想4 最终幻想10 最终幻想12 最终幻想 12 普罗马西亚之链 最终幻想冒险 最终幻想起源 最终幻想战略版 任何其他eleg
  • 是否有相当于 iOS 推送通知反馈服务的 Android GCM?

    我们的网络应用程序向 iOS 和 Android 设备发送推送通知请求 对于 iOS Apple 推送通知服务具有反馈服务 因此您可以检测哪些设备已卸载您的应用程序 然后将其从数据库中删除 Android GCM 有类似的反馈服务吗 如果没