Cobub Razor
Cobub Toaster
其它鏈接
Cobub Razor
Cobub Toaster
其它鏈接
這是本文檔舊的修訂版!
Cobub Razor是一個(gè)免費(fèi)開(kāi)源的移動(dòng)應(yīng)用分析系統(tǒng)。用戶可以自己建立服務(wù)收集移動(dòng)應(yīng)用的相關(guān)數(shù)據(jù),分析并生成統(tǒng)計(jì)分析報(bào)表。該文章介紹了如何將Cobub Razor的iOS的SDK嵌入到iOS移動(dòng)應(yīng)用客戶端。
本文檔的目的是講解CobubRazor iOS SDK 的使用規(guī)則,方便用戶的使用。
本文檔是適用于開(kāi)源移動(dòng)分析系統(tǒng)CobubRazor 的iOS SDK的使用者
登陸賬號(hào)后,到管理后臺(tái)注冊(cè)應(yīng)用,填寫(xiě)ios應(yīng)用的相關(guān)信息。App建立成功后,可獲得該App的Appkey以及最新的開(kāi)發(fā)文檔和SDK文件。
下載SDK壓縮包并將其解壓縮。解壓縮之后,可以看到兩個(gè)文件,UMSAgent.h 和 libUMSAgent.a
在項(xiàng)目工程目錄中,選擇Add→Existing files.. 選擇上面解壓縮后的兩個(gè)文件。或者直接將兩個(gè)文件拖拽至目錄結(jié)構(gòu)中,選擇Copy Items into destination group’s folder(if needed).
在AppDelegate.h中添加,#import “UMSAgent.h”。在AppDelegate.m中的didFinishLaunchingWithOptions函數(shù)添加如下函數(shù)調(diào)用:
[UMSAgent startWithAppKey:@"14aaa92e098df46cb63ed5196e0c331c" ReportPolicy:BATCH ServerURL:@ "YOUR SDK SERVICE URL"]; -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *) launchOptions { [UMSAgent startWith]AppKey:@"UMSAgentKey" ReportPolicy:BATCH]; }
其中UMSAgentKey是從網(wǎng)站注冊(cè)應(yīng)用時(shí)獲取到的AgentKey。
ServiceURL 為服務(wù)器SDK Service接口地址。
其中BATCH模式為系統(tǒng)下次啟動(dòng)時(shí)一次性上傳數(shù)據(jù)。
如果希望改為實(shí)時(shí)上傳模式,請(qǐng)將BATCH改為REALTIME
建議采用BATCH模式,減少APP與網(wǎng)絡(luò)交互,節(jié)約流量,增強(qiáng)用戶體驗(yàn)。 使用時(shí)長(zhǎng)統(tǒng)計(jì)
平臺(tái)將每次APP進(jìn)入前臺(tái)和進(jìn)入后臺(tái)之間的間隔作為一次生命周期過(guò)程。平臺(tái)會(huì)將每次生命周期作為數(shù)據(jù)提交到后臺(tái),為開(kāi)發(fā)者提供相應(yīng)的統(tǒng)計(jì)分析報(bào)告。
自定義的事件用來(lái)為開(kāi)發(fā)者提供更為詳細(xì)的用戶行為統(tǒng)計(jì)分析。使用前請(qǐng)?jiān)诤笈_(tái)提前添加指定的事件,并獲得事件的Event_identifier后,后臺(tái)才能進(jìn)行相應(yīng)的處理工作,否則后臺(tái)對(duì)客戶端未注冊(cè)事件不進(jìn)行處理。
+(void)postEvent:(NSString *)event_id;
event_id: 當(dāng)前事件的ID值,在服務(wù)端定義的,ID值不能有空格。在您需要發(fā)送事件報(bào)告的代碼段,調(diào)用如下方法就可以向服務(wù)器發(fā)送事件記錄,將統(tǒng)計(jì)event_id對(duì)應(yīng)事件發(fā)送次數(shù),變化趨勢(shì),例如廣告點(diǎn)擊,短信發(fā)送量等等。
比如,監(jiān)測(cè)應(yīng)用程序里的廣告的點(diǎn)擊次數(shù),事件ID為”ad_click “。那么需要在程序里每次廣告點(diǎn)擊時(shí)調(diào)用postEvent:@ “ad_click “通知服務(wù)器一個(gè)廣告點(diǎn)擊事件發(fā)生
+(void)postEvent:(NSString *)event_id label:(NSString *)label;
這是postEvent:(NSString *) event_id一個(gè)重載的方法。
除了能夠統(tǒng)計(jì)event_id所對(duì)應(yīng)事件的發(fā)生次數(shù),變化趨勢(shì)外,還能統(tǒng)計(jì)事件中具體標(biāo)簽所占的比例,label為當(dāng)前標(biāo)簽,同樣這里的event_id字符串中也不能有空格。例如:在應(yīng)用程序中省份對(duì)應(yīng)一個(gè)event_id,每個(gè)城市對(duì)應(yīng)一個(gè)label,這樣我們可以在生成的統(tǒng)計(jì)分析表中看到不同城市的比例。
+(void)postEvent:(NSString *)event_id acc:(NSInteger)acc;
對(duì)于程序中的某些可能被頻繁觸發(fā)的事件,開(kāi)發(fā)者可以再程序中維護(hù)一個(gè)計(jì)數(shù)器,這樣事件被多次觸發(fā)只需要生成一個(gè)消息,這個(gè)消息包括該事件被觸發(fā)的次數(shù)。
這里我們重載了兩個(gè)接口(累計(jì)事件):
+(void)postEvent:(NSString *)event_id acc:(NSInteger)acc; +(void)postEvnet:(NSString *)event_id label:(NSString *)label acc:(NSInteger)acc;
[UMSAgent checkUpdate]; 調(diào)用該方法系統(tǒng)會(huì)自動(dòng)檢測(cè)是否有更高版本的應(yīng)用。如果有新的版本會(huì)提示用戶更新,如果用戶選擇更新應(yīng)用,系統(tǒng)會(huì)自動(dòng)為用戶更新應(yīng)用;不選擇就不更新,
對(duì)應(yīng)不同渠道的每個(gè)App, Cobub Razor后臺(tái)提供了唯一的key。在為不同的渠道提供更新時(shí),注意更為不同的key。
[IMSAgent setOnLineConfig:false];
在AppDelegate.m中的didFinishLaunchingWithOptions函數(shù)添加如下函數(shù)調(diào)用該API,如果選擇true,用戶在服務(wù)器端設(shè)置了參數(shù)值后,SDK將聯(lián)網(wǎng)檢測(cè)您的在線配置,并將這些信息保存在本地。如果選擇false, 將不檢測(cè)。
+(void)startTracPage:(NSString*)page_name; 在頁(yè)面的viewWillAppear()方法調(diào)用該方法,該方法會(huì)記錄下用戶進(jìn)入頁(yè)面的時(shí)間。如下圖:
-(void) viewWillAppear(BOOL)animated { [UMSAgent startTracPage:@"Main"]; } +(void)endTracPage:(NSString*)page_name;
在頁(yè)面的viewWillDisappear()方法中調(diào)用該方法,該方法會(huì)記錄下用戶離開(kāi)頁(yè)面的時(shí)間。
如下圖:
-(void) viewWillDisappear:(BOOL)animation { [UMSAgent endTracPage:@"Main"]; }
注:以上兩個(gè)方法需要成對(duì)調(diào)用。
調(diào)用該方法可以將用戶的id與app進(jìn)行綁定。
[UMSAgetnt bindUserIdentifier:@"userid"];
[UMSAgetnt postTag:@"tag"];
用戶可以自定義設(shè)置tag信息,并發(fā)送至后臺(tái)。用作以后的用戶分組(暫未實(shí)現(xiàn))。