0

首先,我知道 GCM 服务,我也对此有疑问。

如果我想实现推送服务,这是正确的方法吗?服务器等待连接,Android客户端连接服务器并一直等待数据。所以服务器可以随时发送数据。连接始终打开并显示保持活动消息。

关于 GCM;

  • GCM 是否使用这种逻辑?
  • GCM 是否适用于所有 Android 设备?我的意思是,如果使用 Android 操作系统的设备可以保证它也支持这项 Google 服务吗?
  • 如果 GCM 不是 Android 上的保证服务,我应该如何处理设备上没有 GCM 支持的情况。或者这是一个微不足道的案例?
4

2 回答 2

1

GCM 是否使用这种逻辑?

通常是的,但请记住还有更多细节。

是否保证如果使用 Android 操作系统的设备也支持这项 Google 服务?

不会。它只会出现在合法拥有 Play 商店和其他 Google 专有应用程序套件的设备上。它不会出现在 Kindle Fire、OUYA 或其他纯粹从开源项目中使用 Android 的设备上。

我应该如何处理设备上没有 GCM 支持的情况

亚马逊有一个与 Kindle Fire 系列相同的 GCM,IIRC。

除此之外,由于 GCM 不是有保证的交付服务,因此即使对于“普通”Android 设备,您也需要一个后备计划。

例如,假设您正在编写一个应用程序来向用户显示新闻标题。在没有任何推送通知的情况下,您每四个小时轮询一次新的标题,或者当用户按下 UI 中的“刷新”按钮时。使用 GCM,您的服务器可以在标题到达时推送它们,您的应用程序可以获取这些标题。这为“普通”设备上的用户提供了更新鲜的数据,但仍涵盖您错过某些 GCM 消息或不支持 GCM 的设备的情况。

于 2013-07-12T00:49:07.143 回答
-2

除了 CommonsWare 提到的 GCM 之外,您可能还想将 MQTT 视为另一种发布/订阅机制;它适用于任何可以运行 Java 的设备。是一个链接,我试图解释它是如何工作的。

该链接适用于 LAN 消息传递,但也适用于 Internet。这是 Facebook 聊天应用程序使用的机制。在该链接上,您会找到另一个指向 git 的链接,我在其中展示了在一个简单的家庭自动化项目中使用的 MQTT。如果您有任何问题,我可以尝试回答。

于 2013-07-12T00:59:24.353 回答