直播间搭建时关于后台实时推送消息功能的相关知识
通常我们在观看直播的过程中,经常会在前端APP页面收到来自直播平台推送的消息。虽然看起来只是向用户推送消息,但是在Android端和iOS端实现这一功能还是有很大区别的。目前,后台推送实时消息这一功能在移动端APP已经非常普遍了,所以来给大家简单分享一下在直播间搭建的过程中,iOS和Android端实现这一功能的区别和原理。
给大家先看一下云豹直播系统后台管理中心消息推送功能的界面,如下图。
1.简单的对比
(1)iOS端
iOS端的推送功能是依托一个或几个系统进行进程运作,是结果所有应用的消息推送,可以看作是独立于应用之外的,并且使设备和苹果服务器之间的通讯,并非是应用的提供商服务器。
(2)Android端
Android端每个需要后台推送的应有都具备各自的单独后台进程,可以和各自的服务器进行通讯并交换数据。
简单的对比之后可以发现,iOS端的消息推送对于系统的开销较少,内存使用和电量等方面都使用较少,而Android端开销较大但是更加稳定和快速。
2.技术原理
先来简单说一下基本的原理。每一个设备都有独立的设备号,而设备中的APP都有唯一的包名,所以服务器只需要找到设备号与包名就可以直接定位到某个设备的某个APP,设备号也会和包名一起构成一个标识符。服这个时候就会把这个标识符与消息内容等信息发送到服务器,服务器再将内容分发到唯一的标识符上。举个简单的例子,就好像我们去寄快递地址需要具体到某个门牌号,但是快递会先寄到城市的总站点,然后在分别进行分发派送。我们在例子中所提到的快递就是直播过程中要推送的消息,最后送到的地方就是接收消息的APP,而送到的门牌号就是包名。
(1)iOS端的推送是通过苹果自己的服务进行的,用户需要将标识符以及消息内容等推送消息交给服务器,剩下的都由苹果自己来完成。作为设备标识的标识符是由APNs颁发的,只有正确的标识符才会被APNs接受,如果是错误或者无效的标识符APNs就不会接受。开发者在使用第三方推送平台将推送内容和范围选定之后进行推送,第三方推送平台就会将信息提交给APNs,剩下的操作就会直接由APNs来完成。如果提供的标识符是失效的,那么推送的过程就会出现中断的现象,此时如果频繁的断线重连可能会被APNs认为是DOS攻击。
(2)Android端在不适用GCM的情况下,需要将自己的服务器或是提供三方推送服务的服务器与设备建立成为一条长连接并通过长连接来进行推送。但是并不建议自己设置服务器实现推送功能,一个是因为开发和维护的成本很高,而且自己搭建的服务器在稳定性和速度上效果并不好。另一个是因为数据量较小,无法实现精准推送。
在直播间搭建的过程中,后台实时推送消息功能已经成为开发过程中的必备功能。这一功能不仅可以给用户实时推送消息,增强用户黏性,还能让智能终端成为真正的信息传播工具。
本文声明原创,转载请注明出处。(www.yunbaokj.com)