什么是推送
简单的说,移动端的推送服务就是服务器定时将消息送到给客户端的服务。
要达到这个效果有几种方式(Android端):
1.轮询
客户端每隔一段时间便向服务器发送一次请求,询问是否有新消息,如果有,则服务器将消息发送出来
优点:简单
缺点:轮询的单位时间如果长的话,则没有即时消息的效果,如果短的话,那客户端的压力就会很大,耗电,耗流量
2.SMS
以短信的方式向每个用户发送消息
优点:不需要网络
缺点:成本太高,一条短信一毛钱,一个百万级的APP,一次就是10w,当然,肯定是有折扣的。如果仅需要发送一两条这样的消息的话,还是能接受的,但是如果要每天来个五六条,老板:???????????
3.GCM服务
Google推出的云消息服务,Google Cloud Messaging,以前是C2DM,现在以及被GCM替代了
优点:Google亲儿子,原生,简单
缺点:国内用Google?
4.XMPP协议/MQTT协议
自己搭建一个推送服务
优点:功能强大
缺点:复杂,部署硬件成本高
5.使用第三方推送服务
导入SDK使用第三方的推送服务,比如极光推送,百度云推送,个推等等
优点:稳定,简单,开发成本低
缺点:毕竟用的是别人家的东西,总是有些顾虑的
综上所述,我们选择了使用第三方推送,这篇博客就是介绍其中的极光推送是如何使用的?
首先,打开极光推送的官网https://www.jiguang.cn/push
注册登陆,然后点击SDK下载
下载Android版本,解压,发现里面有这些东西
好了,这个先放一边,然后打开AS,在自己应用的AndroidManifest文件或者gradle文件里找到自己应用的包名
然后回到网页,进入极光推送的App管理界面https://www.jiguang.cn/app/list
在这里将自己的应用创建一下,其实就两个要填的,应用名和包名,图标可选可不选(不选就是默认的Logo)
创建好之后将这个Appkey保存下来
然后就回到之前下载的SDK目录里面,打开libs文件夹,将里面的文件全部复制到AS里面
然后在AS里面将两个Jar包添加依赖
compile files('libs/jcore-android_v1.0.0.jar')
compile files('libs/jpush-android_v3.0.0.jar')
然后再将SDK目录下的res文件夹里的文件全部复制到AS里面来