0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MobPush:Android SDK 集成指南

MobTech科技派 来源:MobTech科技派 作者:MobTech科技派 2024-02-02 15:51 次阅读

开发工具:Android Studio

集成方式:Gradle在线集成

安卓版本支持:minSdkVersion 19

集成准备

注册账号

使用PushSDK之前,需要先在MobTech官网注册开发者账号,并获取MobTech提供的AppKey和AppSecret,详情可以点击查看注册流程

MobPush后台配置

注册MobTech账号后,需要在MobTech后台进行相关信息的配置,详情可以点击查看具体配置信息

MobPush流程图

wKgaomW8nu-AHBdIAABGpf9QwLA685.png

集成配置

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" / >
wKgaomW8nvOADXptAAvbTDd_jZw753.png

测试确认

确认通过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如下

wKgZomW8nvWAeDXRAACG3m2UYBo850.png

功能进阶

Registration ID 使用说明

获取: 关于获取Registration ID,请点击查看MobPushSDK API 使用

使用说明: 由于MobPush推送所有形式的推送最后都会转化为对 Registration ID 推送,因此 Registration ID是推送和关联用户信息必备的标识。同时为了方便线上客户准确提供信息,减少沟通成本,我们建议您完成 SDK 集成后,将Registration ID 进行存储和记录,排查问题时可将Registration ID和任务ID一起反馈,可加速排查进度

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1045

    浏览量

    46226
  • andriod
    +关注

    关注

    1

    文章

    19

    浏览量

    13845
收藏 人收藏

    评论

    相关推荐

    谷歌推出Android XR SDK开发者预览版

    近期推出的 Android XR SDK 开发者预览版是一款适用于 Android XR 的综合开发工具套件。它是 Android 系列中最新的平台,专为扩展现实 (XR) 头显设备
    的头像 发表于 01-10 10:13 162次阅读

    通过Google Play SDK管理中心打造更安全、更优质的SDK

      虽然 SDK 可以为应用开发者带来许多好处,但也可能会以不易识别或难以控制的方式影响应用。因此,我们在 2021 年推出了 Google Play SDK 管理中心,并在其中纳入了一些被广泛采用
    的头像 发表于 11-14 10:36 367次阅读
    通过Google Play <b class='flag-5'>SDK</b>管理中心打造更安全、更优质的<b class='flag-5'>SDK</b>

    用户手册 | 全志T113-S3开发板——SDK编译指南

    前言:软件开发套件(SDK)是为软件工程师在特定的平台上进行应用程序开发而提供的一系列软件开发工具的集合。给开发人员提供了为特定产品及其生态系统创建新应用时需要的组件。在SDK环境下进行程序开发
    的头像 发表于 11-01 08:08 2174次阅读
    用户手册 | 全志T113-S3开发板——<b class='flag-5'>SDK</b>编译<b class='flag-5'>指南</b>

    在Jacinot6 SOC上集成VISION SDK和PSDK之间的虚拟DRM

    电子发烧友网站提供《在Jacinot6 SOC上集成VISION SDK和PSDK之间的虚拟DRM.pdf》资料免费下载
    发表于 09-24 11:28 0次下载
    在Jacinot6 SOC上<b class='flag-5'>集成</b>VISION <b class='flag-5'>SDK</b>和PSDK之间的虚拟DRM

    TAS2563终端系统集成指南

    电子发烧友网站提供《TAS2563终端系统集成指南.pdf》资料免费下载
    发表于 09-14 11:04 0次下载
    TAS2563终端系统<b class='flag-5'>集成</b><b class='flag-5'>指南</b>

    ALINK_SDK烧录到模块里,工作不正常是什么原因?

    从官网买的的esp-wroom-02,下载了 ALINK_SDK_CN,按照指南烧录成功,但是启动的信息和指南的不一样,请问是什么原因?怎么解决?
    发表于 07-19 06:27

    是否可以扩展esp_iot_rtos_sdk以具有api功能来进行云更新?

    是否可以扩展esp_iot_rtos_sdk以具有 api 功能来进行云更新?SDK 编程指南(尽管我认为它不适用于 rtos sdk)表明存在
    发表于 07-15 08:19

    APK可以在SDK V1.4的情况下使用吗?

    新的 SDK 现在更新到 V1.4。GitHub 中 EsptouchForAndroid 的 SmartConfig 何时更新到 V2.5 以匹配 SDK V1.4? APK可以在SDK
    发表于 07-15 07:59

    如何将SDK安装到IDE并使用所有SDK功能?

    功能?我已经阅读了 SDK 入门指南,我也更新了固件,但我仍然不知道如何安装和使用 SDKSDK 仅使用 AT 命令,这些命令在 wifi_station_scan() - 相当于
    发表于 07-11 08:07

    Android设备将SDK更新到1.4.0后无法连接到ESP SoftAP怎么解决?

    SDK 从 1.2.0 更新到 1.4.0 后,一切看起来都很好,但是从某些设备(例如 Android 5.0、Android 4.4)我无法连接到 AP。例如,从iPhone或笔记本电脑开始,它可以毫无问题地工作。 有人
    发表于 07-08 07:41

    BES2300 SDK简介

    BES平台SDK软件开发
    发表于 06-14 16:56 1次下载

    ArkUI-X开发指南:【SDK配置和构建说明】

    ArkUI-X SDK是ArkUI-X开源项目的编译产物,可将ArkUI-X SDK集成到现有Android和iOS应用工程中,使开发者基于一套ArkTS主代码,就可以构建支持多平台的
    的头像 发表于 05-25 16:48 2785次阅读
    ArkUI-X开发<b class='flag-5'>指南</b>:【<b class='flag-5'>SDK</b>配置和构建说明】

    聚沃科技SDK使用指南

    本文主要针对SDK如何重定义硬件接口和外设参数进行说明,方便让大家快速灵活使用聚沃科技SDK
    的头像 发表于 05-06 10:23 571次阅读
    聚沃科技<b class='flag-5'>SDK</b>使用<b class='flag-5'>指南</b>

    鸿蒙OpenHarmony【集成三方SDK】 (基于Hi3861开发板)

    OpenHarmony致力于打造一套更加开放完善的IoT生态系统,为此OpenHarmony规划了一组目录,用于将各厂商的SDK集成到OpenHarmony中。本文档基于Hi3861开发板,向平台开发者介绍将SDK
    的头像 发表于 04-24 15:11 1188次阅读
    鸿蒙OpenHarmony【<b class='flag-5'>集成</b>三方<b class='flag-5'>SDK</b>】 (基于Hi3861开发板)

    鸿蒙开发实例【使用高德地图鸿蒙SDK】(一)

    使用高德地图鸿蒙SDK的快速入门指南
    的头像 发表于 03-22 16:59 919次阅读
    鸿蒙开发实例【使用高德地图鸿蒙<b class='flag-5'>SDK</b>】(一)