帮助与文档

> >
광고 영상

一、获取AppKey

申请MobSDK的appkey以及配置mobpush信息流程

二、下载集成mobpush

1.MobPush官网,点击下载中心,切换到Android版,找到MobPush项目,进行MobPush的资源下载。

2.在下载中心,找到MobPush,勾选右侧方框,在弹窗中选择项目所需要的厂商推送,点击保存配置。

3.在页面下方会看到所选择的MobSDK服务(即出现MobPush),点击一键下载

4.在弹窗中选择集成方式,推荐使用在线集成(gradle集成),此方式只需两步,添加一些必要配置信息即可,简单快速,无需下载SDK jar包;另一种离线集成方式,需下载SDK jar包,添加jar到项目中,而且所有需要的配置信息都需自己来配置,相对麻烦繁琐。

如果使用在线集成(gradle集成),请按照红色线框框住的灰色区域,进行配置到自己的项目中。

如果使用离线包集成方式,请点击右上角获取离线SDK,先下载SDK jar包。

此篇快速集成,主要以在线集成(gradle集成)方式进行示例说明,离线集成方式则在下方会贴出离线集成文档,根据离线集成文档进行集成。

5.在第二步中,支持哪些厂商,则在MobSDK->MobPush->devInfo中进行厂商配置,不支持可以不配置厂商,示例支持华为、魅族推送配置如下:

华为推送:在devInfo中配置HUAWEI {

appId “应用对应的华为appId”

}

魅族推送:在devInfo中配置MEIZU{

appId “应用对应的魅族appId”

appKey “应用对应的魅族appKey”

}

不支持OPPO厂商推送的话,则在devInfo里不添加OPPP{}块

6.注意,如果支持FCM推送,需要第5步在devInfo里配置FCM{}块之外,还要在项目跟级别的gradle文件中添加google-services依赖:

buildscript {

   repositories {

        google()

        jcenter()

    }

   dependencies {

       classpath 'com.android.tools.build:gradle:3.0.1'

       classpath "com.mob.sdk:MobSDK:+"

// 注册google services 用于集成FCM,不集成FCM可不配置

       classpath 'com.google.gms:google-services:4.0.1' // google-services plugin

   }

}

在module级别的build.gradle文件中添加com.google.gms.google-services插件:

apply plugin: 'com.google.gms.google-services'

示例如下:

apply plugin: 'com.mob.sdk'

// 在MobSDK的扩展中注册MobPush的相关信息

MobSDK {

    appKey "应用的appKey"

    appSecret "应用的appSecret"

    MobPush {

        bradge true//设置是否开启角标开关
        devInfo {

            HUAWEI{

                appId "华为的appId"

            }

            MEIZU{

                appId "魅族的appId"

                appKey "魅族的appKey"

            }

            XIAOMI{

                appId "小米的appId"

                appKey "小米的appKey"

            }

            FCM{

                //设置默认推送通知显示图标

                iconRes "@mipmap/ic_launcher"

            }

            //此处OPPO的配置信息只是用来展示配置示例,不能用了测试OPPO通道推送,如需推送请替换成自己的正确应用信息

            OPPO{

                appKey "OPPO的appKey"

                appSecret "OPPO的appSecret"

            }
            VIVO {
                appId "vivo的appId"
                appKey "vivo的appKey"
            }

        }

    }

}
apply plugin: 'com.google.gms.google-services'

7.配置点击通知默认跳转页。如果程序有闪屏页的话,应用的默认启动页是闪屏页时,接收到推送时点击通知跳转界面时,未指定跳转界面时默认跳转启动页的,此种情况体验效果不太好,可通过配置点击通知默认跳转页,来响应点击通知时,未指定跳转界面的情况下默认启动跳转页。

<activity

            android:name=".SplashActivity"
            android:launchMode="singleTask"                                    
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

 </activity>

        <activity

            android:name=".MainActivity"

            android:launchMode="singleTask">

//配置点击通知默认跳转MainActivity界面

//配置<intent-filter>块,action是包名.default.MAIN;默认category

<intent-filter>

    <action android:name="${applicationId}.default.MAIN" />

 <category android:name="android.intent.category.DEFAULT" />

</intent-filter>

</activity>

8 다운로드.MobPush1.7.2版本开始支持日志调试功能,在集成厂商推送时,配置了相关信息后方便开发者确定厂商通道是否正常。

配置日志调试开关

<meta-data
android:name="com.mob.mobpush.debugLevel"
android:value="4" />

在AndroidManifest.xml文件中<application>下添加上面配置,在日志控制台即可查看到TAG为MobPushLog的相关日志。

三、添加代码

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);//设置标签

3、角标代码设置

MobPush.setShowBadge(true); //默认是关闭的,设置true为打开显示角标,反之则为关闭显示角标

 

在需要监听消息回调的地方,调用如下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.**

如支持厂商推送,混淆脚本也许添加跳过对厂商的混淆操作:

-keep class com.huawei.**{*;}

-keep class com.meizu.**{*;}

-keep class com.xiaomi.**{*;}

-keep class com.google.**{*;}

-keep class org.apache.thrift.**{*;}

-keep class android.os.SystemProperties

-keep class com.coloros.** {*;}



-dontwarn com.huawei.**

-dontwarn com.meizu.**

-dontwarn com.xiaomi.**

-dontwarn com.coloros.**

-dontwarn com.google.**

-dontwarn android.os.SystemProperties

-dontwarn com.vivo.push.**

-keep class com.vivo.push.**{*; }

-keep class com.vivo.vms.**{*; }

五、Demo示例

Demo示例,已上传github,请访问如下地址,进行查看Demo和运行Demo apk,测试推送。

https://github.com/MobClub/MobPush-for-Android

六、特殊说明

1.角标功能只对MobPush原生通道有效;
2.角标功能不是对所有设备都起作用;
3.小米设备自带角标功能,小米设备是否走厂商还是MobPush通道,或者是否开启角标功能,都不受影响,小米自身系统会自动处理;
4.华为设备走MobPush通道的,EMUI高版本的角标功能有效,低版本无效;
5.魅族设备不支持角标;OPPO设备只对它自己的应用、微信和QQ开放角标功能,其他应用无法使用角标功能;VIVO设备测试部分设备支持角标功能;
6.Google设备8.0开始支持角标,但只显示小红点,不能显示数字,而且在第一条通知显示后设置了是否显示角标,后面调用API修改视为无效,需清除应用数据缓存才可以。

七、非maven集成

离线包集成方式

다운로드

相关文档