開(kāi)發(fā)工具:Android Studio
集成方式:Gradle在線集成
安卓版本支持:minSdkVersion 19
集成準(zhǔn)備
注冊(cè)賬號(hào)
使用PushSDK之前,需要先在MobTech官網(wǎng)注冊(cè)開(kāi)發(fā)者賬號(hào),并獲取MobTech提供的AppKey和AppSecret,詳情可以點(diǎn)擊查看注冊(cè)流程
MobPush后臺(tái)配置
注冊(cè)MobTech賬號(hào)后,需要在MobTech后臺(tái)進(jìn)行相關(guān)信息的配置,詳情可以點(diǎn)擊查看具體配置信息
MobPush流程圖
集成配置
MobPushSDK提供了兩種集成方式,您可根據(jù)需要進(jìn)行選擇。需要注意的是,兩種集成方式在功能上無(wú)任何區(qū)別,僅為集成方式不同,選取其中一種即可。
Gradle集成
配置SDK地址
Android Studio的代碼庫(kù)配置方式隨Gradle插件的不同版本有所不同。請(qǐng)根據(jù)您當(dāng)前Gradle插件的版本,選擇相應(yīng)的配置方式。
【7.0及以上版本】
打開(kāi)項(xiàng)目級(jí)“settings.gradle”文件,配置Maven倉(cāng)地址,注意修改 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" } } }
打開(kāi)Android Studio項(xiàng)目級(jí)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以下版本】
打開(kāi)Android Studio項(xiàng)目級(jí)build.gradle文件。
在allprojects ->repositories里面配置maven倉(cāng)地址。
allprojects { repositories { maven { url "https://mvn.mob.com/android" } } }
在buildscript->repositories中配置maven倉(cāng)地址。
buildscript { repositories { maven { url "https://mvn.mob.com/android" } } }
在buildscript->dependencies中配置AppGallery Connect插件地址
buildscript { dependencies { //增加MobSDK插件配置 classpath "com.mob.sdk:MobSDK2:+" } }
添加依賴(lài)
打開(kāi)應(yīng)用級(jí)的build.gradle文件。
添加mob插件配置。請(qǐng)根據(jù)實(shí)際情況選擇:
方式一:在“com.android.application” 插件下一行添加如下配置。
apply plugin: 'com.mob.sdk'
方式二:在“plugins”中添加如下配置。
plugins { id 'com.android.application' id 'com.mob.sdk' }
在文件末尾添加mob配置代碼
MobSDK { appKey "替換為MobTech官方申請(qǐng)的appkey" appSecret "替換為MobTech官方申請(qǐng)的appkey對(duì)應(yīng)的appSecret" MobPush {} }
配置標(biāo)識(shí)
在gradle.properties中添加代碼
MobSDK.spEdition=IZNAO
Google Play 版本
如果您的應(yīng)用需要上架Google商店,請(qǐng)務(wù)必使用Google Play 版本。
在gradle.properties中添加代碼,如已添加 MobSDK.spEdition相關(guān)配置,則修改值為 GPP即可。
MobSDK.spEdition=GPP
至此,Gradle集成方式已經(jīng)完成。
離線集成
獲取SDK
在進(jìn)行離線集成之前,請(qǐng)先聯(lián)系在線客服獲取離線SDK。
添加SDK
把獲取到的離線SDK包放入項(xiàng)目中的libs文件夾內(nèi)。
引入SDK
通過(guò)上一步添加SDK至項(xiàng)目中后,SDK包還未進(jìn)行引用,需要添加下方所示引入代碼后才可使用。
implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'])
配置清單文件
復(fù)制下方提供的清單文件代碼至您的項(xiàng)目AndroidManifest.xml文件中。
------ end 需要添加的內(nèi)容 end ------?> /application?> /manifest?>
至此,離線集成方式已經(jīng)完成。
配置混淆代碼
在項(xiàng)目中添加如下混淆代碼
-keep class com.mob.**{*;} -dontwarn com.mob.**
隱私授權(quán)啟動(dòng)業(yè)務(wù)
為保證您的App在集成MobSDK之后能夠滿(mǎn)足工信部相關(guān)合規(guī)要求,您應(yīng)確保App安裝首次冷啟動(dòng)且取得用戶(hù)閱讀您《隱私政策》授權(quán)之后,調(diào)用 MobSDK.submitPolicyGrantResult回傳隱私協(xié)議授權(quán)結(jié)果。
反之,如果用戶(hù)不同意您App《隱私政策》授權(quán),則不能調(diào)用 MobSDK.submitPolicyGrantResult回傳隱私協(xié)議授權(quán)結(jié)果。 請(qǐng)參考MobPush隱私政策
通用方案
/** * com.mob.MobSDK.class * 回傳用戶(hù)隱私授權(quán)結(jié)果 * @param isGranted 用戶(hù)是否同意隱私協(xié)議 */ public static void submitPolicyGrantResult(boolean isGranted)
增加App數(shù)據(jù)采集主動(dòng)控制器方案
/** * com.mob.MobSDK.class * 回傳用戶(hù)隱私授權(quán)結(jié)果 * @param isGranted App數(shù)據(jù)采集主動(dòng)控制器子類(lèi)實(shí)例 * @param isGranted 用戶(hù)是否同意隱私協(xié)議 */ public static void submitPolicyGrantResult(MobCustomController cont, boolean isGranted);
示例代碼
注:submitPolicyGrantResult是MobSDK的業(yè)務(wù)起點(diǎn)。調(diào)用位置開(kāi)發(fā)者可以自己指定,只需在使用SDK功能之前調(diào)用即可,強(qiáng)烈建議開(kāi)發(fā)者在終端用戶(hù)點(diǎn)擊應(yīng)用隱私協(xié)議彈窗同意按鈕后調(diào)用。
App數(shù)據(jù)采集主動(dòng)控制器用來(lái)限制MobSDK采集并提供可選的數(shù)據(jù)維度和擴(kuò)展功能。因相關(guān)信息的不收集將會(huì)對(duì)其對(duì)應(yīng)的功能造成影響,請(qǐng)開(kāi)發(fā)者結(jié)合業(yè)務(wù)實(shí)際需要進(jìn)行合理配置。MobPush擴(kuò)展業(yè)務(wù)功能設(shè)置可參考: https://www.mob.com/wiki/detailed?wiki=534&id=136 ,其它App數(shù)據(jù)采集主動(dòng)控制器的配置方法可參考:https://www.mob.com/wiki/detailed?wiki=664&id=714
MobSDK.submitPolicyGrantResult(new MobCustomController() { // TODO 重寫(xiě)控制器 }, true); // 或者 MobSDK.submitPolicyGrantResult(true);
日志調(diào)試
請(qǐng)?jiān)贏ndroidManifest.xml文件中 下添加上面配置,在日志控制臺(tái)即可查看到TAG為MobPushLog的相關(guān)日志:

測(cè)試確認(rèn)
確認(rèn)通過(guò)gradle已拉取到資源包,包名為:"com.mob:MobSupportV1:xxxxxxxxx";"com.mob:MobCoreULT:xxxxxxxxx";"com.mob:MobGUIULT:xxxxxxxxx@aar";"com.mob:PushSDK:xxx@aar"
確認(rèn) AppKey已經(jīng)正確的寫(xiě)入 Androidmanifest.xml(可在app-debug.apk中的Androidmanifest查看確認(rèn))
確認(rèn)測(cè)試手機(jī)已經(jīng)調(diào)用隱私協(xié)議接口,并上傳true : MobSDK.submitPolicyGrantResult(true);
確認(rèn)測(cè)試手機(jī)(或者模擬器)已成功連入網(wǎng)絡(luò) + 客戶(hù)端調(diào)用,不要使用網(wǎng)絡(luò)代理和VPN,如果一切正常,啟動(dòng)項(xiàng)目后應(yīng)有MobPushLog的日志信息,參考tag如下
功能進(jìn)階
Registration ID 使用說(shuō)明
獲取: 關(guān)于獲取Registration ID,請(qǐng)點(diǎn)擊查看MobPushSDK API 使用
使用說(shuō)明: 由于MobPush推送所有形式的推送最后都會(huì)轉(zhuǎn)化為對(duì) Registration ID 推送,因此 Registration ID是推送和關(guān)聯(lián)用戶(hù)信息必備的標(biāo)識(shí)。同時(shí)為了方便線上客戶(hù)準(zhǔn)確提供信息,減少溝通成本,我們建議您完成 SDK 集成后,將Registration ID 進(jìn)行存儲(chǔ)和記錄,排查問(wèn)題時(shí)可將Registration ID和任務(wù)ID一起反饋,可加速排查進(jìn)度
審核編輯 黃宇
-
SDK
+關(guān)注
關(guān)注
3文章
1065瀏覽量
47669 -
andriod
+關(guān)注
關(guān)注
1文章
19瀏覽量
13977
發(fā)布評(píng)論請(qǐng)先 登錄
ArkUI-X添加到現(xiàn)有Android項(xiàng)目中
Android In Docker 中 Magisk 的部署與簡(jiǎn)單應(yīng)用指南

HarmonyOS5云服務(wù)技術(shù)分享--云存儲(chǔ)SDK文章整理
RK3576 Android 14.0 SDK開(kāi)發(fā)指南(第一集)
ArkUI-X跨平臺(tái)框架接入指南
如何在Android設(shè)備上安裝Cyusb3014芯片驅(qū)動(dòng)?
【Android開(kāi)發(fā)者必看】使用JetBrains TeamCity為Android項(xiàng)目構(gòu)建CI/CD管道詳細(xì)指南

基于HPM_SDK_ENV開(kāi)發(fā)應(yīng)用程序的升級(jí)處理

谷歌推出Android XR SDK開(kāi)發(fā)者預(yù)覽版
通過(guò)Google Play SDK管理中心打造更安全、更優(yōu)質(zhì)的SDK

在Jacinot6 SOC上集成VISION SDK和PSDK之間的虛擬DRM

TAS2563終端系統(tǒng)集成指南

評(píng)論