iOS 数据埋点
[toc]
前言
一般好的App为了后期版本迭代,会根据用户需求做进一步的优化,保留或是升级好的一部分,优化或者是移除一些无用的功能。那么我们怎么来知道哪些功能用户喜欢,哪些功能使用少呢?
首先通过产品定位及目标来确定自己需要哪些数据,其次通过在产品各个流程环节中设置数据埋点,最后,当用户使用App时,后台就能源源不断地接收到数据了。
那么我们怎么实现数据埋点呢?
网上有很多数据埋点的SDK,如友盟、极光、腾讯的MTA等。下面我将举例说明一下极光的埋点统计。
极光统计 iOS SDK 集成
创建应用
创建成功后自动生成 AppKey 用以标识该应用。
SDK导入
选择1:Cocoapods导入
- 通过Cocoapods下载地址:
1 | pod 'JAnalytics' |
- 如果需要安装指定版本则使用以下方式(以1.2.0版本为例):
1 | pod 'JAnalytics', '1.2.0' |
选择2:手动导入
- 在极光官网下载最新SDK
- 解压压缩包,将Lib下的所有文件复制到工程中
- 增加相关的framework依赖
- UIKit
- SystemConfiguration
- CoreTelephony
- CoreGraphics
- Security
- Foundation
- CoreLocation
- CoreFoundation
- CFNetwork
- libz.tbd
- libresolv.tbd
- 可以开始使用统计SDK了!
添加头文件
请将以下代码添加到 AppDelegate.m 引用头文件的位置
// 引入JAnalytics功能所需头文件
#import "JANALYTICSService.h"
// 如果需要使用idfa功能所需要引入的头文件(可选)
#import <AdSupport/AdSupport.h>
添加初始化代码
请将以下代码添加到 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
JANALYTICSLaunchConfig * config = [[JANALYTICSLaunchConfig alloc] init];
config.appKey = @"your appkey";
config.channel = @"channel";
[JANALYTICSService setupWithConfig:config];
iOS SDK API
登录事件模型
- JANALYTICSLoginEvent
该模型是登录事件模型,可以设置参数进行数据上报。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
contentID | NSString | 登录方式(非空) |
name | BOOL | 内容名称(非空) |
调用示例:
JANALYTICSLoginEvent * event = [[JANALYTICSLoginEvent alloc] init];
event.success = YES;
event.method = @"login type";
event.extra = @{@"custom key1":@"custom value"};
[JANALYTICSService eventRecord:event];
极光运营统计图,可登录极光后找到程序应用后,找到统计界面打开查看登录统计,如下图:
注意:
登录事件模型中扩展参数中不能使用以下 key 值:
login_method
login_success
此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.
SDK 页面流统计
+(void)startLogPageView:(NSString *)pageName
- 接口说明:
页面流统计开始接口,建议在ViewControler的viewDidAppear:方法中调用 - 参数说明:
pageName:要开始统计的页面名 调用示例:
- (void)viewDidAppear:(BOOL)animated { [JANALYTICSService startLogPageView:@"first_page_flow"]; }
+(void)stopLogPageView:(NSString *)pageName
- 接口说明:
页面流统计结束接口,建议在ViewControler的viewDidDisappear:方法中调用;结束后,默认即时上报此页面。可通过[setFrequency:]方法更改为周期性上报策略 - 参数说明:
pageName:要结束统计的页面名 调用示例:
- (void)viewDidDisappear:(BOOL)animated { [JANALYTICSService stopLogPageView:@"first_page_flow"]; }
极光运营统计图,可登录极光后找到程序应用后,找到统计界面打开查看登录统计,如下图:
浏览事件模型
- JANALYTICSBrowseEvent
该模型是浏览事件模型,可以设置参数进行数据上报。
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
contentID | NSString | 浏览内容id |
name | NSString | 内容名称(非空) |
type | NSString | 内容类型 |
duration | CGFloat | 浏览时长 |
调用示例:
JANALYTICSBrowseEvent * event = [[JANALYTICSBrowseEvent alloc] init];
event.name = @"browse name";
event.type = @"browse type";
event.contentID = @"browse id";
event.duration = 1.2;
event.extra = @{@"custom key1":@"custom value"};
[JANALYTICSService eventRecord:event];
注意:
浏览事件模型中扩展参数中不能使用以下 key 值:
browse_content_id
browse_name
browse_type
browse_duration
此类 key 已被模型使用,如果使用则会导致统计到的数据不准确.
极光运营统计图,可登录极光后找到程序应用后,找到统计界面打开查看登录统计,如下图:
更多API
其他 API 的使用方法请参考接口文档:iOS SDK API