Android免费集成推送功能(MobPush)

一、获取AppKey
申请MobSDK的appkey流程(http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1
二、配置gradle
1、打开项目根目录的build.gradle,在buildscrip–>dependencies 模块下面添加 classpath ‘com.mob.sdk:MobSDK:+’,如下所示;

buildscript {
    repositories {
        jcenter()
    }
 
    dependencies {
        ...
        classpath 'com.mob.sdk:MobSDK:+'
 
    }
}

Android免费集成推送功能(MobPush)
2、在使用MobPush模块的build.gradle中,添加MobSDK插件和扩展,如:

// 添加插件
apply plugin: 'com.mob.sdk'
 
// 在MobSDK的扩展中注册MobPush的相关信息
MobSDK {
appKey "替换为mob官方申请的appkey"
appSecret "替换为mob官方申请的appkey对应的appSecret"
 
MobPush {}
}

关于ShareSDK和MobPush的详细说明,请参考其各自的集成文档。
三、添加代码
1、初始化MobSDK
如果您没有在AndroidManifest中设置appliaction的类名,MobSDK会将这个设置为com.mob.MobApplication,但如果您设置了,请在您自己的Application类中调用:

MobSDK.init(this);

以初始化MobSDK。
2、调用API
在应用启动后,调用如下api,设置需要监听的内容

MobPush.setAlias(“test1”);//设置别名 
MobPush.addTags(java.lang.String[] tags);//设置标签

在需要监听消息回调的地方,调用如下api,设置监听

MobPush.addPushReceiver(new MobPushReceiver() {
@Override
public void onCustomMessageReceive(Context context, MobPushCustomMessage message) {
    //接收自定义消息
}
@Override
public void onNotifyMessageReceive(Context context, MobPushNotifyMessage message) {
    //接收通知消息
}
 
@Override
public void onNotifyMessageOpenedReceive(Context context, MobPushNotifyMessage message) {
    //接收通知消息被点击事件
}
@Override
public void onTagsCallback(Context context, String[] tags, int operation, int errorCode) {
    //接收tags的增改删查操作
}
@Override
public void onAliasCallback(Context context, String alias, int operation, int errorCode) {
    //接收alias的增改删查操作
}
});

在退出已经设置了监听的界面时,调用移除监听接口:

MobPush.removePushReceiver(receiver);

四、混淆设置
MobPush已经做了混淆处理,再次混淆会导致不可预期的错误,请在您的混淆脚本中添加如下的配置,跳过对MobPush的混淆操作:

-keep class com.mob.**{*;}
-dontwarn com.mob.**

五、注意事项

  1. MobSDK默认为MobPush提供最新版本的集成,如果您想锁定某个版本,可以在MobPush下设置“version “某个版本””来固定使用这个版本
  2. 如果使用MobSDK的模块会被其它模块依赖,请确保依赖它的模块也引入MobSDK插件,或在此模块的gradle中添加:
repositories {
    jcenter()
}

可参考Sample的github开源地址:
https://github.com/MobClub/MobPush-for-Android

上一篇:导入其他包,轻松实现跨包调用 | 带你学《Java面向对象编程》之六十八


下一篇:[20150527]bbed解决数据文件大小问题.txt