~~Title:IOS 开发者指南 - 开源移动应用运营平台 - 移动统计、移动推送解决方案 - Cobub 移动开发者中心~~
{{description>Cobub Razor是一个免费开源的移动应用分析系统。用户可以自己建立服务收集移动应用的相关数据,分析并生成统计分析报表。该文章介绍了如何将Cobub Razor的iOS的SDK嵌入到iOS移动应用客户端。}}
{{keywords>Cobub Razor,开源移动应用分析,移动分析,移动应用分析,开发者指南,IOS}}
====== IOS 开发者指南 ======
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).
{{:razor:20150318-024630.png}}
==== 1.2.3 添加依赖框架 ====
为了获取网络信息,获取运营商标识,您需要添加CoreTelephony类库。
{{:razor:20150318-024709.png}}
==== 1.2.4 设置Other Linker Flags ====
添加 –all_load和-ObjC标记
{{:razor:20150318-024739.png}}
==== 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信息,并发送至后台。用作以后的用户分组(暂未实现)。