消息通知—APP Push推送
APP Push推送: 定义为在手机终端锁屏状态下通知栏展示或在操作前台顶端弹出的消息通知,点击后可唤起对应的APP,并在APP内跳转到指定页面。
推送这件事儿,基本上,做移动互联网的运营,都会接触到。iOS下使用苹果自己的服务APNS来做,于是我们也就很简单的将iOS的推送叫作为App Push Notifications;Android这货本来Google自己提供了GCM(Google Cloud Messaging),但是众所周知的原因,Google在国内服务不稳定,于是就有很多第三方的Message推送的服务商,小米就有小米自己的推送服务,华为也有华为自己的,YunOS也有YunOS自己的服务,包括友盟、信鸽(信鸽可能几个月后停止使用这种纯第三方也提供对应的服务。
其实两者的机制都差不多,基本上都是: 应用服务端推消息给到中间的推送服务商,然后中间的推送服务商再推送给终端。 原则上说,这种系统级别的推送, 只要用户没有关闭,就几乎可以肯定会推送到用户终端 ,便于用户进行操作,或忽略,甚至关闭推送服务。
PUSH消息在消息系统创建好后进入发送阶段,服务端需要根据用户终端信息进行路由,如果是IOS系统,那么会调用苹果自身的推送通知服务(APNs),如果用户的手机是安卓系统,那么根据不同的厂商去调用不同的厂商SDK。
对于不同的系统版本,支持的消息展示形式也是不同,比如IOS10之后,当APP在前台时,是否通知栏展示;此样式可以根据产品需求来选择,有服务端传输相应通知方式的值即可。如果用户的手机非五大厂商内的手机,可以通过自己搭建的长连接或者使用第三方服务进行推送。
如果不是自己直接对接厂商通道,那么内部的服务端可能无需做过多较为复杂繁琐的开发工作,通过接入第三方消息推送平台来实现消息的推送,比如信鸽、个推等。多数的通道会将消息是否成功推送到客户端SDK的回执数据反馈给发送方,需要提供回调地址。
通道类型一般分为三类: 厂商通道、第三方推送服务平台、长连接 。
厂商通道 是手机终端厂商推出的推送服务,通过接入厂商SDK,内部服务端可以将消息推送到手机系统的服务端,再下发至客户端内部的厂商SDK,由操作系统进行相应展示,点击后唤起相应APP,这样可以避免APP进程被杀死后消息无法触达用户,因此触达率较高。
第三方推送平台 是推送服务公司自己搭建相关的消息服务。并且各个APP使用了同一个平台的推送服务时,客户端都是集成同一个第三方推送平台的SDK,因此形成了一个推送联盟,当联盟中的其中一个APP的消息进程没有被杀死的时候,其他的APP也可以利用进行通知用户,形成了相互唤起,提高触达率。
经过一些场景的测试,相互唤起的成功率并不是很高,需谨慎结合自身场景评估。为了提高触达率, 第三方推送平台也会集成各大厂商的SDK进行推送 。
长连接 就是建立手机与服务端的一条链路进行消息数据推送,通过长连接也可以进行APP状态监控,但完全由长连接推送且保证触达的稳定,需要投入的研发资源较多,且需尽量避免自己的长连接进程不要被操作系统杀死。
消息提醒功能:语音和图标
关键消息提醒:双重提醒
(1) CMS(内容管理系统),目的是配置消息推送模板
App push模板:push标题、push小标题、push图片;
消息显示模板:消息标题、消息小标题、消息banner图片、消息文本、消息链接等,根据消息类型不同按需进行配置。
(2)CRM(客户关系管理系统),目的是推送配置和推送效果查询