想,来我带你玩转 App 数据统计。这里我使用专业、轻便的 JAnalytics。 本文内容分为两部分:代码示例&使用技巧部分、控制台图表查看部分。
Lib
文件夹下的全部文件至 Xcode Project#import "JANALYTICSService.h"
在 application:didFinishLaunchingWithOptions
中添加以下代码:
JANALYTICSLaunchConfig * config = [[JANALYTICSLaunchConfig alloc] init];
config.appKey = @"your appkey";
config.channel = @"channel";
[JANALYTICSService setupWithConfig:config];
其中的 appKey
参数,需要你在极光控制台注册个帐号,并创建一个 App 项目来获取。
+startLogPageView
:开始统计某页面,可以写在 ViewControler 的 viewDidAppear:
+stopLogPageView
:结束统计某页面,可以写在 ViewControler 的 viewDidDisappear:
- (void)viewDidAppear:(BOOL)animated {
[JANALYTICSService startLogPageView:@"页面名称"];
}
- (void)viewDidDisappear:(BOOL)animated {
[JANALYTICSService stopLogPageView:@"页面名称"];
}
以上方法需要在所有 Controller 中全部写一遍,建议在自己的 UIViewController 基类 BaseViewController 或者为 UIViewController 添加 Category ,添加以下代码。只要写一遍即可统计所有现有或者新增的页面,既减少了代码量,也不用担心有遗漏的页面:
- (void)viewDidAppear:(BOOL)animated {
[JANALYTICSService startLogPageView:NSStringFromClass([self class])];
}
- (void)viewDidDisappear:(BOOL)animated {
[JANALYTICSService stopLogPageView:NSStringFromClass([self class])];
}
在以上代码的基础上还可单独定义一个类似 PageNameFromClass 的方法,通过获取 class 转为具体的页面名称
+setLatitude:longitude:
:上报地理位置信息
[JANALYTICSService setLatitude:116.46 longitude:39.92];
+crashLogON
:开启对 crash 日志的收集
建议在 application:didFinishLaunchingWithOptions
调用该方法。
[JANALYTICSService setLatitude:116.46 longitude:39.92];
+eventRecord
通过传入不同的事件模型来进行各种事件的统计,现支持的事件有:注册、登录、购买、浏览、计数、计算。
[JANALYTICSService eventRecord:event];
其中的 event 需要根据事件的不同进行创建。 例如注册事件:
JANALYTICSRegisterEvent * event = [[JANALYTICSRegisterEvent alloc] init];
event.success = YES;//是否注册成功
event.method = @"注册方法";
event.extra = @{@"自定义 key1":@"自定义 value1"};
[JANALYTICSService eventRecord:event];
各种不同事件的创建方法参照此处
在控制台统计页面可以查看到 App 中各项数据的统计图表。
作者: pikacode - 极光( jpush 为极光团队账号)
知乎专栏:极光日报