专栏首页短视频开发直播平台建设过程中不可或缺的推送功能
原创

直播平台建设过程中不可或缺的推送功能

要想运营好一个直播平台,需要各方各面的工作和技术相结合完成,而消息推送就是直播app中十分重要的一个部分。App内的消息推送不仅能够给用户提供通知信息,提高用户活跃度,还能够起到召回一部分老用户的作用。那么在直播平台建设的过程中,关于第三方推送也就是我们所说的消息推送功能又该如何实现呢?

图片来源于网络

怎样接入三方推送?

推送功能就是一种服务器主动push消息到用户设备端的行为,因此依赖于设备端和服务器之间的长连接,流程可以分为以下几点:

l 设备与推送服务器建立长连接。

l 设备根据某些规则生成或从推送服务器获取一个devicetoken,推送服务器就可以根据devicetoken定位到具体的设备。

l 设备上报devicetoken到应用服务器,这一步由应用自己完成。

l 应用服务器会根据需要调用的推送服务端接口发起推送。

l 推送服务器收到推送请求后,根据请求中的devicetoken定位到具体的设备,然后下发推送通知。

l 设备收到推送消息,然后进行通知弹窗或其他行为。

图片来源于网络

ios端

苹果的官方有专门的苹果推送通知服务,简称APNS,有很高的推送送达率。最早的APNS提供基于TCP协议的接口,但是这一接口的使用方式较为复杂,如果不注意就容易导致推送失败。后来苹果又提供了一套新的基于HTTP2协议的推送接口,这一接口可以追踪到每个推送请求是被拒绝还是成功,所以应用的也比较多。

Android端

Google最早提供了云推送服务,简称为GCM,后来又推出了新的FCM推送来代替之前的GCM,由于国内的环境并不适用因此各个手机厂商相继推出了各自的推送服务。推送的原理都是相似的,不过是依赖于设备和推送服务器的长连接,但是厂商推送的优势在于这样的长连接可以和自己的手机系统绑定到一起,不同应用可以共享同一条长连接,既节省了流量的耗费,还免去担心应用内长连接断连导致的消息推送失败。与ios端不同的是,Android的推送服务器的接口都是HTTPS接口。

IM场景下推送

在IM场景下,应用服务器有属于自己的长连接服务,第三方推送服务可以利用三方厂商推送的系统级长连接来提高消息推送的送达率。

(1)对于ios端来说,应用没办法常驻后台,所以就需要在切换前后台的过程中通过IM长连接发送一个标记位,服务器就会在设备离线或者处于后台的情况下触发APNS推送,减少设备在前台情况下APNS推送的流量消耗。

(2)对于Android端来说,服务器会在设备处于离线的情况下触发第三方推送,当设备处于后台时会在收到消息之后主动弹窗以便提醒用户有新消息。

以上内容就是在直播平台建设的过程中,推送功能的实现方法及相关内容。推送功能虽然没有直播app内其他的主要功能那么重要,但却是每一个app内不可缺少的功能之一。而直播平台的运营方如果能够好好利用推送功能,增强用户黏性和留存率也是非常容易的。

本文声明原创,转载请注明出处。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • iOS 增量代码覆盖率检测实践

    本文介绍了对iOS覆盖率检测算法的研究,分享一种可以嵌入到现有开发流程中,并对开发透明的增量代码测试覆盖率工具的实现。

    美团技术团队
  • 面向对象设计的设计模式(二):工厂方法模式

    工厂方法模式的适用场景与简单工厂类似,都是创建数据和行为比较类似的对象。但是和简单工厂不同的是:在工厂方法模式中,因为创建对象的责任移交给了抽象工厂的子类,因此...

    用户2932962
  • Flutter 学习笔记4-构建布局示例

    一行中有三个子元素,其中第一列子元素本身又是一列,包含两行文字。需要占用大量空间,所以它必须包装在 Expanded widget 中。

    七适散人
  • (转)iOS学习——UIlabel设置行间距和字间距

      在iOS开发中经常会用到UIlabel来展示一些文字性的内容,但是默认的文字排版会觉得有些挤,为了更美观也更易于阅读我们可以通过某些方法将UIlabel的行...

    mukekeheart
  • 苹果拒绝接入中国北斗,支持日本准天顶系统,库克将来会后悔吗?

    如今智能机市场广阔,国内更是全球最大的手机市场,手机功能也多不胜数,比如导航的功能,无论是哪个方面,导航的作用都非常重要,我国在自主导航领域也不懈努力,民用导航...

    钱塘数据
  • Hades:移动端静态分析框架

    本文主要介绍大众点评自主研发的移动端静态分析框架——Hades,它可以帮助我们更好的审视代码、把控大型项目。

    美团技术团队
  • ios 版本更新提示-硬更新/软更新

    步骤一: 将检测更新写到APPDelegate的applicationDidBecomeActive中

    用户1219438
  • 面向对象设计的设计模式(五):生成器模式

    具体点说就是:有些对象的创建流程是一样的,但是因为自身特性的不同,所以在创建他们的时候需要将创建过程和特性的定制分离开来。

    用户2932962
  • Category 特性在 iOS 组件化中的应用与管控

    除了引用中提到的添加方法,Category 还有很多优势,比如将一个类的实现拆分开放在不同的文件内,以及可以声明私有方法,甚至可以模拟多继承等操作,具体可参考官...

    美团技术团队
  • iOS 前台重启应用和清除角标的问题已知条件:问题描述:调试分析解决问题

    前台时重启应用调用了applicationWillEnterForeground:

    且行且珍惜_iOS

扫码关注云+社区

领取腾讯云代金券