1. MTA(Android)接入指南
欢迎使用腾讯移动分析(简称MTA)Android统计SDK,您可以按照下面AndroidStudio自动接入和eclipse手动接入开始集成SDK。
1.1. 适用范围
本指南适用MTA Android SDK 3.x.x版本
1.2. 集成准备 —— 创建应用
登陆官网管理台,按照步骤提示注册应用,可获得AppKey,获取位置如下图所示:
1.3. 集成接入
1.3.1. 自动接入(推荐)
AndroidStudio上可以使用jcenter远程仓库自动接入,不需要在项目中导入jar包和so文件;在AndroidManifest.xml中不需要配置MTA相关的内容, jcenter 会自动导入。(升级SDK删除老版本SDK的配置)
在app build.gradle文件下配置 以下内容
android {
defaultConfig {
ndk {
//根据需要 自行选择添加的对应cpu类型的.so库。
abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
}
manifestPlaceholders = [
MTA_APPKEY:"注册应用的appkey",
MTA_CHANNEL:"渠道名称"
]
}
}
dependencies {
// mta包稳定版和测试版本二选一,mid包必须要添加
//mta 3.4.7 稳定版
compile 'com.qq.mta:mta:3.4.7-Release'
//mid jar包 必须添加
compile 'com.tencent.mid:mid:4.06-Release'
}
注意
如果在添加以上 abiFilter 配置之后android Studio出现以下提示:
NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. 则在 Project 根目录的gradle.properties文件中添加:
android.useDeprecatedNdk=true
1.3.2. 手动集成(以eclipse为例)
向工程中导入SDK
前往SDK下载中心下载SDK压缩包,解压至本地目录,将其中lib目录下的mta-sdk-x.x.x.jar[1]复制到您的应用工程libs目录(若不存在请新建一个)中。以Eclipse为例:右键点击工程根目录→选择Properties→ Java Build Path →Libraries→点击Add JARs…选中当前工程libs目彔下的mta-sdk-x.x.x.jar文件,点击“OK”按钮即导入成功。
配置AndroidManifest.xml文件
需要添加下面两类配置:
Meta-Data | 类型 | 用途 | 必选 |
---|---|---|---|
TA_APPKEY | String,不能为纯数字字符串 | MTA提供给每个app的appkey,用来定位该应用程序的唯一性 | 是 |
InstallChannel | String,若为纯数字字符串不能超过int表示的范围 | 用来标注应用推广渠道,区分新用户的来源来查看统计多渠道打包配置 | 是 |
Provider | Android组件 | 兼容Android 6.0系统(MID 3.0以上版本才需要) | 否 |
注意: appkey和installChannel也能够在代码中设置,见APP设置接口
需要的权限 | 用途 | 必选 |
---|---|---|
INTERNET | 允许应用程序联网,以便向我们的服务器端发送数据 | 是 |
READ_PHONE_STATE | 获取用户手机的IMEI,用来唯一的标识用户。(运行在平板上的应用会读取mac地址作为用户的唯一标识 | 是 |
ACCESS_NETWORK_STATE | 获取设备的网络状态 | 是 |
ACCESS_WIFI_STATE | 获取设备的WIFI网络状态 | 是 |
WRITE_EXTERNAL_STORAGE | 获取SD卡信息 | 是 |
权限示例文件:
<!-- 必选权限< -->
<uses-permission android:name="android.permission.INTERNET"/>
<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.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<application ......>
<provider
android:name="com.tencent.mid.api.MidProvider"
android:authorities="你的包名.TENCENT.MID.V3"
android:exported="true" >
</provider>
<!-- 请将value改为管理台申请的AppKey < -->
<meta-data android:name="TA_APPKEY" android:value="ABCDEFG12233456"/>
<!-- 请将value改为app发布对应的渠道,不同的发布渠道使用不同的名字 < -->
<meta-data android:name="InstallChannel" android:value="play"/>
</application>
1.4. 添加统计代码
1.4.1. 常用类说明
MTA主要使用到2个类
import com.tencent.stat.StatConfig
import com.tencent.stat.StatService
StatConfig类:MTA配置类,可以设置上报策略、Debug开关、session超时时间等,需要在初始化MTA之前被调用才能及时生效,通常使用SDK默认配置即可。
StatService类:MTA统计类,需要开发者按下面的步骤主动调用接口。
1.4.2. 添加基础统计代码
在App初始化之处,通常为Application或MainActivity的onCreate()方法内,添加以下调用
// 打开Logcat输出,上线时,一定要关闭
StatConfig.setDebugEnable(true);
// 注册activity生命周期,统计时长
StatService.registerActivityLifecycleCallbacks(this.getApplication());
1.5. 集成测试验证
当您完成以下的MTA嵌入工作后,启动app,触发MTA统计接口,便会自动上报数据。
在应用的接入配置页开始SDK集成验证,查看是否接入成功,如下图所示:
SDK会实时上报数据请等待验证,验证耗时约1分钟,超时请按以下顺序检查:
(1)设备的wifi是否打开,是否正常联网;
(2)APPKEY、权限等设置是否正确;
(3)确保已触发MTA统计接口;
(4)打开MTA的debug开关,查看标签为“MtaSDK“的logcat提示,是否有错误日志;成功上报的日志通常为
I/MtaSDK: [StatDispatcher(522): StatDispatcher.java:288] - http recv response status code:200, content length:29
(5)如果logcat提示Compatibility problem was found in this device!
,请先删除apk重新安装,可参考兼容性错误。
1.6. 升级SDK
新版本SDK兼容老版本接口,升级时只需要替换旧的jar包即可:先在工程所在libs目录下删除旧的jar包,复制新jar包到libs路径,同时,在Java Build Path里面删除旧的jar包,并添加新jar包引用。
1.7. 代码混淆
请保留以下选项:
-keep class com.tencent.stat.*{*;}
-keep class com.tencent.mid.*{*;}
1.8. 注意
- 若使用自定义或第三方打包工具打包,建议通过代码接口的方式配置渠道,具体步骤:
- 渠道打包工具打包
- 代码中,读取打包工具设置的渠道
- 初始化时,调用StatConfig.setInstallChannel(ctx, channel)设置MTA渠道
- 如需同时统计app内的h5页面数据,请根据hybird app android使用说明进行集成