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測速地址的的平均耗時,總耗時,測試次數,失敗率等的一些資料。
測試地址管理,可以自己增加、刪除想要測試的測速地址。