iOS 轻松使用 App 数据统计

  • 想获取用户各项行为数据吗?
  • 想轻松查看用户行为图表吗?
  • 想高效进行 App 运营管理吗?

想,来我带你玩转 App 数据统计。这里我使用专业、轻便的 JAnalytics
本文内容分为两部分:代码示例&使用技巧部分、控制台图表查看部分。

代码示例&使用技巧


集成

  1. 下载 JAnalytics SDK
  2. 添加 Lib 文件夹下的全部文件至 Xcode Project
  3. 增加相关的 framework 依赖:
    UIKit.framework
    SystemConfiguration.framework
    CoreTelephony.framework
    CoreGraphics.framework
    Security.framework
    Foundation.framework
    CoreLocation.framework
    CoreFoundation.framework
    CFNetwork.framework
    libz.tbd
    libresolv.tbd

初始化 SDK

1
#import "JANALYTICSService.h"

application:didFinishLaunchingWithOptions 中添加以下代码:

代码示例
1
2
3
4
JANALYTICSLaunchConfig * config = [[JANALYTICSLaunchConfig alloc] init];
config.appKey = @"your appkey";
config.channel = @"channel";
[JANALYTICSService setupWithConfig:config];

其中的 appKey 参数,需要你在极光控制台注册个帐号,并创建一个 App 项目来获取。

页面流统计

  • +startLogPageView:开始统计某页面,可以写在 ViewControler 的 viewDidAppear:
  • +stopLogPageView:结束统计某页面,可以写在 ViewControler 的 viewDidDisappear:
代码示例
1
2
3
4
5
6
- (void)viewDidAppear:(BOOL)animated {
[JANALYTICSService startLogPageView:@"页面名称"];
}
- (void)viewDidDisappear:(BOOL)animated {
[JANALYTICSService stopLogPageView:@"页面名称"];
}
使用技巧

以上方法需要在所有 Controller 中全部写一遍,建议在自己的 UIViewController 基类 BaseViewController 或者为 UIViewController 添加 Category,添加以下代码。只要写一遍即可统计所有现有或者新增的页面,既减少了代码量,也不用担心有遗漏的页面:

1
2
3
4
5
6
- (void)viewDidAppear:(BOOL)animated {
[JANALYTICSService startLogPageView:NSStringFromClass([self class])];
}
- (void)viewDidDisappear:(BOOL)animated {
[JANALYTICSService stopLogPageView:NSStringFromClass([self class])];
}

在以上代码的基础上还可单独定义一个类似 PageNameFromClass 的方法,通过获取 class 转为具体的页面名称

地理位置统计

+setLatitude:longitude::上报地理位置信息

代码示例
1
[JANALYTICSService setLatitude:116.46 longitude:39.92];

崩溃日志统计

+crashLogON:开启对 crash日志的收集
建议在 application:didFinishLaunchingWithOptions 调用该方法。

代码示例
1
[JANALYTICSService setLatitude:116.46 longitude:39.92];

事件统计

+eventRecord通过传入不同的事件模型来进行各种事件的统计,现支持的事件有:注册、登录、购买、浏览、计数、计算。

代码示例
1
[JANALYTICSService eventRecord:event];

其中的 event 需要根据事件的不同进行创建。
例如注册事件:

1
2
3
4
5
JANALYTICSRegisterEvent * event = [[JANALYTICSRegisterEvent alloc] init];
event.success = YES;//是否注册成功
event.method = @"注册方法";
event.extra = @{@"自定义 key1":@"自定义 value1"};
[JANALYTICSService eventRecord:event];

各种不同事件的创建方法参照此处

控制台图表查看


控制台统计页面可以查看到 App 中各项数据的统计图表。

  • 免费功能:包括推送统计、用户统计、参与留存、错误分析、事件统计、页面统计等,也足以满足各项统计需求了。
  • VIP 功能:包括 终端统计、排行统计、用户画像等高级功能。

其中的各项数据一般会在 App 调用相应接口之后每隔 1 小时进行刷新。
另外每项统计下面又包含多种不同功能,大家可以依次尝试一下。

如果这篇文章对您有帮助,您可以请我喝一杯咖啡 : )