Flurry analytics  SDK集成步骤及功能简介

1.Flurry analytics  SDK官网:

http://www.flurry.com/flurry-analytics.html

2.集成步骤

1)注册用户

http://www.flurry.com/signup.html

2)登陆后添加应用

(1)添加应用是需要选择应用所对应的设备及平台,本文以ios系列为例。

(2)选择平台后,填写应用信息创建应用,此处选择的是iphone

(3)创建应用后,可获取到该应用对应的API KEY,在使用Flurry SDK方法时会使用到。

(4)下载SDK后解压

其中的FlurryAnalytics-READMEv4.0.6.pdf即为数据分析SDK集成的说明文档,当然,是英文的。

3)Flurry 数据分析SDK简介

Flurry数据分析代理可以辅助通过查看Flurry的数据分析系统,跟踪用户在他们的设备上使用您的应用程序过程中的行为和使用习惯。这个分析代理被设计的尽可能简单,一个基本的安装可在5分钟内完成。

当前的SDK版本(4.0.6)只能在Xcode4.5或以上版本中使用,如果您需要一个比较旧版的Xcode中使用的SDK,可以通过给support@flurry.com发邮件获取。

还有一个附加的文件夹是放置FlurryAds的。这是一个可选的依赖组件,可作为您应用程序收入的可替代来源。如果您愿意使用Flurry Ads,请阅读SDK压缩包中附带的该库的使用说明文档FlurryAppSpot-iOS-READMEv4.0.6.pdf。

Flurry 代理默认不收集GPS位置信息,因此CoreLocation.framework不是必须的。但开发者可以使用它们自己的CCLocationManager在Flurry中设置GPS位置信息(可通过查看可选功能说明获取更多信息)

4)将Flurry文件夹中的Flurry.h及libFlurry.a加入到要集成的项目中。

(1)在finder中将Flurry文件夹拖入到您的项目文件夹中。(注意:如果您是要升级您的Flurry iOS SDK ,请确保在进行该操作前已将您项目文件夹中原有的Flurry的依赖库文件删除)

(2)添加Flurry到您的项目中,并选中“Creategroups for any added folders”,勾选您要集成的target。

(3)添加SystemConfiguration.framework到您的app中。这是高效管理网络操作的Reachability所必须的framwork。

(4)在您用于程序的Deletegate中,导入Flurry,并在applicationDidFinishLaunching方法中添加[Flurry

startSession:@"YOUR_API_KEY"];

具体代码为:

#import "Flurry.h"

-(void)applicationDidFinishLaunching:(UIApplication *)application {

[FlurrystartSession:@"YOUR_API_KEY"];

//your code

}

到此,用于获取最基本元数据的所需要的代码已集成完毕。

5)可选/高级功能

您可以使用一下的方法获取附加数据。

(1)[FlurrylogEvent:@"EVENT_NAME"];

使用logEvent来收集在您的应用程序的一个会话中确切的事件发生次数。例如,对于度量用户的一些行为的频率是是否有用的。您的应用程序被限制最多可设置300个不同的事件ID(最大长度为255个字符)。

(2)[FlurrylogEvent:@"EVENT_NAME" withParameters:YOUR_NSDictionary];

       使用这个版本的logEvent方法来收集在您的应用程序的一个会话中确切的事件发生次数,并且可以和事件一起传递动态的参数。事件的参数可以以NSDictionary对象的方式传递,但该NSDictionary对象的key和value必须是NSString对象。例如,你可以记录一个用户使用您的输入框工具的次数,同时可以记录用户输入的搜索术语。你的应用程序当前被限制最多可以设置100个不同的事件ID(最大255个字符)。每个事件最多支持10个事件参数。

该方法下使用NSDictonary的示例:

NSDictionary *dictionary =

[NSDictionary dictionaryWithObjectsAndKeys:@"your dynamic parametervalue",@"your dynamic parameter name",nil];

(3)[FlurrylogEvent:@"EVENT_NAME" timed:YES];

使用该版本的logEvent来开始为一个事件计时。

(4)[FlurrylogEvent:@"EVENT_NAME" withParameters:YOUR_NSDictionary timed:YES];

       使用该版本的logEvent来开始为一个事件计时并传递参数。

(5)[FlurryendTimedEvent:@"EVENT_NAME" withParameters:YOUR_NSDictionary];

        使用endTimedEvent在应用程序退出前来结束一个事件的计时,否则当应用退出时自动结束计时。当结束了一个计时事件,一个新的事件参数的NSDictionery对象可以被用来更新事件参数。如果要保持事件参数一样,可以为事件参数的NSDictionary对象传递一个nil。

(6)[FlurrylogAllPageViews:navigationController];

     为了使Flurry代理能够自动检测并记录页面视图,可以通过传递一个UINavigationController或UITabBarController到countPageViews。Flurry代理将在您的对象上创建一个委托以跟踪用户交互。每个被检测到的用户交互将被作为一个页面视图记录下来。每个实例仅需要传递给Flurry代理一次。但可以向Flurry代理传递多个UINavigationController或UITabBarController实例。

(7)[Flurry logPageView];

