Page tree
Skip to end of metadata
Go to start of metadata

Cobub Razor是一个免费开源的移动应用分析系统。用户可以自己建立服务收集移动应用的相关数据,分析并生成统计分析报表。该文章介绍了如何将Cobub Razor的iOS的SDK嵌入到iOS移动应用客户端。

1 基本设置指南

1.1 获取APPkey

登陆账号后,到管理后台注册应用,填写ios应用的相关信息。App建立成功后,可获得该App的Appkey以及最新的开发文档和SDK文件。

1.2 使用ios SDK

1.2.1 下载SDK

下载SDK压缩包并将其解压缩。解压缩之后,可以看到两个文件,UMSAgent.h 和 libUMSAgent.a

1.2.2 导入SDK

在项目工程目录中,选择Add→Existing files.. 选择上面解压缩后的两个文件。或者直接将两个文件拖拽至目录结构中,选择Copy Items into destination group’s folder(if needed).

1.2.3 添加依赖框架

为了获取网络信息,获取运营商标识,您需要添加CoreTelephony类库。 

1.2.4 设置Other Linker Flags

添加 –all_load和-ObjC标记

1.2.5 嵌入代码

在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进入前台和进入后台之间的间隔作为一次生命周期过程。平台会将每次生命周期作为数据提交到后台,为开发者提供相应的统计分析报告。

1.2.6 使用自定义事件

自定义的事件用来为开发者提供更为详细的用户行为统计分析。使用前请在后台提前添加指定的事件,并获得事件的Event_identifier后,后台才能进行相应的处理工作,否则后台对客户端未注册事件不进行处理。

1.2.6.1 简单事件

+(void)postEvent:(NSString *)event_id;

event_id: 当前事件的ID值,在服务端定义的,ID值不能有空格。在您需要发送事件报告的代码段,调用如下方法就可以向服务器发送事件记录,将统计event_id对应事件发送次数,变化趋势,例如广告点击,短信发送量等等。

比如,监测应用程序里的广告的点击次数,事件ID为”ad_click “。那么需要在程序里每次广告点击时调用postEvent:@ “ad_click “通知服务器一个广告点击事件发生

1.2.6.2 多标签事件

+(void)postEvent:(NSString *)event_id label:(NSString *)label;

这是postEvent:(NSString *) event_id一个重载的方法。

除了能够统计event_id所对应事件的发生次数,变化趋势外,还能统计事件中具体标签所占的比例,label为当前标签,同样这里的event_id字符串中也不能有空格。例如:在应用程序中省份对应一个event_id,每个城市对应一个label,这样我们可以在生成的统计分析表中看到不同城市的比例。

1.2.6.3 累计事件

+(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;

2.2.7 自动更新

[UMSAgent checkUpdate]; 调用该方法系统会自动检测是否有更高版本的应用。如果有新的版本会提示用户更新,如果用户选择更新应用,系统会自动为用户更新应用;不选择就不更新,

对应不同渠道的每个App, Cobub Razor后台提供了唯一的key。在为不同的渠道提供更新时,注意更为不同的key。

1.2.8 使用在线参数配置

[IMSAgent setOnLineConfig:false];

在AppDelegate.m中的didFinishLaunchingWithOptions函数添加如下函数调用该API,如果选择true,用户在服务器端设置了参数值后,SDK将联网检测您的在线配置,并将这些信息保存在本地。如果选择false, 将不检测。

1.2.9 记录页面访问

+(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"];
}

注:以上两个方法需要成对调用。

1.2.10 绑定用户

调用该方法可以将用户的id与app进行绑定。

[UMSAgetnt bindUserIdentifier:@"userid"];

1.2.11 绑定Tags

[UMSAgetnt postTag:@"tag"];

用户可以自定义设置tag信息,并发送至后台。用作以后的用户分组(暂未实现)。

  • No labels