常見(jiàn)的統(tǒng)計(jì)平臺(tái)
統(tǒng)計(jì)功能從強(qiáng)到弱依次為:google analytics > Flurry > 友盟 > talkingdata
數(shù)據(jù)響應(yīng)速度及時(shí)性從快到慢為:友盟,talkingdata > Flurry > google analytics
前面?zhèn)z個(gè)是國(guó)內(nèi)分析平臺(tái),后面?zhèn)z個(gè)是國(guó)外分析平臺(tái)。在使用選擇上,國(guó)內(nèi)的話建議使用友盟,國(guó)外的話建議使用Flurry,個(gè)人項(xiàng)目中也集成了google analytics,但是發(fā)現(xiàn)延遲比較嚴(yán)重,在一個(gè)數(shù)據(jù)數(shù)據(jù)不是太準(zhǔn)確。以上是個(gè)人觀點(diǎn),不喜勿噴。
Flurry的使用
1.集成
- 使用pod
pod 'Flurry-iOS-SDK/FlurrySDK' -
普通下載,若項(xiàng)目未集成Apple Watch相關(guān)功能,可以刪掉FlurryWatch.h和靜態(tài)庫(kù)libFlurryWatch_XX.a的引用。
并添加引用庫(kù):
Security.framework
SystemConfiguration.framework
2. 整合Flurry Analytics
- 在AppDelegate.m中添加如下代碼
#import "Flurry.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// API_KEY
[Flurry startSession:@"YOUR_API_KEY"];
}
2.自定義事件
- 記錄自定義事件
[Flurry logEvent:@"Article_Read"];
注:每個(gè)應(yīng)用可追蹤300個(gè)不同的事件。
-
記錄包含自定義參數(shù)的事件
//用戶自定義參數(shù) NSDictionary *articleParams = [NSDictionarydictionaryWithObjectsAndKeys: @"John Q", @"Author", @"Registered", @"User_Status", nil]; //使用自定義參數(shù) [Flurry logEvent:@"Article_Read" withParameters:articleParams];
注:每個(gè)事件最多具備10個(gè)參數(shù)。
-
追蹤事件持續(xù)時(shí)間
//用戶自定義參數(shù) NSDictionary *articleParams = [NSDictionarydictionaryWithObjectsAndKeys: @"John Q", @"Author", @"Registered", @"User_Status", nil]; //開(kāi)始記錄事件時(shí)間 [Flurry logEvent:@"Article_Read" withParameters:articleParamstimed:YES]; //捕捉結(jié)束時(shí)間 [Flurry endTimedEvent:@"Article_Read" withParameters:nil];
3.Flurry Analytics進(jìn)階功能
1.獲取用戶地理位置
//開(kāi)啟位置管理服務(wù)
CLLocationManager *locationManager = [[CLLocationManager alloc] init];[locationManager startUpdatingLocation];
//使用Flurry設(shè)定定位
Flurry CLLocation *location = locationManager.location;[Flurry setLatitude:location.coordinate.latitude longitude:location.coordinate.longitude horizontalAccuracy:location.horizontalAccuracy verticalAccuracy:location.verticalAccuracy];
注:Flurry只會(huì)保留最后的位置信息
2.追蹤年齡和性別
[Flurry setAge:21];
注:有效年齡0或以上
3.追蹤用戶ID
[Flurry setUserID:@"USER_ID"];
注:根據(jù)Flurry的服務(wù)條款,不可獲取設(shè)備的唯一識(shí)別碼。
4.追蹤應(yīng)用錯(cuò)誤
[Flurry logError:@"ERROR_NAME" message:@"ERROR_MESSAGE" exception:e];
注:Flurry會(huì)報(bào)告每個(gè)使用時(shí)間(Session)內(nèi)發(fā)生前的10次錯(cuò)誤。
5.追蹤頁(yè)面瀏覽
//自動(dòng)記錄
[Flurry logAllPageViews:navigationController];
//手動(dòng)記錄
[Flurry logPageView];
在UINavigationController或UITabBarController存在之下,可以手動(dòng)偵測(cè)用戶互動(dòng)。
注:頁(yè)面瀏覽次數(shù)與自定義事件不同。
6.設(shè)定數(shù)據(jù)傳送至Flurry時(shí)機(jī)
[Flurry setSessionReportsOnCloseEnabled: (BOOL)sendSessionReportsOnClose];
默認(rèn)開(kāi)啟。啟動(dòng)此選項(xiàng)后,F(xiàn)lurry會(huì)試圖在用戶退出應(yīng)用與啟動(dòng)應(yīng)用時(shí)傳送使用時(shí)間(Session)數(shù)據(jù)。
[Flurry setSessionReportsOnPauseEnabled: (BOOL)sendSessionReportsOnPause];
默認(rèn)開(kāi)啟。啟動(dòng)此選項(xiàng)后,F(xiàn)lurry會(huì)試圖在用戶暫停應(yīng)用與啟動(dòng)應(yīng)用時(shí)傳送使用時(shí)間(Session)數(shù)據(jù)。
Flurry會(huì)在用戶暫停應(yīng)用與啟動(dòng)應(yīng)用時(shí)通過(guò)SSL傳送使用時(shí)間(Session)數(shù)據(jù)。
4.Flurry的功能
添加SDK完成后,SDK會(huì)存取以下所列功能。點(diǎn)此查看每個(gè)功能詳細(xì)描述。
- 使用時(shí)間(Session)
- 活躍用戶(Active Users)
- 新用戶 (New Users)
- 使用時(shí)間長(zhǎng)度(Session Length)
- 用戶使用頻率(Frequency of Use)
- 標(biāo)桿分析(Benchmarks)
- 頁(yè)面瀏覽次數(shù)(Page Views)
- 自定義用戶客群(Custom User Segments)
- 用戶路徑(User Paths)
- 生命周期指標(biāo)(Lifecycle Metrics)
- 用戶留存(User Retention)
- 版本采用(Version Adoption)
- 跨行動(dòng)程式使用量(Cross-App Usage)
- iOS類別興趣(iOS Category Interests)
- 使用者基本資料預(yù)估(Demographic Estimates)
- 報(bào)告時(shí)段(Time of Day Reporting)
- 地理位置使用量(Geographic Usage)
- 語(yǔ)言指標(biāo)(Language Metrics)
- 設(shè)備(Devices)
- 電信運(yùn)營(yíng)商(Carriers)
- 固件版本(Firmware Versions)
說(shuō)明:SDK判定使用Session完成時(shí),會(huì)自動(dòng)傳輸記錄下的數(shù)據(jù)。如果未連接,則會(huì)于再次連接時(shí),將儲(chǔ)存在應(yīng)用上的資料傳輸出去。