基础指南

欢迎使用腾讯移动分析(简称MTA)Android统计SDK,您可以按照下面AndroidStudio自动接入eclipse手动接入开始集成SDK。

适用范围

本指南适用MTA Android SDK 3.x.x版本

集成准备 —— 创建应用

登陆官网管理台,按照步骤提示注册应用,可获得AppKey,获取位置如下图所示:

集成接入

自动接入(推荐)

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

手动集成(以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>

添加统计代码

常用类说明

MTA主要使用到2个类

import com.tencent.stat.StatConfig
import com.tencent.stat.StatService

StatConfig类:MTA配置类,可以设置上报策略、Debug开关、session超时时间等,需要在初始化MTA之前被调用才能及时生效,通常使用SDK默认配置即可。

StatService类:MTA统计类,需要开发者按下面的步骤主动调用接口。

添加基础统计代码

在App初始化之处,通常为Application或MainActivity的onCreate()方法内,添加以下调用

        // 打开Logcat输出,上线时,一定要关闭
        StatConfig.setDebugEnable(true);
        // 注册activity生命周期,统计时长
        StatService.registerActivityLifecycleCallbacks(this.getApplication());

集成测试验证

当您完成以下的MTA嵌入工作后,启动app,触发MTA统计接口,便会自动上报数据。

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重新安装,可参考兼容性错误。

升级SDK

新版本SDK兼容老版本接口,升级时只需要替换旧的jar包即可:先在工程所在libs目录下删除旧的jar包,复制新jar包到libs路径,同时,在Java Build Path里面删除旧的jar包,并添加新jar包引用。

代码混淆

请保留以下选项:

-keep class com.tencent.stat.*{*;}

-keep class com.tencent.mid.*{*;}

注意

  • 若使用自定义或第三方打包工具打包,建议通过代码接口的方式配置渠道,具体步骤:

  1. 渠道打包工具打包

  2. 代码中,读取打包工具设置的渠道

  3. 初始化时,调用StatConfig.setInstallChannel(ctx, channel)设置MTA渠道

Last updated