首页 > 代码库 > iOS腾讯云MTA嵌入方法使用小结
iOS腾讯云MTA嵌入方法使用小结
1 开始嵌入SDK
1.1 获取AppKey
登陆腾讯云分析移动统计前台http://mta.qq.com,点击"查看数据",选择"注册应用",按照步骤提示注册应用,即可获得AppKey。
如果应用是通过其他渠道,比如“腾讯移动开放平台”接入腾讯云分析,则会自动为您分配AppKey,按页面提示操作即可。
1.2 向工程中导入SDK
下载统计SDK压缩包,解压至本地目录,将其中的SDK库,SDK头文件导入到您的XCode应用工程中。
SDK库,SDK头文件(MTA.h和MTAConfig.h)在解压开的sdk文件夹下
Xcode添加依赖系统库。依赖的系统库包括:
libz.dylib
libsqlite3.dylib
SystemConfiguration.framework
CoreTelephony.framework
AdSupport.framework
1.3 在代码中添加SDK的引用
- import “MTA.h”
- import “MTAConfig.h”
MTAConfig.h:MTA配置相关接口,需要在MTA.h接口前被调用才能及时生效
MTA.h:MTA统计功能相关接口,需要开发者主动调用才能完成某项功能的统计。
应用需要在应用启动时在启动结束函数didFinishLaunchingWithOptions中调用SDK提供的启动方法[MTA startWithAppkey:@"myappkey"]完成统计SDK启动。注意startWithAppkey的参数为申请的统计ID标识AppKey。
注意:其它SDK内置启动MTA情况下需要调用下面方法,传入MTA_SDK_VERSION,并检查返回值。
+(BOOL) startWithAppkey:(NSString*) appkey checkedSdkVersion:(NSString*)ver
启动结束后,应用可以开始调用SDK提供的其它统计方法。
1.4 在App delegate中嵌入腾讯云统计
//嵌入腾讯云统计
[MTA startWithAppkey:@"ICAM83MA95BN”];//这里Appkey为我的测试值
//检查插码是否嵌入成功
if ([MTA startWithAppkey:@"ICAM83MA95BN" checkedSdkVersion:MTA_SDK_VERSION]) {
NSLog(@"MTA Start successs!");
}
1.5 MTA会话统计
//设置统计上报策略,上报方式有以下几种:
MTA_STRATEGY_INSTANT = 1,//实时上报
MTA_STRATEGY_BATCH = 2,//批量上报,达到缓存临界值时触发发送
MTA_STRATEGY_APP_LAUNCH = 3,//应用启动时发送
MTA_STRATEGY_ONLY_WIFI = 4, //仅在WIFI网络下发送
MTA_STRATEGY_PERIOD = 5, //每间隔一定最小时间发送,默认24小时
MTA_STRATEGY_DEVELOPER = 6, //开发者在代码中主动调用发送行为
MTA_STRATEGY_ONLY_WIFI_NO_CACHE = 7 //仅在WIFI网络下发送,发送失败以及非WIFI网络情况下不缓存数据
[[MTAConfig getInstance] setReportStrategy:MTA_STRATEGY_INSTANT];
//Session超时时长,默认30秒。如果设置为30秒,应用退入后台超过30秒即认为是一次新的启动
[[MTAConfig getInstance] setSessionTimeoutSecs:60];
//MTA默认会捕捉异常及crash,所以应用中不用代码处理即可捕获所有异常,非常方便
// [MTA trackException:];
//渠道名,默认为"appstore"。设置后会在分析中心分渠道统计信息
[[MTAConfig getInstance] setChannel:@"appstore"];
//AppVersion设置后会在分析中心分版本统计信息
[[MTAConfig getInstance] setCustomerAppVersion:@"4.0.0"];//appVersionNo
//上报QQ,如果用户使用QQ共享登录,把用户qq上报至MTA,则用户信息统计将更加全面,包括性别比例,新老用户比例,年龄分布,学历分布,地域分布,学历分布等。个人觉得很有必要添加qq共享登录功能。
NSString* qq = @“84”7093460;
[MTA reportQQ:qq];
1.6 MTA自定义事件
以上基础配置完成后,在MTA云分析中心即可完成应用趋势,渠道分析,用户分析等功能的统计。
对于行为分析的统计,首先,用户需要在自定义分析下的自定义事件中新建事件,这里主要是获取事件ID。如创建登录页面手机用户登录事件,事件ID为cellPhoneLogin,登录完成处写下代码:
NSDictionary* kvs=[NSDictionary dictionaryWithObject:@"Value" forKey:@"Key"];
[MTA trackCustomKeyValueEvent:@"cellPhoneLogin" props:kvs];
即可完成登录事件的统计。
其它事件依次类推,用户根据不同需求创建自定义统计事件。
1.7 MTA行为分析
MTA行为分析下的路径分析,页面来源,使用时长,使用频率,访问页面等的统计,需要在每个页面(即view controller)的启动与结束时调用对应方法。如:
-(void) viewDidAppear:(BOOL)animated{
[super viewDidAppear:YES];
NSString* page = @"Page1”;
[MTA trackPageViewBegin:page];
}
-(void) viewDidAppear:(BOOL)animated{
[super viewDidAppear:YES];
NSString* page = @"Page1";
[MTA trackPageViewBegin:page];
}
这样即可完成Page1相关统计。如果应用中多个页面这样操作,则可以统计页面间相互跳转情况,以及实现路径分析,页面来源,使用时长,使用频率,访问页面等功能的统计。
1.8 MTA自定义事件
MTA自定义事件分为普通事件、计算事件、预定义事件。
预定义事件与具体应用类型有关,有注册事件、登录事件、付费事件。
普通事件统计事件发生次数、事件参与人数、事件时长,及事件各参数出现次数、人数、时长。
计算事件支持对事件参数做SUM(求和),COUNT(DISTINCT)去重,MAX(最大值),MIN(最小值)、Dimension(作为统计维度)。平均值是一个经常用到的计算,因为AVG=SUM/COUNT或AVG=SUM/COUNT(distinct),所以计算事件无需配置平均值运算。至于标准差、中位数之类复杂数学运算目前暂不支持。
这里写了一个统计新浪微博共享登录所需时长的自定义事件,用户点击按钮开始计时,用户完全登录成功停止计时。方法如下:
按钮触发时如此代码:
MTA trackCustomEventBegin:@"sinaLoginTime" args:nil];
登录结束后如此代码:
[MTA trackCustomEventEnd:@"sinaLoginTime" args:nil];
这样即可在分析中心查看所有用户使用新浪共享登录的统计用时。其它计时事件的使用可以举一反三。
自定义分析中的漏斗模型适用于分析应用中某些关键路径每一步的转化率,来检验流程的合理性,用户触发初始事件后在1天内完成目标即可视为成功转化。漏斗模型需要在分析中心自定义创建。
1.9 MTA接口统计
对某个固定接口的测速统计可以这样写。以下为检测登录接口示例:
// 监控登录接口
MTAAppMonitorStat* stat = [[MTAAppMonitorStat alloc] init];
[stat setInterface:@"http://m.test.com:8080/test/wl/u/login.wl?vendorId=1DE&req=ph0fh0V4Xg&userId=&loginId=&channelId=-2&usersIdFk=&terminalType=i&moneyClassId=0&remoteIP=192.168.3.19&subTerminalType=i&versionNo=1.0.0&lang=zh_CN&deviceSN=1150"];
[stat setResultType:MTA_SUCCESS];//业务返回类型
[stat setRequestPackageSize:1024];//上传请求包量,单位字节
[stat setResponsePackageSize:1024];//上传请求包量,单位字节
[stat setConsumedMilliseconds:36000];//消耗的时间,单位毫秒
[stat setReturnCode:0];//业务返回的应答码
[MTA reportAppMonitorStat:stat];
注意,以上绿色注释参数必须设置,不然会统计不出数据。完成设置后就可以在分析中心查看登录接口的一些信息了。
1.10 MTA网速监控
测试地图可以形象、鲜明的显示该app的网络运营商在全国分布的一些数据。
时段曲线可以统计不同运营商,不同时段下app测速地址的的平均耗时,总耗时,测试次数,失败率等的一些数据。
测试地址管理,可以自己增加、删除想要测试的测速地址。