iOS聊天APNS,套接字或时间间隔

Ner*_*u-J 22 sockets iphone chat apple-push-notifications ios

我正在为iPhone制作聊天应用程序,但我不确定对话消息应该如何立即出现.

我已经阅读了关于此主题的大量Google搜索结果.也是曾经的:
- http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server
- http://www.raywenderlich.com/3443/苹果推送通知服务教程部分-12

APNS方法:
将一个不可见的通知推送到iPhone,表示准备好读取新消息.因此,该应用程序将发出未读消息的请求.因此,我不会手动轮询新消息,而是让APNS帮忙.但我不确定?

套接字方法:
建立一个可以共享数据的套接字连接.在db中找到新消息时,它会自动将数据发送到应用程序.但是IP范围,防火墙,功耗等等呢?再次,我不确定:(

轮询方法:
制定一个我轮询请求的时间间隔,耗电量是我的敌人.

我的问题:
- 哪种方法最好?
- 其他建议?
- 我真的需要一些有这方面经验的人的利弊和专业人士.

例子总是好的.
谢谢

Jan*_*ano 6

我认为您的主要关注点是如何在应用程序处于后台时接收新消息.因为当我可以通过WhatsApp等应用程序收到通知时,我不会整天打开信使应用程序.

优于TCPIP套接字,您可以使用websockets.因为它是HTTP,所以没有防火墙问题,但是需要与前台上的应用程序永久连接,从而耗尽电池.

并且因为只允许音乐,位置或语音IP在后台运行,所以除非应用程序处于打开状态,否则无法轮询.请注意,如果您注册这些后台任务并执行其他操作,Apple会注意并拒绝您的应用.

因此,请使用APNS.这就是WhatsApp所做的.