- 想獲取用戶(hù)各項(xiàng)行為數(shù)據(jù)嗎怠苔?
- 想輕松查看用戶(hù)行為圖表嗎?
- 想高效進(jìn)行 App 運(yùn)營(yíng)管理嗎埋心?
想指郁,來(lái)我?guī)阃孓D(zhuǎn) App 數(shù)據(jù)統(tǒng)計(jì)。這里我使用專(zhuān)業(yè)拷呆、輕便的 JAnalytics闲坎。
本文內(nèi)容分為兩部分:代碼示例&使用技巧部分、控制臺(tái)圖表查看部分茬斧。
代碼示例&使用技巧
集成
- 下載 JAnalytics SDK
- 添加
Lib
文件夾下的全部文件至 Xcode Project - 增加相關(guān)的 framework 依賴(lài):
UIKit.framework
SystemConfiguration.framework
CoreTelephony.framework
CoreGraphics.framework
Security.framework
Foundation.framework
CoreLocation.framework
CoreFoundation.framework
CFNetwork.framework
libz.tbd
libresolv.tbd
初始化 SDK
#import "JANALYTICSService.h"
在 application:didFinishLaunchingWithOptions
中添加以下代碼:
代碼示例
JANALYTICSLaunchConfig * config = [[JANALYTICSLaunchConfig alloc] init];
config.appKey = @"your appkey";
config.channel = @"channel";
[JANALYTICSService setupWithConfig:config];
其中的 appKey
參數(shù)腰懂,需要你在極光控制臺(tái)注冊(cè)個(gè)帳號(hào),并創(chuàng)建一個(gè) App 項(xiàng)目來(lái)獲取项秉。
頁(yè)面流統(tǒng)計(jì)
-
+startLogPageView
:開(kāi)始統(tǒng)計(jì)某頁(yè)面绣溜,可以寫(xiě)在 ViewControler 的viewDidAppear:
-
+stopLogPageView
:結(jié)束統(tǒng)計(jì)某頁(yè)面,可以寫(xiě)在 ViewControler 的viewDidDisappear:
代碼示例
- (void)viewDidAppear:(BOOL)animated {
[JANALYTICSService startLogPageView:@"頁(yè)面名稱(chēng)"];
}
- (void)viewDidDisappear:(BOOL)animated {
[JANALYTICSService stopLogPageView:@"頁(yè)面名稱(chēng)"];
}
使用技巧
以上方法需要在所有 Controller 中全部寫(xiě)一遍娄蔼,建議在自己的 UIViewController 基類(lèi) BaseViewController 或者為 UIViewController 添加 Category怖喻,添加以下代碼。只要寫(xiě)一遍即可統(tǒng)計(jì)所有現(xiàn)有或者新增的頁(yè)面岁诉,既減少了代碼量锚沸,也不用擔(dān)心有遺漏的頁(yè)面:
- (void)viewDidAppear:(BOOL)animated {
[JANALYTICSService startLogPageView:NSStringFromClass([self class])];
}
- (void)viewDidDisappear:(BOOL)animated {
[JANALYTICSService stopLogPageView:NSStringFromClass([self class])];
}
在以上代碼的基礎(chǔ)上還可單獨(dú)定義一個(gè)類(lèi)似 PageNameFromClass 的方法,通過(guò)獲取 class 轉(zhuǎn)為具體的頁(yè)面名稱(chēng)
地理位置統(tǒng)計(jì)
+setLatitude:longitude:
:上報(bào)地理位置信息
代碼示例
[JANALYTICSService setLatitude:116.46 longitude:39.92];
崩潰日志統(tǒng)計(jì)
+crashLogON
:開(kāi)啟對(duì) crash日志的收集
建議在 application:didFinishLaunchingWithOptions
調(diào)用該方法涕癣。
代碼示例
[JANALYTICSService setLatitude:116.46 longitude:39.92];
事件統(tǒng)計(jì)
+eventRecord
通過(guò)傳入不同的事件模型來(lái)進(jìn)行各種事件的統(tǒng)計(jì)哗蜈,現(xiàn)支持的事件有:注冊(cè)、登錄坠韩、購(gòu)買(mǎi)距潘、瀏覽、計(jì)數(shù)同眯、計(jì)算绽昼。
代碼示例
[JANALYTICSService eventRecord:event];
其中的 event 需要根據(jù)事件的不同進(jìn)行創(chuàng)建。
例如注冊(cè)事件:
JANALYTICSRegisterEvent * event = [[JANALYTICSRegisterEvent alloc] init];
event.success = YES;//是否注冊(cè)成功
event.method = @"注冊(cè)方法";
event.extra = @{@"自定義 key1":@"自定義 value1"};
[JANALYTICSService eventRecord:event];
各種不同事件的創(chuàng)建方法參照此處
控制臺(tái)圖表查看
在控制臺(tái)統(tǒng)計(jì)頁(yè)面可以查看到 App 中各項(xiàng)數(shù)據(jù)的統(tǒng)計(jì)圖表须蜗。
- 免費(fèi)功能:包括推送統(tǒng)計(jì)硅确、用戶(hù)統(tǒng)計(jì)、參與留存明肮、錯(cuò)誤分析菱农、事件統(tǒng)計(jì)、頁(yè)面統(tǒng)計(jì)等柿估,也足以滿(mǎn)足各項(xiàng)統(tǒng)計(jì)需求了循未。
- VIP 功能:包括 終端統(tǒng)計(jì)、排行統(tǒng)計(jì)、用戶(hù)畫(huà)像等高級(jí)功能的妖。
其中的各項(xiàng)數(shù)據(jù)一般會(huì)在 App 調(diào)用相應(yīng)接口之后每隔 1 小時(shí)進(jìn)行刷新绣檬。
另外每項(xiàng)統(tǒng)計(jì)下面又包含多種不同功能,大家可以依次嘗試一下嫂粟。