发表于: 2019-05-17 21:41:23

1 432


今天完成的事情:

1.修改了任务

2.通过学习师兄的日报,明白了任务9应该掌握的知识



明天计划的事情:

继续 改任务


遇到的问题:

为什么有的公司本身有消息推送还要用第三方推送呢????例如小米


收获:

总结

不在乎成本的企业可以开发自己的推送,或者外加手机厂商推送等四三放推送

成本有限可以用第三方平台推送(例如友盟)

目标群体精确且使用华为 小米手机等可以选择手机厂商推送

一、学习消息推送


1.作用:

产品角度:功能需要,如:资讯类产品的新闻推送、工具类产品的公告推送等等
运营角度:活动运营需要,如:电商类产品的促销活动;召回用户/提高活跃度等等


2.移动端消息通知的方式主要分为两种:pull方式和push方式


pull方式:

pull方式即“拉方式”,这种方式中手机上的应用程序在启动时经过一定周期会定时连接应用的服务端来获得服务器需要传递给终端的消息,因为此处是终端从服务端主动获得消息,因此成为拉方式。

此方式服务端实现简单,只需要在终端连接上之后把需要发送的消息发送给终端即可,但是此方式有几个弊端:


每个应用都需要建立到自己服务器的socket连接,移动终端需要维护多个socket连接,较为耗电,不易于管理。

采用拉的方式,应用在启动的时候回从应用的服务器上拉取消息;启动之后,应用会周期性的连接服务器去检查是否有消息需要拉取,这种方式并不及时,需要等到终端主动拉取的时候服务器才能把消息传递到终端。如果应用频繁检查是否有消息需要拉取,那么耗电会增加,如果检查周期过长,那么会影响消息的及时性。

所以,采用pull方式进行通知消息的传递并不是一个很好的办法。


push方式:

采用push方式,移动终端只需要和推送服务器之间保持一个长连接即可。这样移动端用于推送的socket连接数量就与需要推送服务的应用数量无关了,只需要维持一个终端与推送放服务器之间的长连接即可,所有应用的服务端都是直接连接推送服务器并通过推送服务器来吧消息推送到终端。而终端也只与推送服务器进行连接即可获得推送消息。


推送服务器通过长连接,在消息到来的时候可以立即把消息推送到连接上来的终端上,实时性比较高


3.ios和安卓

ios:所有的苹果应用都只能用苹果推送(push)

安卓:分为第三方推送、主流推送方式和自己搭建

Ps:主流推送方式这块属于开发了,了解了一下每种方式的优缺点,就不详细写了。




第三方推送:


① 主流的第三方推送平台分类


● 手机厂商类:小米推送、华为推送

● 第三方平台类:友盟推送、极光推送、云巴(基于MQTT)

● BAT大厂的平台推送:阿里云移动推送、腾讯信鸽推送、百度云推送


其他推送方式还有:C2DM、轮询、SMS、MQTT协议、XMPP协议等等,相当于这些推送方式,第三方推送方式的特点分别是:


● 优点:

1.成本低
上述的推送大多数是免费的,假如自己实现则消耗过多资源(开发成本和后台管理、统计成本)
2.消息到达率高
如果一个手机里有多个App使用了同一家推送服务,那么这些App将共用一条消息通道,即使你家的App推送服务被杀死了,那么只要用户打开了其他继承该推送服务的App,你家的推送就能到达用户。


● 缺点:

1.安全性低
使用别人的服务器,所以你懂得。
2.服务会被杀死
由于安卓系统的机制,后台推送Service会被各种主动的或是被动的行为给杀死,而服务一旦被杀死,意味着就接收不到推送消息。



第三方推送服务方式的特点:


1.手机厂商推送

潜规则:操作系统是不会杀死属于自己品牌的推送服务(1.手机厂商的推送服务在自家的手机上属于系统级别的服务,这意味着系统不会杀死这家的推送服务;2.比如说,安卓原生系统是不会杀死C2DM消息推送服务,MIUI系统是不会杀死小米的推送服务。)
当今市场是安卓手机系统份额最高的是MIUI系统,所以如果要选择手机厂商的推送服务,请选择小米推送作为第三方平台实现推送服务,因为免费、到达率高,且在安卓系统市场份额第一的MIUI系统上不会被杀死。


● 典型案例:

腾讯新闻使用的小米推送,没有使用自己的信鸽推送
淘宝使用了自己的阿里云推送,同时还集成了小米推送
百度视频和爱奇艺使用的是小米推送,没有用自家的百度推送


● 集成应用:

1.如果希望进一步提高推送的效果,其实可以集成多个手机厂商的推送服务
2.比如小米渠道用小米推送,华为渠道用华为推送,但这样的实现成本会大一些
他们都在用集成应用:



② 第三方平台类

规则:推送系统会共享一条推送渠道(1.这意味着假设你接入了友盟推送,而恰好今日头条也接入了友盟;2.有一天你的App被杀死了,但这时用户启动了今日头条,那么推送系统也就会通过共享的推送通道顺便把你推送的消息送达到手机上,然后还可能把你的进程也唤醒,被”保活“了。)
所以如何选择第三方平台类的推送,推送平台的规模效应就很重要了。


③ BAT大厂的推送

BAT大厂其实并没有什么优势,同时谨记:不要以为用了腾讯信鸽推送,就能沾上微信的光,保证你的App永远不被杀死。例如:手机淘宝除了自家的阿里云移动推送,同时也使用了其他的第三方推送平台。


如何选择第三方平台推送服务?

根据使用场景选择消息推送平台~



4. 推送消息的类别:


通常第三方平台都支持两种推送消息类型:通知栏消息和透传消息


● 通知栏消息:该类消息在被送达用户的的设备后,直接以系统通知栏的形式展示给用户(不会继续被传递到App)


● 透传消息:该类消息在被送到用户的设备后,还会继续传递到App(由App决定如何处理和显示这个消息)


● 二者的区别在于:透传消息在整个消息传递的过程中比通知栏消息多了一步》传递到App


● 通知栏消息的优点:送达率高

因为透传消息在整个消息传递过程中比通知栏消息多了一步》传递到App,因此透传消息就增加了一些被系统限制的概率,被系统杀死的概率就高一些,所以说通知栏消息比透传消息能提供更噶几的送达率。


● 透传消息的优点:对消息操作成都高&自定义程度高

1.提供了对消息数据的更灵活的操纵能力(App如果仅仅通过通知栏消息,是无法接触到消息数据本身的)
2.可自定义通知提醒的样式(包括提示样式、提示形式如声音等等)


5.消息发送的时间

一般为 上午9-10点、中午12-14点、下午5-6点、晚上21-22点这几个时间段。




返回列表 返回列表
评论

    分享到