电子说
开发工具:Android Studio
集成方式:Gradle在线集成
安卓版本支持:minSdkVersion 19
集成准备
注册账号
使用PushSDK之前,需要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情可以点击查看注册流程
MobPush后台配置
注册MobTech账号后,需要在MobTech后台进行相关信息的配置,详情可以点击查看具体配置信息
MobPush流程图
集成配置
MobPushSDK提供了两种集成方式,您可根据需要进行选择。需要注意的是,两种集成方式在功能上无任何区别,仅为集成方式不同,选取其中一种即可。
Gradle集成
配置SDK地址
Android Studio的代码库配置方式随Gradle插件的不同版本有所不同。请根据您当前Gradle插件的版本,选择相应的配置方式。
【7.0及以上版本】
打开项目级“settings.gradle”文件,配置Maven仓地址,注意修改 repositoriesMode为 RepositoriesMode.PREFER_SETTINGS。
pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() maven { url "https://mvn.mob.com/android" } } } dependencyResolutionManagement { // repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { gradlePluginPortal() google() mavenCentral() maven { url "https://mvn.mob.com/android" } } }
打开Android Studio项目级build.gradle文件,配置MobSDK插件地址
buildscript { dependencies { // 增加MobSDK插件配置 classpath "com.mob.sdk:MobSDK2:+" // 增加google services插件配置,用于集成FCM,不集成FCM可不配置 classpath 'com.google.gms:google-services:4.3.14' } } plugins { id 'com.android.application' version 'x.x.x' apply false id 'com.android.library' version 'x.x.x' apply false }
【7.0以下版本】
打开Android Studio项目级build.gradle文件。
在allprojects ->repositories里面配置maven仓地址。
allprojects { repositories { maven { url "https://mvn.mob.com/android" } } }
在buildscript->repositories中配置maven仓地址。
buildscript { repositories { maven { url "https://mvn.mob.com/android" } } }
在buildscript->dependencies中配置AppGallery Connect插件地址
buildscript { dependencies { //增加MobSDK插件配置 classpath "com.mob.sdk:MobSDK2:+" } }
添加依赖
打开应用级的build.gradle文件。
添加mob插件配置。请根据实际情况选择:
方式一:在“com.android.application” 插件下一行添加如下配置。
apply plugin: 'com.mob.sdk'
方式二:在“plugins”中添加如下配置。
plugins { id 'com.android.application' id 'com.mob.sdk' }
在文件末尾添加mob配置代码
MobSDK { appKey "替换为MobTech官方申请的appkey" appSecret "替换为MobTech官方申请的appkey对应的appSecret" MobPush {} }
配置标识
在gradle.properties中添加代码
MobSDK.spEdition=IZNAO
Google Play 版本
如果您的应用需要上架Google商店,请务必使用Google Play 版本。
在gradle.properties中添加代码,如已添加 MobSDK.spEdition相关配置,则修改值为 GPP即可。
MobSDK.spEdition=GPP
至此,Gradle集成方式已经完成。
离线集成
获取SDK
在进行离线集成之前,请先联系在线客服获取离线SDK。
添加SDK
把获取到的离线SDK包放入项目中的libs文件夹内。
引入SDK
通过上一步添加SDK至项目中后,SDK包还未进行引用,需要添加下方所示引入代码后才可使用。
implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'])
配置清单文件
复制下方提供的清单文件代码至您的项目AndroidManifest.xml文件中。
< manifest < application < ------ start 需要添加的内容 start ------ > < meta-data android:name="Mob-AppKey" android:value="您的MOBSDK-Appkey" / > < meta-data android:name="Mob-AppSecret" android:value="您的MOBSDK-AppSecret" / > < provider android:name="com.mob.MobProvider" android:exported="false" android:multiprocess="true" android:authorities="${applicationId}.com.mob.MobProvider" / > < ------ end 需要添加的内容 end ------ > < /application > < /manifest >
至此,离线集成方式已经完成。
配置混淆代码
在项目中添加如下混淆代码
-keep class com.mob.**{*;} -dontwarn com.mob.**
隐私授权启动业务
为保证您的App在集成MobSDK之后能够满足工信部相关合规要求,您应确保App安装首次冷启动且取得用户阅读您《隐私政策》授权之后,调用 MobSDK.submitPolicyGrantResult回传隐私协议授权结果。
反之,如果用户不同意您App《隐私政策》授权,则不能调用 MobSDK.submitPolicyGrantResult回传隐私协议授权结果。 请参考MobPush隐私政策
通用方案
/** * com.mob.MobSDK.class * 回传用户隐私授权结果 * @param isGranted 用户是否同意隐私协议 */ public static void submitPolicyGrantResult(boolean isGranted)
增加App数据采集主动控制器方案
/** * com.mob.MobSDK.class * 回传用户隐私授权结果 * @param isGranted App数据采集主动控制器子类实例 * @param isGranted 用户是否同意隐私协议 */ public static void submitPolicyGrantResult(MobCustomController cont, boolean isGranted);
示例代码
注:submitPolicyGrantResult是MobSDK的业务起点。调用位置开发者可以自己指定,只需在使用SDK功能之前调用即可,强烈建议开发者在终端用户点击应用隐私协议弹窗同意按钮后调用。
App数据采集主动控制器用来限制MobSDK采集并提供可选的数据维度和扩展功能。因相关信息的不收集将会对其对应的功能造成影响,请开发者结合业务实际需要进行合理配置。MobPush扩展业务功能设置可参考: https://www.mob.com/wiki/detailed?wiki=534&id=136 ,其它App数据采集主动控制器的配置方法可参考:https://www.mob.com/wiki/detailed?wiki=664&id=714
MobSDK.submitPolicyGrantResult(new MobCustomController() { // TODO 重写控制器 }, true); // 或者 MobSDK.submitPolicyGrantResult(true);
日志调试
请在AndroidManifest.xml文件中 下添加上面配置,在日志控制台即可查看到TAG为MobPushLog的相关日志:
< meta-data android:name="com.mob.mobpush.debugLevel" android:value="4" / >
测试确认
确认通过gradle已拉取到资源包,包名为:"com.mob:MobSupportV1:xxxxxxxxx";"com.mob:MobCoreULT:xxxxxxxxx";"com.mob:MobGUIULT:xxxxxxxxx@aar";"com.mob:PushSDK:xxx@aar"
确认 AppKey已经正确的写入 Androidmanifest.xml(可在app-debug.apk中的Androidmanifest查看确认)
确认测试手机已经调用隐私协议接口,并上传true : MobSDK.submitPolicyGrantResult(true);
确认测试手机(或者模拟器)已成功连入网络 + 客户端调用,不要使用网络代理和VPN,如果一切正常,启动项目后应有MobPushLog的日志信息,参考tag如下
功能进阶
Registration ID 使用说明
获取: 关于获取Registration ID,请点击查看MobPushSDK API 使用
使用说明: 由于MobPush推送所有形式的推送最后都会转化为对 Registration ID 推送,因此 Registration ID是推送和关联用户信息必备的标识。同时为了方便线上客户准确提供信息,减少沟通成本,我们建议您完成 SDK 集成后,将Registration ID 进行存储和记录,排查问题时可将Registration ID和任务ID一起反馈,可加速排查进度
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !