- 想获取用户各项行为数据吗?
- 想轻松查看用户行为图表吗?
- 想高效进行 App 运营管理吗?
想,来我带你玩转 App 数据统计。这里我使用专业、轻便的 JAnalytics。
本文内容分为两部分:代码示例&使用技巧部分、控制台图表查看部分。
代码示例&使用技巧
集成
- 下载 JAnalytics SDK
- 添加
Lib
文件夹下的全部文件至 Xcode Project - 增加相关的 framework 依赖:
UIKit.framework
SystemConfiguration.framework
CoreTelephony.framework
CoreGraphics.framework
Security.framework
Foundation.framework
CoreLocation.framework
CoreFoundation.framework
CFNetwork.framework
libz.tbd
libresolv.tbd
初始化 SDK
#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 中各项数据的统计图表。
- 免费功能:包括推送统计、用户统计、参与留存、错误分析、事件统计、页面统计等,也足以满足各项统计需求了。
- VIP 功能:包括 终端统计、排行统计、用户画像等高级功能。
其中的各项数据一般会在 App 调用相应接口之后每隔 1 小时进行刷新。
另外每项统计下面又包含多种不同功能,大家可以依次尝试一下。