Flurry 分析 API 中文文档(Flurry Analytics API)

本文记录使用 API 获取 Flurry Analytics 报告的文档。

包含前期准备、API基础、数据详情、请求示例等

初期准备

示例:

Headers:

1
Authorization: Bearer xxxxxx

API 基础

API 地址:https://api-metrics.flurry.com/public/v1/data/

API 请求可以组合起来去查询分析数据的元素。 API 中的所有内容都区分大小写。

1
endPoint/table/timeGrain/dimension1/dimension2;show=all/dimension3{...}?metrics=[comma-separated-metrics]&dateTime=[..]&filters=[...]&topN=[..]&sort=[..]&having=[..]&format=[..]&timeZone=[..]

参数表及示例详见原文。

参数 必要 例子
endpoint 是 v1: https://api-metrics.flurry.com/public/v1/data/
table 是 appUsage、appEvent、 eventParams、realtime
timeGrain 是 见表详情内容
dimension 否 见表详情内容
metrics 是 见表详情内容
dateTime 是 Format for Day, Week: YYYY-MM-DD/YYYY-MM-DD
Format for Month: YYYY-MM/YYYY-MM
Format for Hour: YYYY-MM-DDTHH/YYYY-MM-DDTHH (HH in 24- hour format) follows ISO 8601
filters 否 组合的一个或多个维度属性过滤器(使用 AND)以减少输出以匹配您的条件。 id和name可用于所有维度。 一些维度具有在维度部分中调用的附加属性。
格式: `dimension1
sort 否 指定一个或多个指标来排序结果。 如果未指定顺序,则默认为降序。
例如: `sort=sessions
topN 否 减少结果以匹配此参数指定的数字。 如果使用此参数,则还必须使用排序来指示必须计算顶点 n 的度量和顺序
例如:`topN=5 & sort=sessions
having 否 减少结果以匹配指定的指标标准。 您可以组合多个指标标准。
格式:metric-operator[value(s)]
可用运算符:等于(eq),大于(gt),小于(lt),而不是版本
例子:sessions-gt[1000],activeDevices-gt[200]
format 否 json (默认), csv
timeZone 否 默认的结果是UTC时区。 要获取所需时区的结果,请使用此参数。
例如: America/New_York 或 America/Los_Angeles

关于时区:https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

Analytics Metrics 分析指标

以下是可用于报告的指标。

Metric 指标 描述
sessions 用户访问应用程序的次数
activeDevices 访问应用程序的唯一设备
newDevices 安装并启动应用程序的新设备
timeSpent 用户花在应用程序中的时间
averageTimePerDevice 平均每个用户在应用程序中花费的时间
averageTimePerSession 平均用户在应用程序每个会话中花费的时间

Analytics Dimensions 分析范围、维度

以下是可用于报告的维度和维度属性。

Dimensions范围、维度 描述 值
company Flurry company account id, name (默认)
app Flurry app id, name (默认), company|id, apiKey, platform|id, platform|name
country 每个国家的维度总计 id, name (默认), iso
appVersion 应用程式的版本号,名称,公司编号,应用程式编号,已删除和筛选。 删除和过滤是布尔值(0或1),并根据开发人员对Flurry开发人员门户的操作反映应用程序版本的当前状态 id, name (默认), company|id, app|id, deleted, filtered
language Language id and name id, name (默认)
region 地区:Region id and name id, name (default)
category 分类: App category id and name id, name (default)
event 仅适用于appEvent表; 事件ID,名称,应用ID,公司ID,删除和过滤。 删除和过滤是布尔值(0或1),并根据开发人员对Flurry开发人员门户的操作反映应用程序事件的当前状态。 id, name (default) , company|id, app|id, deleted, filtered

在运行度量标准查询之前,您需要知道可能的维度值。 例如:您公司帐户上所有应用的列表名称和api密钥:

1
https://api-metrics.flurry.com/public/v1/data/appUsage/day/company/app;show=name,apiKey?metrics=...

通常,要查看为给定维度返回的默认名称以外的值,请添加:

1
2
3
;show=all
or
;show=id (any other value listed in the value column above for the given dimension

添加维度名称之后:

1
2
3
https://api-metrics.flurry.com/public/v1/data/appUsage/day/company/country;show=all/category?metrics=sessions,activeDevices,newDevices,timeSpent&dateTime=2017-05-01/2017-05-02

https://api-metrics.flurry.com/public/v1/data/appUsage/day/company/country;show=iso/category?metrics=sessions,activeDevices,newDevices,timeSpent&dateTime=2017-05-01/2017-05-02

App Usage Data 应用使用的数据

Table: appUsage

Metrics 指标 Dimensions 范围 Time Grain
sessions company day
activeDevices app week
newDevices appVersion month
timeSpent country all
averageTimePerDevice language
averageTimePerSession region
medianTimePerSession category

示例:关键应用指标查询

对于所有应用程序,每日会话,每日活动设备,2 天的新设备:请注意,由于过滤器中没有应用信息,结果将包括您公司的所有应用程序。

Request 请求:

1
https://api-metrics.flurry.com/public/v1/data/appUsage/day/app?metrics=sessions,activeDevices,newDevices&dateTime=2016-07-01/2016-07-03

Response 响应:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"rows": [{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "foo",
"sessions": 372,
"activeDevices": 123,
"newDevices": 32},
{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "bar",
"sessions": 1120,
"activeDevices": 487,
"newDevices": 34},
{
"dateTime": "2016-07-02 00:00:00.000-07:00",
"app|name": "foo",
"sessions": 421,
"activeDevices": 140,
"newDevices": 12},
{
"dateTime": "2016-07-02 00:00:00.000-07:00",
"app|name": "bar",
"sessions": 1164,
"activeDevices": 453,
"newDevices": 51}]
}

对于特定应用程序,每月会话,有效设备和新设备(2个月):

Request using Flurry API key:

1
https://api-metrics.flurry.com/public/v1/data/appUsage/day?metrics=sessions,activeDevices,newDevices&dateTime=2016-06-01/2016-08-01&filters=app|apiKey-in[3WD7Q8329867K7MY6RNS]

Request using App name:

1
https://api-metrics.flurry.com/public/v1/data/appUsage/day?metrics=sessions,activeDevices,newDevices&dateTime=2016-06-01/2016-08-01&filters=app|name-in[appname]

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"rows": [{
"dateTime": "2016-06-01 00:00:00.000-07:00",
"app|name": "foo",
"sessions": 12744,
"activeDevices": 6373,
"newDevices": 6373
},{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "foo",
"sessions": 13805,
"activeDevices": 6882,
"newDevices": 6882
}]
}

App Events Data

Table: appEvent

Metrics 指标 Dimensions 范围 Time Grain
activeDevices company day
newDevices app week
eventDuration appVersion month
averageTimePerDevice country all
averageTimePerSession language
medianTimePerSession region
occurrences category
event

示例:关键应用事件指标查询

对于特定应用程序事件,应用程序版本的事件发生次数(2天):

Request:

1
https://api-metrics.flurry.com/public/v1/data/appEvent/day/app/appVersion/event?metrics=occurrences&dateTime=2016-07-01/2016-07-03&filters=app|name-in[foo],event|name-in[login,register]

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"rows": [{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"occurrences": 293
},{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "register",
"occurrences": 57
},{
"dateTime": "2016-07-02 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"occurrences": 146
},{
"dateTime": "2016-07-02 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "register",
"occurrences": 31
}]
}

对于特定的应用程序事件,按活动设备排序的前5个国家的有效设备和新设备(2天):

Request:

1
https://api-metrics.flurry.com/public/v1/data/appEvent/day/app/country?metrics=activeDevices,newDevices&dateTime=2016-07-01/2016-07-03&filters=app|name-in[foo],event|name-in[login]&topN=5&sort=activeDevices|desc

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
{
"rows": [{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "United States",
"occurrences": 515
},{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "United Kingdom",
"occurrences": 210
},{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "Canada",
"occurrences": 165
},{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "Germany",
"occurrences": 87
},{
"dateTime": "2016-07-01 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "France",
"occurrences": 46
},{
"dateTime": "2016-07-02 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "United States",
"occurrences": 435
},{
"dateTime": "2016-07-02 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "United Kingdom",
"occurrences": 190
},{
"dateTime": "2016-07-02 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "Canada",
"occurrences": 127
},{
"dateTime": "2016-07-02 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "Germany",
"occurrences": 76
},{
"dateTime": "2016-07-02 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"country|name": "France",
"occurrences": 39
}]
}

App Event Parameter Data

Table: eventParams

Metrics Dimensions Time Grain
count company day
app week
appVersion month
country all
language
region
category
event
paramName
paramValue

示例:app 事件参数指标查询

对于特定的应用程序事件,提供1天的事件参数值细目:

Request:

1
2
https://api-metrics.flurry.com/public/v1/data/eventParams/day/app;show=all/event/paramName/paramValue?metrics=count&filters=app|name-in[foo],event|name-in[level_complete]&dateTime=2016-11-07/2016-11-08

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"rows": [{
"dateTime": "2016-11-07 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "level_complete",
"paramName|name": "level",
"paramValue|name": "1",
"count": 32
},{
"dateTime": "2016-11-07 00:00:00.000-07:00",
"app|name": "foo",
"event|name": "login",
"paramName|name": "level",
"paramValue|name": "2",
"count": 15
}]
}

Real Time App Data 实时数据

Table: realtime (最近 48 小时)

Metrics Dimensions Time Grain
sessions company hour
activeDevices app day
appVersion all
country

示例:实时指标查询,仅限48小时

对于特定应用程序,会话和活动设备在特定时间内:

Request:

1
2
https://api-metrics.flurry.com/public/v1/data/realtime/hour?metrics=sessions,activeDevices&dateTime=2016-08-27T12/2016-08-27T13&filters=app|name-in[foo]

Response:

1
2
3
4
5
6
7
8
{
"rows": [{
"dateTime": "2016-08-31 12:00:00.000-07:00",
"app|name": "foo",
"sessions": 145,
"activeDevices": 90
}]
}

对于特定应用程序,在特定24小时内(不是日期边界),区分应用程序版本的会话总数和活动设备:

Request:

1
2
https://api-metrics.flurry.com/public/v1/data/realtime/all/app/appVersion?metrics=sessions,activeDevices&dateTime=2016-08-31T12/2016-09-01T13&filters=app|name-in[appname]

Response:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"rows": [{
"dateTime": "2016-08-31 12:00:00.000-07:00",
"app|name": "foo",
"appVersion|name": "1.0",
"sessions": 231,
"activeDevices": 87
},{
"dateTime": "2016-08-31 12:00:00.000-07:00",
"app|name": "foo",
"appVersion|name": "1.1",
"Sessions": 345,
"activeDevices": 167
}]
}

Error

详见原文。

官方文档:https://developer.yahoo.com/flurry/docs/api/code/analyticsapi/

如果有什么建议或者问题可以随时联系我,共同探讨学习: