定位推送通知

时间:2014-03-03 13:42:49

标签: java android google-app-engine push-notification google-cloud-messaging

我对应用程序有一个想法,并且我试图首先获得实现它的计划。我打算在Google App Engine上实现一个java服务,这将把消息推送到订阅者,我有一个频道的概念,与Parse完全相同。遗憾的是,GAE不支持Parse,它只有一个Android客户端。

GCM是否有基于频道的推送通知?就像一个设备可以订阅多个频道,我可以通过一个频道推送消息,并且该频道的所有订阅者都可以收到通知吗?

或者我还有其他选择吗?

2 个答案:

答案 0 :(得分:0)

GCM不支持基于频道的通知。

如果您直接使用GCM,则必须自己实现此功能:您的服务器必须管理频道和设备之间的映射(注册ID),并在您希望时推送到订阅频道的所有设备推进那个频道。

答案 1 :(得分:0)

注1 :已经完成,APNSGCM。您还有其他任何功能,这两个系统尚未提供吗?

GAE不支持侦听套接字,这会阻止构建任何服务器到设备的持久连接推送系统。

注意2 :有Channels API,但它只是网络,因为它包含在一个不透明的javascript包装器中,并且它的协议是故意隐藏的。

备选方案1 :使用PubNub,Pusher,Amazon SNS等现有外部服务。

备选方案2 :而不是GAE使用Compute Engine,它没有这样的限制。然而,它(还)没有任何大多数GAE好东西:它的服务API(数据存储,队列等)。

注3 :您对持久连接的想法只有在设备上的应用程序处于“活动状态”时才会起作用,例如:在前台(至少在iOS上,在Android上它可能但会严重影响电池)。对于通用的推送设备,您需要将系统与平台提供的异步推送系统(例如APNSGCM)结合使用。