Cobub Razor
Cobub Toaster
其它链接
该文档适用于Cobub Razor 0.7版本。
Cobub Razor是一个免费开源的移动应用分析系统。用户可以自己建立服务收集移动应用的相关数据,分析并生成统计分析报表。该文章介绍了如何将Cobub Razor的iOS的SDK嵌入到iOS移动应用客户端。
登陆账号后,到管理后台注册应用,填写ios应用的相关信息。App建立成功后,可获得该App的Appkey以及最新的开发文档和SDK文件。
下载SDK压缩包并将其解压缩。解压缩之后,可以看到两个文件,UMSAgent.h 和 libUMSAgent.a
在项目工程目录中,选择Add→Existing files.. 选择上面解压缩后的两个文件。或者直接将两个文件拖拽至目录结构中,选择Copy Items into destination group’s folder(if needed).
在AppDelegate.h中添加,#import “UMSAgent.h”。在AppDelegate.m中的didFinishLaunchingWithOptions函数添加如下函数调用:
[UMSAgent startWithAppKey:@"14aaa92e098df46cb63ed5196e0c331c" ReportPolicy:BATCH ServerURL:@ "YOUR SDK SERVICE URL"]; -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *) launchOptions { [UMSAgent startWith]AppKey:@"UMSAgentKey" ReportPolicy:BATCH]; }
其中UMSAgentKey是从网站注册应用时获取到的AgentKey。
ServiceURL 为服务器SDK Service接口地址。
其中BATCH模式为系统下次启动时一次性上传数据。
如果希望改为实时上传模式,请将BATCH改为REALTIME
建议采用BATCH模式,减少APP与网络交互,节约流量,增强用户体验。 使用时长统计
平台将每次APP进入前台和进入后台之间的间隔作为一次生命周期过程。平台会将每次生命周期作为数据提交到后台,为开发者提供相应的统计分析报告。
自定义的事件用来为开发者提供更为详细的用户行为统计分析。使用前请在后台提前添加指定的事件,并获得事件的Event_identifier后,后台才能进行相应的处理工作,否则后台对客户端未注册事件不进行处理。
+(void)postEvent:(NSString *)event_id;
event_id: 当前事件的ID值,在服务端定义的,ID值不能有空格。在您需要发送事件报告的代码段,调用如下方法就可以向服务器发送事件记录,将统计event_id对应事件发送次数,变化趋势,例如广告点击,短信发送量等等。
比如,监测应用程序里的广告的点击次数,事件ID为”ad_click “。那么需要在程序里每次广告点击时调用postEvent:@ “ad_click “通知服务器一个广告点击事件发生
+(void)postEvent:(NSString *)event_id label:(NSString *)label;
这是postEvent:(NSString *) event_id一个重载的方法。
除了能够统计event_id所对应事件的发生次数,变化趋势外,还能统计事件中具体标签所占的比例,label为当前标签,同样这里的event_id字符串中也不能有空格。例如:在应用程序中省份对应一个event_id,每个城市对应一个label,这样我们可以在生成的统计分析表中看到不同城市的比例。
+(void)postEvent:(NSString *)event_id acc:(NSInteger)acc;
对于程序中的某些可能被频繁触发的事件,开发者可以再程序中维护一个计数器,这样事件被多次触发只需要生成一个消息,这个消息包括该事件被触发的次数。
这里我们重载了两个接口(累计事件):
+(void)postEvent:(NSString *)event_id acc:(NSInteger)acc; +(void)postEvnet:(NSString *)event_id label:(NSString *)label acc:(NSInteger)acc;
[UMSAgent checkUpdate]; 调用该方法系统会自动检测是否有更高版本的应用。如果有新的版本会提示用户更新,如果用户选择更新应用,系统会自动为用户更新应用;不选择就不更新,
对应不同渠道的每个App, Cobub Razor后台提供了唯一的key。在为不同的渠道提供更新时,注意更为不同的key。
[IMSAgent setOnLineConfig:false];
在AppDelegate.m中的didFinishLaunchingWithOptions函数添加如下函数调用该API,如果选择true,用户在服务器端设置了参数值后,SDK将联网检测您的在线配置,并将这些信息保存在本地。如果选择false, 将不检测。
+(void)startTracPage:(NSString*)page_name; 在页面的viewWillAppear()方法调用该方法,该方法会记录下用户进入页面的时间。如下图:
-(void) viewWillAppear(BOOL)animated { [UMSAgent startTracPage:@"Main"]; } +(void)endTracPage:(NSString*)page_name;
在页面的viewWillDisappear()方法中调用该方法,该方法会记录下用户离开页面的时间。
如下图:
-(void) viewWillDisappear:(BOOL)animation { [UMSAgent endTracPage:@"Main"]; }
注:以上两个方法需要成对调用。
调用该方法可以将用户的id与app进行绑定。
[UMSAgetnt bindUserIdentifier:@"userid"];
[UMSAgetnt postTag:@"tag"];
用户可以自定义设置tag信息,并发送至后台。用作以后的用户分组(暂未实现)。