~~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信息,并发送至后台。用作以后的用户分组(暂未实现)。