有没有类似于iOS推送通知反馈服务的Android GCM替代方案?

10
我们的Web应用程序向iOS和Android设备发送推送通知请求。
对于iOS,苹果推送通知服务有一个反馈服务,因此您可以检测哪些设备已卸载您的应用程序,然后从数据库中删除它。
是否有类似的Android GCM反馈服务?如果没有,如何检测哪些Android用户不再安装该应用程序?

您可以使用dryRun属性仅向GCM发送示例消息,而不会将其传递到设备。 - Ahmet Karakaya
谢谢。你有更多信息的例子或链接吗? - ban-geoengineering
请查看 https://www.npmjs.com/package/node-gcm,以了解使用方法。 - Ahmet Karakaya
2个回答

22

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

没有。

如果没有,如何检测哪些Android用户已卸载了该应用程序?

引用文档

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

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


答案中的链接已过时。当前链接:https://developers.google.com/cloud-messaging/registration#how-uninstalled-client-app-unregistration-works - patric.schenke

1

GCM会用"NotRegistered"错误回复您(假设您使用HTTP)。 此外,GCM最近已经发布了iOS版本,因此您可以使用它来发送Android和iOS通知。


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