PDK*_*PDK 41 push-notification apple-push-notifications socket.io google-cloud-messaging
我正在为网络,Android和iOS开发聊天系统.做我的研究我发现GCM和APNS如何处理推送通知的差异.
如果我通过GCM向Android设备发送推送通知,设备能够决定是否通知用户有关它,或者如果它不是必需的,它不会告诉用户.它可能只是用户不需要通知的数据更新.另一方面,如果我通过APNS向iOS设备发送推送通知,则设备无法决定是否显示通知,必须显示通知.此外,当iOS设备收到通知时,通知数据必须包含将向用户显示的字符串.在Android上,设备可以生成该字符串.
因此,我想创建一个系统,对iOS和Android以及网站(基于API)的工作方式相同.那是我找到Socket.io的时候.Socket.io让我可以自由地向设备发送数据(无论是iOS还是Android),以便设备决定是否显示所做的更改(可能是用户更新,新消息,邀请或许多其他"事件").但是,在我的研究中,我发现了一些关于使用Socket.io的缺点.设备必须连接到套接字,以便信息在客户端和服务器之间流动,但现实世界中的智能手机始终连接和断开连接到不同的网络,这会破坏套接字连接.此外,通过在后台打开连接,服务器和客户端之间有一个乒乓球来验证连接是否仍然打开,最终消耗了megas(在我的国家,我们为每个使用的mega支付费用) ,我们还没有统一费率)和生活方式.我不确定这种消费是否重要.
在网络方面,它必须与Socket.io一起使用,所以这根本不是问题.
最后,我知道两种选择的优缺点,我发现我可以混合两种选择,这可能最终成为我的最佳选择.例如,当应用程序打开时,它使用Socket.io,当关闭时使用APNS或GCM(取决于设备操作系统).但是,这是一个好习惯吗?或者更好的是坚持使用1个解决方案而不是混合使用它们为什么?
非常感谢您花时间阅读本文,甚至更多地回答.
bol*_*lav 12
您已准确列出了利弊.使用两者将为您提供更多维护方面的工作,同时也会增加复杂性,但会为您提供所需的灵活性.它将归结为您的要求.
您也可能会发现在iOS后台进程中打开socket.io连接会很麻烦.iOS在后台运行的任务比Android更具限制性.
| 归档时间: |
|
| 查看次数: |
11299 次 |
| 最近记录: |