繁体   English   中英

社交Android应用程序的通知系统 - 推送与轮询以及如何使服务器“推送”

[英]Notifications System for Social Android App - Push vs. Polling & How to make a server “Push”

对于那些想要切入追逐并知道我要求的人。 我的问题在下面的段落中编号和加粗。

我有一点时间试图找出1.)如何为Android社交网络应用程序实现适当的通知系统? 到目前为止,所有ive聚集的是有两个选择,轮询与推动,推动比投票更好,它节省了电池,推荐通知的方式是通过谷歌云消息传递(GCM),但我没有得到的是2 。)是什么让我的服务器推动? 和/或3.)当有新数据可用时如何设置我的服务器端进行推送? 进一步的研究暗示,Facebook只能实现他们近乎实时的通知系统,他们有某种服务器端api /库/技术称为节俭或类似的东西,可以检测到谁在线,谁不是(不是积极的为什么这很重要但)。 4.)是否有人为我提供了一些尝试实施类似于Facebook的社交通知系统的提示?

其他重要信息:

  • 我目前使用Codeigniter Rest服务器为api(PHP)

  • 我更喜欢使用我现有的API实现的php解决方案。除了可以独立实现的另一种语言(Java,Ruby,Javascript)的解决方案(我还可以使用我现有的api除了通知之外的其他所有内容)

  • 我不是在找人解释如何使用GCM或指导我阅读教程。 我已经完成了研究并得到了GCM推送通知的几个“示例”,但是到目前为止我找到的教程都没有告诉我如何让我的服务器自行推送。

  • 我需要向用户发出的通知类型包括新朋友请求,来自其他用户的新私人消息,被通知用户发布的内容的新评论,用户评论的内容的新评论(类似于fb notify的说明)如果评论被添加到uve评论的状态)

对于您描述的任务(朋友请求,私人消息,通知等),GCM绝对是您的选择。 当事件发生时,您的服务器将发送GCM消息,并且Google管理消息的发送 - 您不必担心手机处于打开状态或类似情况。

听起来你已经接近将所有这些放在一起,但是有一部分缺失 - 实际发送GCM消息。 至少根据我的经验,没有自动推送的概念。 每次推送都基于发生的某些操作,例如正在发送的消息或新的朋友请求。 例如,如果您已经设置了代码来处理服务器上的朋友请求并更新数据库,那么您只需要添加一些代码来查找被请求者的GCM ID并发送GCM消息告诉您的客户端已收到朋友请求。 在Android客户端,您将有一个扩展GCMBaseIntentService的类,它将接收此消息,并在收到好友请求时运行您想要运行的任何客户端代码(发布本地通知,更新UI等)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM