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)

results matching ""

    No results matching ""