一、PUSH
push是一种服务端向客户端发实时送通知的技术。
常用的使用场景如:
- 消息提示。
- 事件提示。
- 内容推送。
- 等
二、分类
1. 通知消息
支持离线推送,但是功能毕竟单一,就是在手机消息通知栏提示,点击该提示可以唤醒APP或打开网页。
如:
你的微信没启动,别人给你发消息时,手机通知栏就会有一个提示,你点击提示就打开了微信应用。
通知类消息能否点击打开应用后进行自定义逻辑操作呢?当然可以!不是支持点击打开网页吗,去看看UrlScheme
3. 透传消息
只能在线推送,可以携带参数,收到消息的处理逻辑可由在应用中定制。
如:
你的维修已启动,别人给你发消息时,微信聊天列表上会有一个红点标记。
如果是用的QQ,还能直接在其他页面上弹出一个对话框。
三、现状
1. Android
因为谷歌的FCM通道被墙,国内的push百花齐放。
有三方公司做这push服务,也有部分厂商自己创建系统级的push服务。
整体事态对开发者接入十分不友好,导致安卓的送达率不太可靠。
前面统一推送联盟的出现有可能挽救这样的局面,但暂时还需等待。
2. iOS
苹果的iOS系统统一使用APS通道,开发者只需对接苹果服务器即可完美送达。
这一块上iOS系统还是毕竟省心。
四、方案
1. 统一推送联盟
统一推送联盟这个是要是成功推广了,是最完美的解决方案。
虽然成立3年了,但是目前在整体市场上的影响还有限。
2. 各厂商推送
可保在接入厂商的手机上实现离线消息推送,但接入。
主要厂商有小米、华为、oppo、vivo、魅族等。
3. 三方推送
三方提供了对单独的push服务,主要有个推、极光等。
如果你是Dcloud的用户,建议直接使用unipush,它使用个推的push服务并整合各厂商的push接口,是目前比较方便的接入方案。