一、MobPush概述
MobPush是MOB继一系列公共SDK之后推出的一款专注app推送服务的免费SDK。可以帮助开发者更快、更方便集成实现推送功能。推送可以大幅度提升用户活跃度,有效唤醒沉睡用户。
目前MobPush可支持IOS 、Android两大平台APP集成,提供Rest API 方便开发者灵活发送推送消息,并且提供完整的可视化数据和强大管理后台。在推送形式上已经完全支持基本的通知栏消息、透传消息、本地消息的推送,并且可设置定时下发推送功能;在考虑精准推送上,MobPush支持不同程度的推送范围发送---Registration ID 、别名、标签、地理位置以及精细化的用户分群方式。
二、推送模式解析
MobPush整体使用MobPush自有通道+厂商通道的方式,厂商通道包括IOS的APNs,Android的厂商通道包括华为、小米、魅族三个通道;MobPush自有通道是自定义的一套基于UDP的更为简单的二进制网络通信协议。如下图先看下整体的推送流程:
以上是MobPush整体的流程, IOS的通知栏消息全部是基于APNs首先下发的,但是如果APNs发送失败,我们会再尝试使用自有消息通道进行消息下发,然后再由客户端处理为本地通知的方式到达通知栏,这样可以保证更高的消息到达能力;Android的通知消息如果对接了厂商通道,则优先会经过厂商系统级别的通道发送,并且如果厂商通道失败,会采用离线的方式保留,待客户端下次上线之后采用MobPush通道下发;所有的透传消息都是需要经过MobPush自有通道下发的。