評測環境
3G/WIFI網絡下:
測試環境 |
Mac OS X 10.9.4 + Xcode 5.1.1 |
測試對象 |
百度移動統計(iOS版) |
測試手機 |
iPhone 5s |
系統版本 |
iOS 7.1.2 |
手機網絡 |
3G/WIFI |
測試內容 |
百度移動統計 |
測試版本 |
Baidu_Mtj_iOS_SDK_V3.3 |
測試時間 |
2014-9-15 17:00 -2014-9-22 9:50 |
基本參數:
如何收費 |
免費 |
支持平臺 |
iOS,Android |
Log數據包 |
1k |
集成SDK後多久可看到數據 |
60分鐘 |
對APP體積增加大小 |
180k左右 |
用戶量 |
每天處理會話請求超過10億次 |
耗流量 |
小 |
自定義事件上限 |
暫無 |
單個事件參數上限 |
暫無 |
穩定性 |
很穩定 |
參數值上限 |
暫無 |
及時性 |
及時 |
無網絡環境 |
支持 |
精準度 |
精準 |
對應用運行的影響 |
小 |
集成過程
客戶端集成
1.在百度統計開發平臺創建項目
項目創建地址: http://mtj.baidu.com/
點擊 “新增應用”,創建我們的項目
創建名爲“DevStore服務評測Demo”的應用
創建成功,保存下appkey,集成SDK後續過程會用到
至此,我們的項目在開發平臺創建完成。下載我們需要集成的SDK,SDK下載地址: http://mtj.baidu.com/web/welcome/sdk
2.集成SDK
創建工程項目
項目創建完成
引用配置SDK
SDK下載解壓如下,當前最新版本爲V3.3
注:iOS_manual.pdf爲百度統計SDK的接入指南文檔
Products-armv7-armv7s文件夾是包含的有armv7 & armv7s架構以及模擬器 i386的SDK,示例Demo,Api 文檔
Products-Support-arm64 文件夾是包含的有 arm64 & armv7 & armv7s 架構以及模擬器i386 的SDK,示例Demo,Api 文檔
爲了平臺適應的兼容性我們這裏採用Products-Support-arm64文件夾中提供的SDK,如下:
注:iOS-api 提供相應架構的SDK
iOS-demo 示例Demo
iOS-doc api文檔
打開iOS-api文件夾,依次爲真機使用的SDK,模擬器使用SDK,TouchJSON類庫,通用的SDK。
可以根據不同的應用場景選用SDK,我這裏的服務評測Demo,使用的通用SDK。
集成入項目,如下圖SDK文件夾中:
注:引用百度統計SDK的時候需要同時加入TouchJSON類庫,TouchJSON不支持ARC,這裏需要做下處理下,ARC項目集成非ARC類庫需要加入-fno-objc-arc如下(同樣如果是非ARC項目引用ARC類庫需要加入-fobjc-arc)。
加入依賴類庫
注:AdSupport.framework要設置可選,同樣如無用到廣告服務爲了上架審覈通過,可以移除此項,後續代碼集成部分中有涉及到.
OK,編譯正常,下面開始我們的代碼集成部分。
3.代碼實現
在項目AppDelegate.m文件中裏面加入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# import "AppDelegate.h" # import "BaiduMobStat.h" # import <AdSupport/AdSupport.h> //根據需要添加 #define APP_VERSION [[NSBundle mainBundle] infoDictionary][@ "CFBundleShortVersionString" ] @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { BaiduMobStat *statTracker=[BaiduMobStat defaultStat]; //獲取統計對象的實例 statTracker.enableDebugOn=YES; //測試環境建議開啓,發佈環境,爲減少IO消耗應當設NO statTracker.logStrategy=BaiduMobStatLogStrategyCustom; //發送策略,自定義模式 statTracker.sessionResumeInterval = 10 ; //Session失效時間[0~600s],默認30s,意味着30s發送一次日誌 statTracker.logSendInterval= 1 ; // 設置日誌發送時間間隔[1~24h] //statTracker.channelId=@"" 在管理後臺添加渠道ID,默認appstore statTracker.logSendWifiOnly=NO; //只在WIFI下發送統計,這裏爲了統計的完整性建議設NO statTracker.shortAppVersion=APP_VERSION; //便於統計這裏設置版本號 [statTracker startWithAppId:@ "1c4f7a954c" ]; //做管理後臺創建的app Id /* NSString *adId=@""; if ([[[UIDevice currentDevice] systemVersion] floatValue]>=6.0) { adId=[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; } statTracker.adid=adId; 如沒有用到廣告服務adid這個參數可以不設置,設置可以提高統計精度。 如果沒有本身項目未用到廣告服務設置此字段可能導致審覈被拒 */ return YES; } |
主要功能
百度移動統計是百度推出的基於移動APP統計的分析工具,主要有用戶分析統計,頁面訪問統計,應用內事件統計,渠道版本統計,錯誤分析等功能。
功能特色
DEMO展示
ViewController.m文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
/** * 觸發事件 */ -(IBAction)eventTrigger:(UIButton *)button { BaiduMobStat* statTracker = [BaiduMobStat defaultStat]; [statTracker logEvent:@ "Trigger" eventLabel:@ "觸發事件" ]; //eventID在需要在管理後臺設置,eventLabel不爲空 } /** * 觸發crash */ -(IBAction)crashTrigger:(UIButton *)button { //觸發一個越界Crash NSArray *testAry=@[@ "1" ,@ "2" ,@ "3" ]; NSLog(@ "%@" ,testAry[3]); } /** * 訪問頁面 */ -(IBAction)visitViewController:(UIButton *)button { ViewDetailController *viewDetailViewController=[[ViewDetailController alloc] init]; viewDetailViewController.view.backgroundColor=[UIColor colorWithRed:0.231 green:0.319 blue:0.392 alpha:1.000]; [self.navigationController pushViewController:viewDetailViewController animated:YES]; } /** * 觸發一個1s的事件 */ -(IBAction)eventTriggerWithOneSecond:(UIButton *)button { BaiduMobStat* statTracker = [BaiduMobStat defaultStat]; [statTracker logEventWithDurationTime:@ "TriggerOneSecond" eventLabel:@ "觸發1s事件" durationTime:1000]; } /** * 自定義事件 */ -(IBAction)customEventTrigger:(UIButton *)button { static Boolean isStart = false ; if (isStart == false ) { //EventId是需要在管理後臺設置的 BaiduMobStat* statTracker = [BaiduMobStat defaultStat]; [statTracker eventStart:@ "Custom" eventLabel:@ "自定義事件 start" ]; isStart = true ; [button setTitle:@ "自定義事件 結束" forState:UIControlStateNormal]; } else { BaiduMobStat* statTracker = [BaiduMobStat defaultStat]; [statTracker eventEnd:@ "Custom" eventLabel:@ "自定義事件 end" ]; isStart = false ; [button setTitle:@ "自定義事件 開始" forState:UIControlStateNormal]; } |
訪問測試頁面中的關鍵代碼
1
2
3
4
5
6
7
8
9
10
11
|
#define LifeCycle -( void ) viewDidAppear:( BOOL )animated { [[BaiduMobStat defaultStat] pageviewStartWithName:@ "測試頁面" ]; } -( void ) viewDidDisappear:( BOOL )animated { [[BaiduMobStat defaultStat] pageviewEndWithName:@ "測試頁面" ]; } |
注:自定義事件和一些渠道及其他參數需在管理後臺設置如下
測試日誌
遇到問題
在集成百度統計SDK過程中,筆者參照官方提供的文檔以及示例Demo沒有遇到太大問題,只有錯誤信息那裏始終是暫無數據(人爲的製造了Crash),如果只用到統計功能的話可以忽略。或者諮詢官方,或者等待百度後續更新。
上手難易
集成比較容易,有一定iOS開發經驗即可接入,文檔比較詳細,在測試模式可以打開日誌查看一些錯誤信息。比較隱祕的有一點筆者在集成SDK過程中找不到appkey,找了好久纔在管理平臺的設置裏面的應用信息裏面找到(管理後臺創建應用的appkey即爲代碼集成中app Id)
開發文檔
1、在線文檔地址: http://mtj.baidu.com/sdk/ios_3.3/
轉自:http://www.devstore.cn/evaluation/testInfo/101-183.html