一个app中使用推送是很常见的需求,如果自己公司去实现一个推送功能是非常麻烦的事,不仅费时费力,做出来也不一定很成熟,所以我们经常是使用第三方的推送,目前常见的第三方推送有极光推送(JPush)、百度云、融云、网易云信等。今天我们就来使用JPush实现推送功能。
极光简介:现在有两种产品,一种是极光推送用来推送消息,另一种为极光IM用来实现聊天。推送方式有三种:通知、自定义消息、富媒体。每次推送可以指定推送目标:广播推送、标签推送、别名推送。
下面我们就来具体的操作一遍,假如现在我们要开发一款应用名字叫着今日新闻,大家知道这种应用免不了会有推送新的新闻,所以我们必须要在应用中集成推送功能。首先我们创建好一个应用叫TodayNews,然后来到极光官网:https://www.jpush.cn/common/,注册账号后登录-->点击自己头像来到控制台--->左下角的创建应用--->填好应用名称和包名后创建我的应用--->然后点击下载android Example--->把下载的应用导入eclipse安装到手机中--->在网页中控制台中找到发送消息,填入消息后点击立即发送,这时手机就可以收到我们推送的消息了,看下面的动态图:
上面只是用官方给我们自动生成的例子来演示了一下如何去推送消息和收到消息是怎么样一个效果,下面我们要做的是如何让我们自己创建的TodayNews收到我们推送的消息!
要实现这个效果,只需要执行下面的步骤:
1、创建应用,去官网下载需要的资源。
2、将资源复制到对应的项目目录,修改需要改变的几处地方。
3、在项目中修改一些代码,删除demo才能正常安装我们的项目,因为他们的包名是一样的。
ok,下载资源我们可以到这里下载:http://docs.jpush.io/resources/#_2,下载完成后里面有libs、res文件夹,复制里面的文件到自己工程的对应位置,然后里面还有两个manifest文件,一个是android Studio的一个是eclipse的,选择自己对应的开发工具,复制里面的代码到自己工程的manifest文件中,其中标有for only Test的Activity、Broadcast不需要复制,将里面用中文标注需要修改成自己包名的对应的修改,里面有一个需要appkey的地方改为自己的在官网上面创建应用的时候得到的appkey,也可以使用下载的demo里面的manifest里面的appkey他们是同一个。到这里前两步就完成了,我们新建一个类继承之Application,在manifest里面把application改成我们自己新建的这个,里面的代码如下:
public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();//初始化JPushInterface.init(this);//正式发布的时候记得改成falseJPushInterface.setDebugMode(true);}}然后在MainActivity里面修改代码成下面的:public class MainActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}@Overrideprotected void onResume() {super.onResume();JPushInterface.onResume(this);}@Overrideprotected void onPause() {JPushInterface.onPause(this);super.onPause();}}扫描关注我的微信公众号:
一定要调用相应的生命周期方法,不然会提示没有接入统计代码!到这里我们的应用就搞定了,下面来看运行效果:到这里推送就搞定了,先前弄了好久没弄好,其实也是蛮简单的,只是官方的说明文档和demo太扯淡了,一点条理没有,所以整理了这篇文章,有不懂的欢迎给我留言!