开发工具:Android Studio
集成形式:Gradle
安卓版本反对:minSdkVersion 19
集成筹备
MobPush疾速集成
在应用厂商通道之前,请确保您已申请MobTech开发者账号并已依照MobPush疾速集成文档进行集成,本篇文档将默认您已实现该步骤
Mob开发者后盾配置
注册MobTech账号后,须要在MobTech后盾进行相干信息的配置,详情能够点击查看具体配置信息
日志调试性能
请在AndroidManifest.xml文件中 <application>
下增加下面配置,在日志控制台即可查看到TAG为MobPushLog的相干日志:
<meta-data android:name="com.mob.mobpush.debugLevel" android:value="4" />
小米通道集成指南
配置依赖
在利用 module 的 gradle文件中找到MobSDK代码块,增加XIAOMI代码块:
MobSDK { ...... MobPush { devInfo { //小米推送配置信息 XIAOMI{ appId "您的利用对应的小米的APPID"// 小米平台注册的appid appKey "您的利用对应的小米的APPKEY"// 小米平台注册的appkey } }}
配置代码混同
如果应用了 proguard,为了避免误报的 warning 导致无奈胜利编译,须要在配置文件中退出以下内容:
-dontwarn com.xiaomi.push.**-keep class com.xiaomi.push.** { *; }-keep class com.mob.pushsdk.plugins.xiaomi.PushXiaoMiRevicer {*;}-dontwarn com.xiaomi.**-keep class com.xiaomi.**{*;}-keep class com.xiaomi.mipush.sdk.**{*;}-dontwarn com.xiaomi.mipush.sdk.**
集成后果判断
若集成胜利,日志显示如下:
[MobPush]MobPush start init...[MobPush]MobPush wait for auth ...[MobPush]MobPush real start init ...[MobPush][XIAOMI] channel start init[MobPush]Mob-XIAOMI plugins initing[MobPush]Check push channel [XIAOMI] configuration information, appId:xxxxxxxxxx, appKey:xxxxxxxxxx[MobPush]request deviceToken success:xxxxxxxxxxxxxxxxxxxxxxx[MobPush][XIAOMI] channel register successful.
华为通道集成指南
配置maven
在 Project 根目录的主 gradle 中配置华为maven地址。
buildscript { repositories { // 配置HMS Core SDK的Maven仓地址。 maven { url 'https://developer.huawei.com/repo/'} } dependencies { }}allprojects { repositories { // 配置HMS Core SDK的Maven仓地址。 maven { url 'https://developer.huawei.com/repo/'} }}
配置依赖
在利用 module 的 gradle文件中找到MobSDK代码块,增加HUAWEI代码块:
MobSDK { ...... MobPush { devInfo { //华为推送配置信息 HUAWEI{ appId "您的利用对应的华为的APPID" // 华为平台注册的appid // version "x.x.x.xxx" // 可选,可自行指定华为推送SDK版本,默认为6.7.0.300 } }}
配置代码混同
如果应用了 proguard,为了避免误报的 warning 导致无奈胜利编译,须要在配置文件中退出以下内容:
-ignorewarnings-keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable -keep class com.hianalytics.android.**{*;} -keep class com.huawei.updatesdk.**{*;} -keep class com.huawei.hms.**{*;}-keep class com.huawei.**{*;}-keep class com.huawei.hms.**{*;}-dontwarn com.huawei.hms.**-dontwarn com.huawei.**
如果开发者应用了 AndResGuard,须要在混同配置文件中退出 AndResGuard 白名单。
"R.string.hms*","R.string.connect_server_fail_prompt_toast","R.string.getting_message_fail_prompt_toast","R.string.no_available_network_prompt_toast","R.string.third_app_*","R.string.upsdk_*","R.layout.hms*","R.layout.upsdk_*","R.drawable.upsdk*","R.color.upsdk*","R.dimen.upsdk*","R.style.upsdk*","R.string.agc*"
集成后果判断
若集成胜利,日志显示如下:
[MobPush]MobPush start init...[MobPush]MobPush wait for auth ...[MobPush]MobPush real start init ...[MobPush][HUAWEI] plugin ready[MobPush][HUAWEI] channel start init[MobPush]Mob-HUAWEI plugins initing[MobPush]request deviceToken success:xxxxxxxxxxxxxxxxxxxxxxx[MobPush][HUAWEI] channel register successful.
光荣通道集成指南
配置依赖
在利用module的gradle文件中找到MobSDK代码块,增加HONOR代码块:
MobSDK { ...... MobPush { devInfo { //光荣推送配置信息 HONOR{ appId "您的利用对应的光荣的APPID"// 光荣平台注册的appid } }}
配置代码混同
如果应用了 proguard,为了避免误报的 warning 导致无奈胜利编译,须要在配置文件中退出以下内容:
-ignorewarnings-keepattributes *Annotation*-keepattributes Exceptions-keepattributes InnerClasses-keepattributes Signature-keepattributes SourceFile,LineNumberTable-keep class com.hihonor.push.**{*; }-dontwarn com.hihonor.push.**
集成后果判断
若集成胜利,日志显示如下:
[MobPush]MobPush start init...[MobPush]MobPush wait for auth ...[MobPush]MobPush real start init ...[MobPush][HONOR] channel start init[MobPush]Mob-HONOR plugins initing[MobPush]request deviceToken success:BAEAAAAAD.StrWLJVdk[MobPush][HONOR] channel register successful.
魅族通道集成指南
配置依赖
在利用 module 的 gradle文件中找到MobSDK代码块,增加MEIZU代码块:
MobSDK { ...... MobPush { devInfo { //魅族推送配置信息 MEIZU{ appId "您的利用对应的魅族的APPID" // 魅族平台注册的appid appKey "您的利用对应的魅族的APPKEY" // 魅族平台注册的appkey } }}
配置代码混同
如果应用了 proguard,为了避免误报的 warning 导致无奈胜利编译,须要在配置文件中退出以下内容:
-dontwarn com.meizu.cloud.**-keep class com.meizu.cloud.** { *; }-dontwarn com.meizu.**-keep class com.meizu.**{*;}-keep class com.meizu.cloud.pushsdk.MzPushMessageReceiver{ public *; }
集成后果判断
若集成胜利,日志显示如下:
[MobPush]MobPush start init...[MobPush]MobPush wait for auth ...[MobPush]MobPush real start init ...[MobPush][MEIZU] channel start init[MobPush]Check push channel [MEIZU] configuration information, appId:xxxxx, appKey:xxxxxxxxxxxxxxxxxxxxxxx[MobPush]request deviceToken success:xxxxxxxxxxxxxxxxxxxxxxx[MobPush][MEIZU] channel register successful.
vivo通道集成指南
配置依赖
在利用 module 的 gradle文件中找到MobSDK代码块,增加VIVO代码块:
MobSDK { ...... MobPush { devInfo { //VIVO推送配置信息 VIVO{ appId "您的利用对应的VIVO的APPID" // VIVO平台注册的appid appKey "您的利用对应的VIVO的APPKEY" // VIVO平台注册的appkey } }}
配置代码混同
如果应用了 proguard,为了避免误报的 warning 导致无奈胜利编译,须要在配置文件中退出以下内容:
-dontwarn com.vivo.push.**-keep class com.vivo.push.**{*; }-keep class com.vivo.vms.**{*; }-keep class com.mob.pushsdk.plugins.vivo.PushVivoReceiver{*;}
集成后果判断
若集成胜利,日志显示如下:
[MobPush]MobPush start init...[MobPush]MobPush wait for auth ...[MobPush]MobPush real start init ...[MobPush][VIVO] channel start init[MobPush]MobPush-Vivo plugins initing[MobPush]request deviceToken success:xxxxxxxxxxxxxxxxxxxxxxx[MobPush][VIVO] channel register successful.
OPPO通道集成指南
配置依赖
在利用 module 的 gradle文件中找到MobSDK代码块,增加OPPO代码块:
MobSDK { ...... MobPush { devInfo { //OPPO推送配置信息 OPPO{ appKey "您的利用对应的OPPO的APPKEY" // OPPO平台注册的appkey appSecret "您的利用对应的OPPO的APPSECRET" // OPPO平台注册的appSecret } }}
配置代码混同
如果应用了 proguard,为了避免误报的 warning 导致无奈胜利编译,须要在配置文件中退出以下内容:
-dontwarn com.coloros.mcsdk.**-keep class com.coloros.mcsdk.** { *; }-dontwarn com.heytap.**-keep class com.heytap.** { *; }-dontwarn com.mcs.**-keep class com.mcs.** { *; }-keep public class * extends android.app.Service-keep class com.heytap.msp.** { *;}-keep class com.mob.pushsdk.plugins.oppo.** { *;}
集成后果判断
若集成胜利,日志显示如下:
[MobPush]MobPush start init...[MobPush]MobPush wait for auth ...[MobPush]MobPush real start init ...[MobPush][OPPO] channel start init[MobPush]MobPush-OPPO plugins initing[MobPush]Check push channel [OPPO] configuration informatio[MobPush][OPPO] channel getSDKVersion:3.1.0[MobPush]request deviceToken success:xxxxxxxxxxxxxxxxxxxxxxx
FCM通道集成指南
配置 maven
在 Project 根目录的主 gradle 中配置 mavenCentral 反对和 google-services 依赖。
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.google.gms:google-services:4.3.14' }}allprojects { repositories { mavenCentral() maven { url "https://maven.google.com" } }}
增加 FCM 插件
//注册FCM推送需增加apply plugin: 'com.google.gms.google-services'
配置依赖
在利用 module 的 gradle文件中找到MobSDK代码块,增加FCM代码块:
MobSDK { ...... MobPush { devInfo { //FCM推送配置信息 FCM{ iconRes "@mipmap/ic_launcher" //设置默认推送告诉显示图标,可自行更改 version "23.1.0" // FCM版本,可自行指定 } }}
配置 google-services.json文件
参考 厂商通道参数申请指南 获取 google-services.json 文件,并配置到 app 目录下。
集成后果判断
若集成胜利,日志显示如下:
[MobPush][FCM] channel start init[MobPush]Mob-FCM plugins initing[MobPush]MobPush start init...[MobPush]MobPush wait for auth ...[MobPush]MobPush real start init ...[MobPush]request deviceToken success:xxxxxxxxxxxxxxxxxxxxxxx[MobPush][FCM] channel register successful.
增加厂商回调(可选)
跳转首页
跳转首页获取附加字段的办法:
JSONArray var = MobPushUtils.parseMainPluginPushIntent(getIntent());System.out.println("-------------jsonMain打印查看:"+var);
返回阐明
返回
字段
阐明
"id":"4bu9702gmq4mvl3myo"
id
告诉工作id ,仅厂商告诉有该字段
{"key":"value"}
附加字段
附件字段需指定,不指定不会呈现 ,仅厂商告诉有该字段
{"from\_tcp":true}
from\_tcp
音讯是否来自MobPushTCP通道,true:是
{"msg":"MobPushNotifyMessage{}"}
msg
音讯体,对象为MobPushNotifyMessage,仅MobPushTCP通道音讯有该字段
{"channel":"mobpush"}
channel
渠道名
Scheme跳转
scheme跳转获取参数办法如下
JSONArray var = MobPushUtils.parseSchemePluginPushIntent(getIntent());System.out.println("-------------jsonScheme打印查看:"+var);
返回参数如下
返回
字段
阐明
{"from\_tcp":true}
from\_tcp
音讯是否来自MobPushTCP通道,true:是
{"msg":"MobPushNotifyMessage{}"}
msg
音讯体,对象为MobPushNotifyMessage,仅MobPushTCP通道音讯有该字段
{"key":"value"}
附加字段
附件字段需指定,倡议不要应用url做为key
{"mobpush\_link\_k":"mlink://com.mob.mobpush.link"}
scheme
scheme地址
{"mobpush\_link\_v":"schemeKey=schemeValue"}
scheme参数
scheme地址下携带的scheme参数
{"id":"4brfm8nti9aj1arf28"}
id
推送工作id
{"channel":"xiaomi"}
channel
渠道名
{"schemeLink":"mlink://com.mobpush.demo2"}
scheme
scheme地址
{"schemeKey":"schemeValue"}
scheme参数
scheme地址下携带的scheme参数(华为,VIVO,OPPO)
{"schemeKey":"schemeValue","schemeUrl":"mlink://com.mob.mobpush.link"}
schemeUrl
scheme地址下携带的scheme参数(flyme)
小米厂商通道返回的数据打印款式
[ { "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\"}" }]
厂商点击统计
统计厂商通道下发告诉的点击数,请在点击告诉关上的Activity调用该办法。
MobPush.notificationClickAck(getIntent());
厂商限度及错误码
华为 参见FAQ 错误码
小米 参见小米推送音讯限度阐明 错误码
oppo 参见PUSH经营标准
vivo 参见FAQ 错误码
魅族 魅族暂未给出明确的敏感词或禁止词阐明,具体以魅族文档为准或征询魅族客服