Android Studio极光推送整合到自己的项目中
1、今天新做了一个项目,以前推送的时候用过百度云推送,发现百度云推送到达的太慢,然后使用的是个推进行推送的,发现还是可以吧,然后最近一个项目做IOS的哥们说他集成过极光的,但是集成个推的不太会,好吧,既然都这样说了,我就再次尝试集成一下极光推送,也正好比较一下。
2、去极光逛网注册一个账号:https://www.jiguang.cn/?hmsr=%E5%93%81%E4%B8%933&hmpl=logo&hmcu=&hmkw=&hmci=;然后创建一个应用:
3、可以下载demo进行查看,也可以下载我集成到studio的项目进行查看:https://download.****.net/download/f552126367/10352575
4、将给的demo的类全部考到自己的工程中,将AndroidManifest.xml里的所有数据拷贝到自己的工程中,注意修改包名和权限。
5、将demo中的jar包烤包到自己的libs文件夹下,然后引入,然后将armeabi全部考入到jniLis文件夹下,如下图所示:
6、在build中加入引入内容:
//极光推送的jar包 compile files('libs/jcore-android-1.2.0.jar') compile files('libs/jpush-android-3.1.2.jar')
ndk { abiFilters "arm64-v8a", "armeabi-v7a", "x86", "x86_64" }
7、在自己写的Application中加入初始化功能,
//极光推送初始化功能 JPushInterface.setDebugMode(true); // 设置开启日志,发布时请关闭日志 JPushInterface.init(this); // 初始化 JPush
8、记得在APP首页写一个接收的方法
registerMessageReceiver(); // used for receive msg
/*设置极光推送接收方法*/ public void registerMessageReceiver() { mMessageReceiver = new MessageReceiver(); IntentFilter filter = new IntentFilter(); filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY); filter.addAction(MESSAGE_RECEIVED_ACTION); LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter); } public class MessageReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { try { if (MESSAGE_RECEIVED_ACTION.equals(intent.getAction())) { String messge = intent.getStringExtra(KEY_MESSAGE); String extras = intent.getStringExtra(KEY_EXTRAS); StringBuilder showMsg = new StringBuilder(); showMsg.append(KEY_MESSAGE + " : " + messge + "\n"); if (!ExampleUtil.isEmpty(extras)) { showMsg.append(KEY_EXTRAS + " : " + extras + "\n"); } setCostomMsg(showMsg.toString()); } } catch (Exception e){ } } } private void setCostomMsg(String msg){ showToast(msg); }
9、仿照给的demo,将用户名设置为别名或者标签,则后台可以直接通过这两个的任意一个进行推送到手机上。
//设置alias case R.id.bt_setalias: alias = getInPutAlias(); if(TextUtils.isEmpty(alias)){ return; } isAliasAction = true; action = ACTION_SET; break;
10、好了大功告成,慢慢补充修改推送样式和点击推送跳转的问题。
参看https://blog.****.net/nihaoqiulinhe/article/details/50697301;完善的是当点击通知时,跳转到指定的页面