我有一个应用程序的想法,并且正在尝试首先获得一个实现它的计划。我计划在Google App Engine上实现一个java服务,这将是向订阅者推送消息,我有一个渠道的概念,与Parse完全相同。不幸的是,GAE不支持Parse,它只有一个Android客户端。
GCM是否有基于频道的推送通知?比如,一个设备可以订阅多个渠道,我可以通过一个渠道推送消息,而该渠道的所有订阅者都会收到通知?
或者我还有别的选择吗?
发布于 2014-03-03 23:02:14
GCM不支持基于通道的通知。
如果您直接使用GCM,则必须自己实现此功能:您的服务器必须管理通道和设备(注册ID)之间的映射,并在您希望推送到某个通道时推送到订阅该通道的所有设备。
发布于 2014-03-04 00:49:48
注意1:这已经完成了,APNS和GCM。你有没有想到这两个系统还没有提供的其他功能?
GAE不支持监听套接字,无法构建任何服务器到设备的持久连接推送系统。
Note2:有Channels API,但它只是web,因为它被包装在一个不透明的javascript包装器中,而且它的协议被故意遮蔽。
Alternative 1:使用现有的外部服务,如PubNub、Pusher、Amazon SNS等。
Alternative 2:使用Compute Engine代替GAE,它没有这样的限制。然而,它(目前)还没有任何GAE的好处:它的服务API(数据存储、队列等)。
Note3:你的持久连接想法只有在设备上的应用程序“活着”的情况下才会起作用,例如在前台(至少在iOS上是可能的,但会严重影响电池)。对于通用的push- to -device,您需要将您的系统与平台提供的异步推送系统(例如APNS和GCM)相结合。
https://stackoverflow.com/questions/22148356
复制相似问题