开发工具:Android Studio
集成形式:Gradle在线集成
安卓版本反对:minSdkVersion 19
集成筹备
MobPush疾速集成
在应用厂商通道之前,请确保您已申请MobTech开发者账号并已依照MobPush疾速集成文档进行集成,本篇文档将默认您已实现该步骤
Mob开发者后盾配置
注册MobTech账号后,须要在MobTech后盾进行相干信息的配置,详情能够点击查看具体配置信息
中题目
增加配置
在我的项目Gradle文件中注册MobSDK
buildscript { repositories { // 增加MobSDK Maven地址 maven { url "https://mvn.mob.com/android" } // 配置HMS Core SDK的Maven仓地址。 maven { url 'https://developer.huawei.com/repo/'} } dependencies { // 注册MobSDK classpath "com.mob.sdk:MobSDK:2018.0319.1724" }}allprojects { repositories { // 增加MobSDK Maven地址 maven { url "https://mvn.mob.com/android" } // 配置HMS Core SDK的Maven仓地址。 maven { url 'https://developer.huawei.com/repo/'} }}
在我的项目App Module的Gradle文件中增加插件和扩大
// 调用MobTech SDKapply plugin: 'com.mob.sdk'//注册FCM推送需增加 apply plugin: 'com.google.gms.google-services'// 在MobSDK的扩大中注册MobPush的相干信息MobSDK { appKey "替换为mob官网申请的appkey" appSecret "替换为mob官网申请的appkey对应的appSecret" MobPush { //集成其余推送通道(可选) devInfo { //华为推送配置信息 HUAWEI{ appId "华为的appid" } //魅族推送配置信息 MEIZU{ appId "魅族的appid" appKey "魅族的appkey" } //小米推送配置信息 XIAOMI{ appId "小米的appid" appKey "小米的appkey" } //FCM推送通道配置 FCM{ //设置默认推送告诉显示图标 iconRes "@mipmap/ic_launcher" version "20.2.0" } //OPPO推送配置信息 OPPO{ appKey "OPPO的appKey" appSecret "OPPO的appSecret" } //VIVO推送配置信息 VIVO { appId "利用对应的vivo appID" appKey "利用对应的vivo appKey" } //HONOR推送配置信息 HONOR { appId "利用对应的HONOR appID" } }}
增加厂商回调(可选)
跳转首页
跳转首页获取附加字段的办法:
JSONArray var = MobPushUtils.parseMainPluginPushIntent(getIntent());System.out.println("-------------jsonMain打印查看:"+var);
返回阐明
Scheme跳转
scheme跳转获取参数办法如下
JSONArray var = MobPushUtils.parseSchemePluginPushIntent(getIntent());System.out.println("-------------jsonScheme打印查看:"+var);
返回参数如下
小米厂商通道返回的数据打印款式
[ { "mobpush_link_k": "mlink://com.mobpush.demo2", "mobpush_link_v": "schemeKey=schemeValue", "key": "value" }, { "id": "4bqnx6rgmlseuptvy8" }, { "channel": "xiaomi" }, { "schemeLink": "mlink://com.mobpush.demo2" }]
华为与VIVO厂商通道返回的数据打印款式
[ { "schemeKey": "schemeValue" }, { "id": "4bqoxqm2c9t5q6migw" }, { "channel": "huawei" }, { "mobpush_link_k": "mlink://com.mobpush.demo2", "mobpush_link_v": "schemeKey=schemeValue", "key": "value" }, { "schemeLink": "mlink://com.mobpush.demo2" }]
魅族厂商通道返回的数据打印款式
留神! 魅族手机不反对跳转到指定界面,默认是跳转到首页,能够在首页获取跳转指定页面的门路,能够通过代码管制跳转
//魅族厂商不反对scheme还原跳转,然而能够在首页打印获取如下
[ { "schemeKey": "schemeValue", "schemeUrl": "mlink://com.mobpush.demo2" }, { "id": "4bqoxqm2cawjqwl534" }, { "channel": "flyme" }, { "mobpush_link_k": "mlink://com.mobpush.demo2", "mobpush_link_v": "schemeKey=schemeValue", "key": "value" }]
OPPO厂商通道返回的数据打印款式
[ { "mobpush_link_k": "mlink://com.mob.mobpush.linkone", "mobpush_link_v": "schemeKey=schemeValue", "onekey": "onevalue" }, { "schemeKey": "schemeValue" }, { "id": "32ugyk3t819xjwg" }, { "channel": "oppo" }, { "schemeLink": "mlink://com.mob.mobpush.linkone?pushData={\"mobpush_link_k\":\"mlink://com.mob.mobpush.linkone\",\"mobpush_link_v\":\"schemeKey=schemeValue\",\"onekey\":\"onevalue\"}&id=32ugyk3t819xjwg&channel=oppo&schemeData={\"schemeKey\":\"schemeValue\"}" }]
增加避免二次混同的代码(重要)
#厂商的混同规定-keep class android.os.SystemProperties-dontwarn android.os.SystemProperties-keep class com.huawei.**{*;}-keep class com.meizu.**{*;}-keep class com.xiaomi.**{*;}-keep class com.hihonor.push.**{*; }-dontwarn com.huawei.**-dontwarn com.meizu.**-dontwarn com.xiaomi.**-dontwarn com.hihonor.push.**-keep class com.mob.**{*;}-dontwarn com.mob.**-keepclasseswithmembernames class * { native <methods>;}-keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet);}-keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int);}-keepclassmembers class * extends android.app.Activity { public void *(android.view.View);}-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String);}-keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *;}-keep class com.huawei.hms.**{*;}-keep class com.meizu.cloud.**{*;}-keep class com.xiaomi.mipush.sdk.**{*;}-keep class org.apache.thrift.**{*;}-keep class com.google.** {*;}-keep class com.coloros.** {*;}-dontwarn com.huawei.hms.**-dontwarn com.meizu.cloud.**-dontwarn com.xiaomi.mipush.sdk.**-dontwarn org.apache.thrift.**-dontwarn com.google.**-dontwarn com.coloros.**-dontwarn com.vivo.push.**-keep class com.vivo.push.**{*; }-keep class com.vivo.vms.**{*; }-keep class com.mob.pushsdk.plugins.vivo.PushVivoReceiver{*;}-keep class com.meizu.cloud.pushsdk.MzPushMessageReceiver{public *;}-keep class com.mob.pushsdk.plugins.xiaomi.PushXiaoMiRevicer {*;}-dontwarn com.xiaomi.push.**#这是oppo的混同规定-keep public class * extends android.app.Service-keep class com.heytap.msp.** { *;}-keep class com.mob.pushsdk.plugins.oppo.** { *;}
其余配置阐明
厂商点击统计(重要)
统计厂商通道下发告诉的点击数,请在点击告诉关上的Activity调用该办法。
MobPush.notificationClickAck(getIntent());
日志调试性能
请在AndroidManifest.xml文件中 <application>下增加下面配置,在日志控制台即可查看到TAG为MobPushLog的相干日志:
<meta-data android:name="com.mob.mobpush.debugLevel" android:value="4" />
FCM配置阐明
注:FCM通道服务需在FCM官网控制台,下载google-services.json文件,复制到利用module中:
apply plugin: 'com.android.application'dependencies { compile fileTree(dir: 'libs', include: ['*.jar'])}android { ...}//在build.gradle文件的最初增加apply plugin: 'com.google.gms.google-services'
厂商限度及错误码
华为 参见FAQ 错误码
小米 参见小米推送音讯限度阐明 错误码
oppo 参见FAQ PUSH经营标准
vivo 参见FAQ 错误码
魅族 魅族暂未给出明确的敏感词或禁止词阐明,具体以魅族文档为准或征询魅族客服Flyme推送接入文档