刚刚接触到推送的时候我很蒙,不知道该怎么下手,看了一下极光推送的文档,极光安卓sdk集成指南,
根据指南一步一步做,首先在首页中下载的产品中选择极光推送,下载安卓的sdk
1.把下载的sdk中的libs下得极光的jar包复制粘贴到自己的项目中
2.
- 复制 libs/armeabi/libjpush1xy.so 到工程 libs/armeabi 目录下
- 复制 libs/armeabi-v7a/libjpush.so 到工程 libs/armeabi-v7a 目录下
上面是极光推送文档中说的,但是我却遇到了一个问题,我在把他们粘贴到自己项目里面的时候总会报错,提示我找不到.so文件,
后来我发现,是因为在原来的时候我的项目中存在地图,在main的下面有一个jniLibs文件,然后我把.so文件放在那下面,才提示正确
3.配置权限,根据极光的文档配置权限
4.把demo里面的ExampleUtil.java文件和MyReceive.java文件粘贴到自己的项目里面
在MainActivity中的oncreate()中加入
init();
registerMessageReceiver(); // used for receive msg JPushInterface.setDebugMode(true); // 设置开启日志,发布时请关闭日志 JPushInterface.init(this); // 初始化 JPush这几句话
在下面写上
private void init() { JPushInterface.init(getApplicationContext()); // JPushInterface.getRegistrationID(this.getBaseContext()); }
@Override protected void onResume() { super.onResume(); isForeground=true; } @Override protected void onPause() { isForeground=false; super.onPause(); } @Override protected void onDestroy() { unregisterReceiver(mMessageReceiver); super.onDestroy(); }private MessageReceiver mMessageReceiver; public static final String MESSAGE_RECEIVED_ACTION = "com.example.jpushdemo.MESSAGE_RECEIVED_ACTION"; public static final String KEY_TITLE = "title"; public static final String KEY_MESSAGE = "message"; public static final String KEY_EXTRAS = "extras"; public class MessageReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { 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 (messge.equalsIgnoreCase("registrationId")) { // loginPush(extras); // } } } }
这样就完成了,就可以在推送的后台进行测试,这个是向全体成员发送推送通知的