常见的统计平台
统计功能从强到弱依次为:google analytics > Flurry > 友盟 > talkingdata
数据响应速度及时性从快到慢为:友盟,talkingdata > Flurry > google analytics
前面俩个是国内分析平台,后面俩个是国外分析平台。在使用选择上,国内的话建议使用友盟,国外的话建议使用Flurry,个人项目中也集成了google analytics,但是发现延迟比较严重,在一个数据数据不是太准确。以上是个人观点,不喜勿喷。
Flurry的使用
1.集成
- 使用pod
pod 'Flurry-iOS-SDK/FlurrySDK' -
普通下载,若项目未集成Apple Watch相关功能,可以删掉FlurryWatch.h和静态库libFlurryWatch_XX.a的引用。
并添加引用库:
Security.framework
SystemConfiguration.framework
2. 整合Flurry Analytics
- 在AppDelegate.m中添加如下代码
#import "Flurry.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// API_KEY
[Flurry startSession:@"YOUR_API_KEY"];
}
2.自定义事件
- 记录自定义事件
[Flurry logEvent:@"Article_Read"];
注:每个应用可追踪300个不同的事件。
-
记录包含自定义参数的事件
//用户自定义参数 NSDictionary *articleParams = [NSDictionarydictionaryWithObjectsAndKeys: @"John Q", @"Author", @"Registered", @"User_Status", nil]; //使用自定义参数 [Flurry logEvent:@"Article_Read" withParameters:articleParams];
注:每个事件最多具备10个参数。
-
追踪事件持续时间
//用户自定义参数 NSDictionary *articleParams = [NSDictionarydictionaryWithObjectsAndKeys: @"John Q", @"Author", @"Registered", @"User_Status", nil]; //开始记录事件时间 [Flurry logEvent:@"Article_Read" withParameters:articleParamstimed:YES]; //捕捉结束时间 [Flurry endTimedEvent:@"Article_Read" withParameters:nil];
3.Flurry Analytics进阶功能
1.获取用户地理位置
//开启位置管理服务
CLLocationManager *locationManager = [[CLLocationManager alloc] init];[locationManager startUpdatingLocation];
//使用Flurry设定定位
Flurry CLLocation *location = locationManager.location;[Flurry setLatitude:location.coordinate.latitude longitude:location.coordinate.longitude horizontalAccuracy:location.horizontalAccuracy verticalAccuracy:location.verticalAccuracy];
注:Flurry只会保留最后的位置信息
2.追踪年龄和性别
[Flurry setAge:21];
注:有效年龄0或以上
3.追踪用户ID
[Flurry setUserID:@"USER_ID"];
注:根据Flurry的服务条款,不可获取设备的唯一识别码。
4.追踪应用错误
[Flurry logError:@"ERROR_NAME" message:@"ERROR_MESSAGE" exception:e];
注:Flurry会报告每个使用时间(Session)内发生前的10次错误。
5.追踪页面浏览
//自动记录
[Flurry logAllPageViews:navigationController];
//手动记录
[Flurry logPageView];
在UINavigationController或UITabBarController存在之下,可以手动侦测用户互动。
注:页面浏览次数与自定义事件不同。
6.设定数据传送至Flurry时机
[Flurry setSessionReportsOnCloseEnabled: (BOOL)sendSessionReportsOnClose];
默认开启。启动此选项后,Flurry会试图在用户退出应用与启动应用时传送使用时间(Session)数据。
[Flurry setSessionReportsOnPauseEnabled: (BOOL)sendSessionReportsOnPause];
默认开启。启动此选项后,Flurry会试图在用户暂停应用与启动应用时传送使用时间(Session)数据。
Flurry会在用户暂停应用与启动应用时通过SSL传送使用时间(Session)数据。
4.Flurry的功能
添加SDK完成后,SDK会存取以下所列功能。点此查看每个功能详细描述。
- 使用时间(Session)
- 活跃用户(Active Users)
- 新用户 (New Users)
- 使用时间长度(Session Length)
- 用户使用频率(Frequency of Use)
- 标杆分析(Benchmarks)
- 页面浏览次数(Page Views)
- 自定义用户客群(Custom User Segments)
- 用户路径(User Paths)
- 生命周期指标(Lifecycle Metrics)
- 用户留存(User Retention)
- 版本采用(Version Adoption)
- 跨行动程式使用量(Cross-App Usage)
- iOS类别兴趣(iOS Category Interests)
- 使用者基本资料预估(Demographic Estimates)
- 报告时段(Time of Day Reporting)
- 地理位置使用量(Geographic Usage)
- 语言指标(Language Metrics)
- 设备(Devices)
- 电信运营商(Carriers)
- 固件版本(Firmware Versions)
说明:SDK判定使用Session完成时,会自动传输记录下的数据。如果未连接,则会于再次连接时,将储存在应用上的资料传输出去。