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.csdn.net/download/f552126367/10352575

4、将给的demo的类全部考到自己的工程中,将AndroidManifest.xml里的所有数据拷贝到自己的工程中,注意修改包名和权限。

5、将demo中的jar包烤包到自己的libs文件夹下,然后引入,然后将armeabi全部考入到jniLis文件夹下,如下图所示:

6、在build中加入引入内容:

//极光推送的jarcompile 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.csdn.net/nihaoqiulinhe/article/details/50697301;完善的是当点击通知时,跳转到指定的页面

猜你喜欢

转载自blog.csdn.net/f552126367/article/details/79961260
今日推荐