1. iOS SDK 快速接入指南
本文档将帮助您快速接入大家都在使用的MTA统计功能,高级功能接入请参考高级功能接入或者 MTA.h 以及 MTAConfig.h 头文件。
使用cocoapods的开发者可前往https://github.com/tegdata/mta
1.1. 配置Xcode工程
(1) 前往“SDK下载中心”下载对应压缩包到本地。
(2)解压mta-ios-sdk-x.x.x.zip到本地目录,可以看到其中sdk目录下的三个文件libmtasdk.a, MTA.h, MTAConfig.h。
(3)将MTA.h, MTAConfig.h以及libmtasdk.a添加到工程。
(4)添加以下库或者framework的引用libz.tbd, libsqlite3.tbd, QuartzCore.framework, Security.framework, CFNetwork.framework, SystemConfiguration.framework, CoreTelephony.framework, UIKit.framework, Foundation.framework, CoreGraphics.framework以及libmtasdk.a。添加完成后,库的引用如下
(5)在工程配置的Other Linker Flags中添加 '-ObjC' 参数。如下图
1.2. 嵌入MTA代码
(1) 切换到工程目录,打开AppDelegate.m,在文件开头import 部分增加import:
#import "MTA.h"
#import "MTAConfig.h"
(2)在启动方法
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
方法内添加如下语句
[MTA startWithAppkey:@"xxxx"]; //xxxx为注册App时得到的APPKEY
添加完成后的代码如下:
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// ...
[MTA startWithAppkey:@"ABCDEFGH"];
// ...
}
1.3. 验证数据上报
成功嵌入sdk后,在模拟器或手机运行您上面已经编译好的应用(确保已执行MTA代码),便会自动上报数据。
登陆MTA前台,等待5秒钟左右再刷新app首页,实时指标将有变化,表示已成功上报;若超过3分钟指标仍未变化,请按以下顺序检查:
(1)手机的wifi是否打开,是否正常联网;
(2)APPKEY设置是否正确;
(3)确保已触发MTA统计代码;
(4) 查看Xcode的输出是否有错误信息。
1.4. SDK嵌入完成
恭喜!到这里您已经顺利接入MTA的统计功能,需要获得更高级的服务功能,请参考接口说明。
1.5. 接口说明
本文档提供了 MTA.h 头文件中大部分接口的使用方法。全部接口及使用方法请查看头文件 MTA.h。
1.5.1. 头文件 MTA.h
启动 MTA
使用统计功能以前,需要先启动MTA。在UIApplicationDelegate的
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
回调中调用 MTA 的 startWithAppkey 方法即可启动MTA。
(1)接口内容
/**
启动MTA
@param appkey 从网页申请的appKey
*/
+ (void)startWithAppkey:(NSString *)appkey;
/**
检测版本,并启动MTA。
如果当前MTA的版本小于ver参数,则MTA不启动。否则启动MTA。
@param appkey 从网页申请的appKey
@param ver 最低允许启动的版本
@return 如果MTA成功启动,返回YES,否则返回NO
*/
+ (BOOL)startWithAppkey:(NSString *)appkey checkedSdkVersion:(NSString *)ver;
(2)代码示例
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[MTA startWithAppkey:@"ABCDEFG"];
}
统计页面时长
页面时长可以统计某个页面的访问时长
(1)接口内容
/**
标记一次页面访问的开始
此接口需要跟trackPageViewEnd配对使用
多次开始以第一次开始的时间为准
@param page 页面ID,ID需要先在MTA前台配置好才能生效
*/
+ (void)trackPageViewBegin:(NSString *)page;
/**
标记一起页面访问的开始
并且指定上报方式
此接口需要跟trackPageViewEnd配对使用
多次开始以第一次开始的时间为准
@param page 页面ID,ID需要先在MTA前台配置好才能生效
@param appkey 若此参数不为nil,则上报到此appkey。否则,上报到startWithAppkey中传入的appkey
*/
+ (void)trackPageViewBegin:(NSString *)page appkey:(NSString *)appkey;
/**
标记一次页面访问的结束
此接口需要跟trackPageViewBegin配对使用
多次结束以第一次结束的时间为准
@param page 页面ID,ID需要先在MTA前台配置好才能生效
*/
+ (void)trackPageViewEnd:(NSString *)page;
/**
标记一起页面访问的结束
并且指定上报方式
此接口需要跟trackPageViewBegin配对使用
多次结束以第一次结束的时间为准
@param page 页面ID,ID需要先在MTA前台配置好才能生效
@param appkey 若此参数不为nil,则上报到此appkey。否则,上报到startWithAppkey中传入的appkey
@param isRealTime 是否实时上报,若传入YES,则忽略全局上报策略实时上报。否则按照全局策略上报。
*/
+ (void)trackPageViewEnd:(NSString *)page
appkey:(NSString *)appkey
isRealTime:(BOOL)isRealTime;
(2)代码示例
-(void) viewDidAppear:(BOOL)animated {
[MTA trackPageViewBegin:@"Page"];
[super viewDidAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
[MTA trackPageViewEnd:@"Page"];
[super viewWillDisappear:animated];
}
注意:trackPageViewBegin和trackPageViewEnd必须成对使用才能生效
使用时长统计
在UIApplicationDelegate的
- (void)applicationDidBecomeActive:(UIApplication *)application;
- (void)applicationWillResignActive:(UIApplication *)application;
两个回调中,分别添加对应的打点代码,即可上报app的使用时长。
(1)接口内容
/**
开始统计使用时长
建议在App进入前台时调用
*/
+ (void)trackActiveBegin;
/**
结束统计使用时长
建议在App离开前台时调用
*/
+ (void)trackActiveEnd;
(2)代码示例
// 开始打点
- (void)applicationDidBecomeActive:(UIApplication *)application {
[MTA trackActiveBegin];
}
// 结束打点
- (void)applicationWillResignActive:(UIApplication *)application {
[MTA trackActiveEnd];
}
1.5.2. 头文件MTAConfig.h
头文件 MTAConfig.h 提供了一些方法来自定义MTA的上报行为,比如上报策略,一次上报的条数等等。若有需要,可以查看 MTAConfig.h 头文件,做适当修改。
注:必须在调用 MTA 启动函数之前修改 MTAConfig 中的配置。否则配置可能不生效并且可能会引发 SDK 的一些未定义行为。
更多内容可参考sdk zip包中的开发文档