在没有UINavigationController或UITabBarController的情况下,你可以手工跟踪用户交互。你可以在每一个你想手工记录用户交互的地方使用logPageView方法来记录页面视图。

(8)追踪应用程序的错误

[Flurry logError:@"ERROR_NAME"message:@"ERROR_MESSAGE" exception:e];

       使用如上的代码来记录在你的应用程序中所出现的异常或错误。Flurry将报告在每一个应用会话当中的前10个错误。

(9)追踪玩家的统计信息

[FlurrysetUserID:@"USER_ID"];

使用该方法在识别用户后记录已识别的的用户ID或用户名。

[FlurrysetAge:21];

     使用该方法在识别用户后记录用户的年龄,参数的值应该大于0;

     [Flurry setGender:@"m"];

使用该方法在识别用户后记录用户的性别,参数的值应该为m(男性)或f(女性)。

     (10)追踪用户位置

CLLocationManager *locationManager =[[CLLocationManager alloc] init];

[locationManager startUpdatingLocation];

CLLocation *location =locationManager.location;

[FlurrysetLatitude:location.coordinate.latitude

longitude:location.coordinate.longitude

horizontalAccuracy:location.horizontalAccuracy

verticalAccuracy:location.verticalAccuracy];

以上方法允许你设置用户当前的GPS位置。Flurry将仅保留最后的位置信息。如果在您的应用程序不能以一种有意义的方式使用位置服务,使用CLLocationManager可能会导致苹果拒绝的你的应用程序提交。

(11)控制数据报告

[Flurry setSessionReportsOnCloseEnabled:(BOOL)sendSessionReportsOnClose];

该选项默认情况下是打开的,如果该选项启用,Flurry将尝试在应用程序正常退出时发送会话数据,就像在应该程序开始时一样,这将提高你的应用程序分析数据的更新速度,但由于网络延迟,可能会延迟你的应用程序的终止时间。

[FlurrysetSessionReportsOnPauseEnabled:(BOOL)sendSessionReportsOnPause];

该选项默认情况下是关闭的,如果该选项启用,Flurry将尝试在应用程序暂停时发送会话数据,就像在应该程序开始时一样,这将提高你的应用程序分析数据的更新速度,但由于网络延迟,可能会延迟你的应用程序的暂停处理。

[FlurrysetSecureTransportEnabled:(BOOL)secureTransport];

该选项默认情况下是关闭的,如果该选项启用,Flurry将尝试在应用程序暂停时通过SSL发送会话数据,就像在应该程序开始时一样。但由于来自安全握手和加密过程中增加的网络延迟,可能会延迟你的应用程序的暂停处理。

6)推荐规范

我们推荐在你的应用程序中添加一个未捕获的异常的监听器(如果你还没有添加的话),并使用logError来记录任何的应用程序崩溃。

添加一个未捕获的异常的监听器是很简单的,你只需要创建如下代码所示的一个方法。

void uncaughtExceptionHandler(NSException *exception)

{

[Flurry logError:@"Uncaught"message:@"Crash!" exception:exception];

}

然后你需要使用如下所示的代码把这个方法注册为未捕获异常的监听器:

- (void)applicationDidFinishLaunching:(UIApplication *)application {

NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);

[Flurry startSession:@"YOUR_API_KEY"];

....

}

请注意,你可以随意命名方法的名称和想要记录的错误信息的错误名词和事件字段。

5.FAQ

1)使用Flurry Analytics SDK会增加多少应用的大小?

一般情况下添加Flurry Analytics SDK会使最终的应用大小增加150KB。

2)Flurry代理在什么时候发送数据?

默认情况下,Flurry代理在应用程序启动、恢复、终止时会发送要存储的指标数据到Flurry服务器。如果要重写原有的代理行为,你可以通过在你调用startSession前调用如下代码来关闭在应用程序终止时发送数据。

[Flurry setSessionReportsOnCloseEnabled:NO];

默认情况下应用程序暂停时是不发生指标数据的,你可以通过如下代码和startSession一起来在暂停时发送数据。

[Flurry setSessionReportsOnPauseEnabled:YES];

3)Flurry代理在每个会话中发送多少数据?

Flurry代理以紧凑的二进制来发送的所有的数据。总的数据量可能是不同的,但通常情况下每个会话中传送的数据在2Kb左右。

4)Flurry发送了什么数据?

Flurry发送的数据包括时间戳,记录的事件,记录错误,和各种设备的具体

的信息。

5)Flurry代理是否支持iOS OS3.x?

是的,这个版本(4.0.6)是一个比较全面的版本,包括为了armv6,armv7, armv7s and i386各种架构的不同分支。为iOS3.1到iOS6的所有版本提供支持。

6)必须的Xcode是哪个版本?

这个Flurry SDK可以支持Xcode4.0及以上版本,如果需要以前较旧的版本,请发邮箱请求支持。

7)这个版本会收集iOS UDID信息吗?

这个版本的Flurry SDK 不收集iOS UDID信息。

如果您还有任何问题或需要任何帮助,请发邮件到iphonesupport@flurry.com!

<!--EndFragment-->

