引入&配置SDK
使用App SDK必备操作,缺少任一操作都会造成数据的缺失
1 快速集成
在QuickTracking后中,为每一个App生成了专属的集成代码,可以根据产品内的引导进行集成。注意,需要检查目前是否已经使用了友盟+SDK,如果已经使用,请及时查看文档。
1.1 进入产品后台

1.2 找到应用归属组织

1.3 找到应用

1.4 点击“去集成”

1.5 点击后可以获取专属集成代码

1.6 检查是否与友盟+SDK冲突
注意,需要检查目前是否已经使用了友盟+SDK,如果已经使用,请及时查看文档。
2 集成代码明细
如果因为特定原因,无法抵达上述页面,需要观看文档才可以进行集成,具体集成代码如下:
2.1 参数准备
appkey:在应用列表中获取
收数域名:在“管理控制台-采集信息”模块中获取
SDK链接:在“管理控制台-采集信息”模块中获取
2.2 引入SDK
2.2.1 自动集成
在工程build.gradle配置脚本中buildscript和allprojects段中添加 QuickTracking SDK新Maven仓库地址。
maven { url 'https://repo1.maven.org/maven2/' }
在工程对应build.gradle配置脚本repositories段中添加SDK maven库坐标:
buildscript {
repositories {
google()
jcenter()
maven { url 'https://repo1.maven.org/maven2/' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://repo1.maven.org/maven2/' }
}
}
在工程App 对应build.gradle配置脚本dependencies段中添加统计SDK库和其它库依赖:
dependencies {
implementation fileTree(include:['*.jar'], dir:'libs')
//新用户或者使用友盟+时,请使用PX系列SDK
implementation 'com.umeng.umsdk:qt-px-common:1.4.2.PX'
//历史用户可继续使用P系列SDK
implementation 'com.umeng.umsdk:qt-common:1.4.2.P'
//从1.3.9.P开始,需要删除SPM SDK
//implementation 'com.umeng.umsdk:qt-spm:1.3.2'
}
在Android Studio 3.1及以上版本开发环境下,指定引用最新版本依赖写法”latest.integration”可能导致下载库超时,此时需要指定具体版本号。
注意,需要检查目前是否已经使用了友盟+SDK,如果已经使用,请及时查看文档
2.2.2 手动集成
zip包解压缩,得到如下文件:
umeng-common-1.x.x.P.jar // 统计SDK,必须集成。
选择SDK功能组件并下载,解压.zip文件得到相应组件包(umeng-common-1.x.x.P.jar)。
在Android Studio的项目工程libs目录中拷入相关组件jar包,右键Android Studio的项目工程 —>选择Open Module Settings —>在 Project Structure弹出框中 —>选择 Dependencies选项卡 —>点击左下“+” —>选择组件包类型 —>引入相应的包。
repositories{
flatDir{
dirs 'libs'
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/umeng-common-1.x.x.P.jar') // 必选
//implementation files('libs/umeng-spm-1.x.x.jar') //已经不存在该SDK
}
选择SDK功能组件并下载,解压.zip文件得到相应组件包(例如:umeng-common-1.x.x.P.jar等)。
在Eclipse中右键工程根目录,选择Properties —> Java Build Path —> Libraries,然后点击Add External JARs… 选择指向jar的路径,点击OK,即导入成功。(ADT17及以上不需要手动导入)。
注意,需要检查目前是否已经使用了友盟+SDK,如果已经使用,请及时查看文档。
2.3 配置权限
统计SDK需要宿主APP授予如下权限:
权限 | 用途 |
ACCESS_NETWORK_STATE | 检测联网方式,在网络异常状态下避免数据发送,节省流量和电量。 |
READ_PHONE_STATE(可选) | 获取用户设备的IMEI,通过IMEI对用户进行唯一标识,以便提供统计分析服务。 |
ACCESS_WIFI_STATE | 获取WIFI mac地址,在平板设备或电视盒子上,无法通过IMEI标识设备,我们会将WIFI mac地址作为用户的唯一标识,以便正常提供统计分析服务。 |
INTERNET | 允许应用程序联网和发送统计数据的权限,以便提供统计分析服务。 |
下面给出AndroidManifest.xml清单文件示例:
<manifest ……>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application ……>
2.4 混淆配置
如果您的应用使用了代码混淆,请添加如下配置,以避免Quick Tracking SDK被错误混淆导致SDK不可用。
-keep class com.umeng.** {*;}
-keep class org.repackage.** {*;}
-keep class com.quick.qt.** {*;}
-keep class rpk.quick.qt.** {*;}
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
SDK需要引用导入工程的资源文件,通过了反射机制得到资源引用文件R.java,但是在开发者通过proguard等混淆/优化工具处理apk时,proguard可能会将R.java删除,如果遇到这个问题,请添加如下配置:
-keep public class [您的应用包名].R$*{
public static final int *;
}
2.5 埋点验证配置
在AndroidManifest.xml文件中找到响应android.intent.action.MAIN的activity(也就是应用可以被外部唤起的第一个Activity),加上如下代码. 让应用能被指定连接scheme唤起.
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="atm.你的appkey" />
</intent-filter>
注意:
1、请使用单独intent-filter,和其他intent-filter并列,不要将上述代码填入其他intent-filter里;
2、请将“你的appkey”替换成你真实appkey。