1. Android API接口
1.1. 接口概览
初始化并启动 MTA
作用:启动MTA线程,加载数据库配置信息,初始化环境,同时,还对多版本SDK进行冲突检测
调用位置: 1、对于普通app:AndroidManifest.xml指定首先启动的activity的onCreate()处,StatConfig类的方法之后 2、对于lib工程,在其它所有StatService方法被调用之前 [原型]
public static boolean StatService.startStatService(Context ctx, String appkey, String mtaSdkVersion)
[参数]
参数 | 说明 |
---|---|
ctx | 页面的设备上下文 |
appkey | MTA提供的appkey |
requiredMtaVer | 当前app依赖的MTA SDK版本号,只能为com.tencent.stat.common.StatConstants.VERSION,用于SDK版本冲突检测 |
MtaSDkException | 异常:启动失败时会抛出MtaSDkException异常,可能是参数出错,也可能是SDK版本冲突,具体的冲突解决办法见 注意事项中的“SDK冲突问题”。同时,MTA会自动禁止所有功能 |
[示例]
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mtamain);
// androidManifest.xml指定本activity最先启动
// 因此,MTA的初始化工作需要在本onCreate中进行
// 在startStatService之前调用StatConfig配置类接口,使得MTA配置及时生
String appkey = "amtaandroid0";
// 初始化并启动MTA
try {
// 第三个参数必须为:com.tencent.stat.common.StatConstants.VERSION
StatService.startStatService(this, appkey,
com.tencent.stat.common.StatConstants.VERSION);
Log.d("MTA","MTA初始化成功")
} catch (MtaSDkException e) {
// MTA初始化失败
Log.d("MTA","MTA初始化失败"+e)
}
}
【次数统计】Key-Value参数的事件
[原型]
public static void StatService.trackCustomKVEvent(Context ctx, String event_id, Properties properties)
[参数]
参数 | 说明 |
---|---|
ctx | 页面的设备上下文,不能为null |
event_id | 自定义事件的id,不能为null或" " |
properties | String类型的key-Value对 |
[示例]
public void onOKBtnClick(View v) {
// 统计按钮被点击次数,统计对象:OK按钮
Properties prop = new Properties();
prop.setProperty("name", " OK ");
StatService.trackCustomKVEvent(this, " button_click", prop);
}
public void onBackBtnClick(View v) {
// 统计按钮被点击次数,统计对象:back按钮
Properties prop = new Properties();
prop.setProperty("name", " back ");
StatService.trackCustomKVEvent(this, " button_click", prop);
}
【时长统计】Key-Value参数事件
可以指定事件的开始和结束时间,来上报一个带有统计时长的事件。 [原型]
public static void trackCustomBeginKVEvent(
Context ctx, String event_id, Properties properties)
public static void trackCustomEndKVEvent(
Context ctx, String event_id, Properties properties)
[参数]
参数 | 说明 |
---|---|
ctx | 设备上下文,不能为null |
event_id | 自定义事件的id,不能为null或" " |
properties | String类型的key-Value对 |
[示例]
public void onClick(View v) {
Properties prop = new Properties();
prop.setProperty("level", "5");
// 统计用户通关所花时长,关卡等级: 5
// 用户通关前
StatService.trackCustomBeginKVEvent(this, " playTime", prop);
// 用户正在游戏中….
// …….
// 用户通关完成时
StatService.trackCustomEndKVEvent(this, " playTime", prop);
}
【时长统计】带有统计时长的自定义参数事件
可以指定事件的开始和结束时间,来上报一个带有统计时长的事件 [原型]
public static void trackCustomBeginEvent(
Context ctx, String event_id,String... args)
public static void trackCustomEndEvent(
Context ctx, String event_id,String... args)
[参数]
参数 | 说明 |
---|---|
ctx | 设备上下文,不能为null |
event_id | 自定义事件的id,不能为null或" " |
args | 自定义事件的参数 |
[示例]
public void onClick(View v) {
// 统计用户通关所花时长
// 用户通关前
StatService.trackCustomBeginEvent(this, " playTime", "level5");
// 用户正在游戏中….
// …….
// 用户通关完成时
StatService.trackCustomEndEvent(this, " playTime", " level5");
注意:trackCustomBeginEvent和trackCustomEndKvent必须成对出现,且参数列表完全相同,才能正常上报事件。
页面统计
统计某个页面的访问情况
[原型]
[参数]
参数 | 说明 |
---|---|
ctx | 页面的设备上下文 |
pageName | 自定义页面名称,需跟trackEndPage 一一匹配使用 |
[示例]
@Override
protected void onResume() {
super.onResume();
StatService.onResume(this);
}
public static void trackBeginPage(Context ctx, String pageName)
public static void trackEndPage(Context ctx, String pageName)