Flurry analytics SDK集成步骤及功能简介相关推荐

  1. Android 科大讯飞语音SDK集成步骤

    前言 科大讯飞语音虽好,其严格的认证与校验确实精密,不过也大大提高了开发者的集成难度,并非危言耸听,我想大多数人都有经历过 11210(用户ID与离线资源不匹配) 21480( 离线引擎GUID不一致 ...

  2. Android小米,华为平台对接厂商推送,相关SDK集成步骤

    一:小米开放平台–推送服务 1:新建应用,获取AppID,AppKey 2:下载jar包,放到项目的libs目录下 3:在清单文件AndroidManifest.xml中,配置下面代码 (1)权限 & ...

  3. Unity 华为HMS/AGC SDK集成简介(以接入华为广告流量变现服务为例)

    本篇以接入华为广告为例,介绍如何使Unity项目直接集成 Huawei HMS /AGC 服务. 内容概述 中国Unity封装了基于华为HMS/AGC服务的SDK,对于移动端项目开发,可以直接在Uni ...

  4. 【Flutter】Flutter 混合开发 ( 简介 | Flutter 混合开发集成步骤 | 创建 Flutter Module )

    文章目录 一.Flutter 混合开发简介 二.Flutter 混合开发集成步骤 三.创建 Flutter Module 1.使用命令行创建 Flutter Module 项目 ( 仅做参考 ) 2. ...

  5. Android Studio快速集成讯飞SDK实现文字朗读功能

    今天,我们来学习一下怎么在Android Studio快速集成讯飞SDK实现文字朗读功能,先看一下效果图: 第一步 :了解TTS语音服务 TTS的全称为Text To Speech,即"从文 ...

  6. JAVA软件海豚_[Java教程]海豚星空扫码投屏 Android 接收端 SDK 集成 六步骤

    [Java教程]海豚星空扫码投屏 Android 接收端 SDK 集成 六步骤 0 2020-08-20 12:00:32 扫码投屏,开放网络,独占设备,不需要额外下载软件,微信扫码,发现设备.支持标 ...

  7. 华为HMS Scankit 扫码SDK集成-实现扫一扫功能

    华为HMS Scankit 扫码SDK集成-实现扫一扫功能 文章目录 华为HMS Scankit 扫码SDK集成-实现扫一扫功能 一.集成HMS Core SDK 二.配置混淆脚本 三.指定权限 四. ...

  8. 极光推送服务器端文档,Android SDK 集成指南

    极光统计 Android SDK 集成指南 使用提示 本文是JAnalytics Android SDK 标准的集成指南文档. 匹配的 SDK 版本为:v1.0.0及以后版本. 如果您想要快速地测试. ...

  9. java音视频处理类,Android Java实时音视频SDK自定义视频前处理功能 - 开发者中心 - ZEGO即构科技...

    自定义视频前处理 更新时间:2021-02-07 17:47 1 功能简介 当 SDK 自带的美颜无法满足需求,例如需要做挂件.贴纸,或者美颜效果无法达到预期时,推荐开发者使用自定义视频前处理功能.该 ...

最新文章

  1. Asp.net常用的操作函数
  2. 初学__Python——Python数据类型之数字
  3. Apache RocketMQ 4.8.0,DLedger 模式全面提升!
  4. 快速排序算法理解-python
  5. 【转】浅论ViewState及其与Session的关系
  6. tensorflow2 搭建LeNet5训练MINST手写数字数据集并用c++ opencv4.5.5 DNN加载模型预测结果
  7. 基于javaweb的在线学习系统
  8. 分区混乱,C盘不是系统盘怎么办?
  9. 基于Jsoup的简单JAVA爬虫 人民币汇率中间价
  10. JTree创建、获取和删除节点的方法
  11. re匹配电话号码、邮箱地址
  12. 中文转自定义英文存储
  13. C++课本的练习题及答案(第五章)
  14. 南方雨季来袭,物联网助力水位监测防止洪涝灾害
  15. MATLAB-004 excel重命名默认sheet
  16. 光端机、光纤收发器与光猫三者之间的区别介绍
  17. 公众号 自动生成海报 python_Python 生成公众号头图 1.0
  18. 红米note1s android5,[FIRE]红米Note 1S MIUI6 5.5.29精简、绝对纯净、
  19. hive介绍及其原理
  20. Vue、Angular、React深入介绍,项目实例,前端框架之最

热门文章

  1. bzoj3252 攻略 dfs序+线段树
  2. SyntaxError: E:\IdeaProject\src\main.js: Identifier ‘ElementPlus‘ has already been declared的解决方法
  3. 在线测径仪钢材测量安装方法
  4. 嘿嘿,我发现了百度网盘秒传的秘密 !!
  5. 计算机毕业设计之百货中心供应链管理系统
  6. 【链环科技】智能硬件APP开发——通过硬件对接,实现软件与硬件设备的完美结合
  7. 作团队感悟(9)----该对谁负责
  8. 机器视觉尺寸检测基础
  9. 如何修复格式化后的SD卡的数据?有需要的可以参考下。
  10. [Discuz 插件] SEO天涯海角 3.1.0 正式版.rar