什么时候使用 android GCM 有用?
据我所知,这是一种推动而不是拉动机制。
目前正在使用通常的 http 客户端发送帖子并从我的服务器获取 json 响应数据。不确定使用 GCM 是否有意义,因为 ppl 使用它来更新 android 等上的 sqlite db。
什么时候使用 android GCM 有用?
据我所知,这是一种推动而不是拉动机制。
目前正在使用通常的 http 客户端发送帖子并从我的服务器获取 json 响应数据。不确定使用 GCM 是否有意义,因为 ppl 使用它来更新 android 等上的 sqlite db。
据我所知,这是一种推动而不是拉动机制。
最新的更新支持推送和拉取,尽管它主要被认为是推送(服务器 -> 设备,通过 Google 的服务器)。
目前正在使用通常的 http 客户端发送帖子并从我的服务器获取 json 响应数据。
当设备知道启动该工作时,它工作正常。
GCM 推送事件是围绕服务器知道需要发生某些事情而设备不知道的情况设计的。
例如,请记住牛奶(RTM)。这是一个“Web 2.0”的待办事项列表服务。您可以从 Web 浏览器和移动应用程序访问它。当您在 Web 浏览器中进行更改时,如果您还安装了 Android 应用程序并将其绑定到同一个 RTM 帐户,则 RTM 服务器将使用 GCM 通知设备待办事项条目发生了更改。可以想象,RTM 可以下推 4K GCM 有效负载中的全部信息,或者它可以只是一个触发器,导致 RTM Android 应用程序使用正常的 Web 服务调用来下拉数据。
这比轮询架构更有效(例如,RTM 每五分钟检查一次更新),因为我们只在有实际工作要做时才进行重要的网络 I/O。它也(通常)更快,因为 GCM 消息(通常)实时传递(-ish),因此 Android 应用程序可以比使用轮询架构更快地同步。
如果您描述您的代码/应用程序在需要服务器响应时启动请求。在这种情况下,这是正确的方法。
如果服务器发生需要某种通信初始化的事件,则推送消息(在 Android 的情况下:GCM)是正确的方法。对于直接消息传递或电子邮件系统,服务器始终代表用户/客户端在线操作 - 它可以发送推送消息以启动所需的通信(传递消息或启动电子邮件提取)。