MobPush 厂商通道SDK集成指南-易语言模块化开发

2023-07-27 04:45:55

 

原标题:MobPush 厂商通道SDK集成指南

开发工具: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

// onlyCore true //可选,添加此配置可有效减少华为厂商包体大小

}

}

}

MobSDK对华为厂商依赖进行了优化,可有效减少华为通道包体大小,如有该需求,可在HUAWEI{}块中添加onlyCore true

配置代码混淆

如果使用了 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版本,可自行指定

// onlyCore true //可选,添加此配置可有效减少FCM厂商包体大小

}

}

}

MobSDK对FCM厂商依赖进行了优化,可有效减少该通道包体大小,如有该需求,可在FCM{}块中添加onlyCore true

配置 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"}schemescheme地址{"mobpush_link_v":"schemeKey=schemeValue"}scheme参数scheme地址下携带的scheme参数{"id":"4brfm8nti9aj1arf28"}id推送任务id{"channel":"xiaomi"}channel渠道名{"schemeLink":"mlink://com.mobpush.demo2"}schemescheme地址{"schemeKey":"schemeValue"}scheme参数scheme地址下携带的scheme参数(华为,VIVO,OPPO){"schemeKey":"schemeValue","schemeUrl":"mlink://com.mob.mobpush.link"}schemeUrlscheme地址下携带的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 参见FAQ PUSH运营规范

vivo 参见FAQ 错误码

魅族 魅族暂未给出明确的敏感词或禁止词说明,详细以魅族文档为准或咨询魅族客服Flyme推送接入文档返回搜狐,查看更多

责任编辑:


以上就是关于《MobPush 厂商通道SDK集成指南-易语言模块化开发》的全部内容,本文网址:https://www.7ca.cn/baike/55595.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