概要:Data Locker可以将您的报告发送到云端,或入库到您的BI系统。我们支持多种云端存储方式,您可以选择AppsFlyer的AWS数据存储桶,也可以使用您在 AWS、GCS、Yandex、BigQuery和Snowflake上的自有存储桶。Data Locker还支持多宿端数据传输,也就是说,您可以将所有数据传输到多个宿端、分宿端传输不同数据,或结合这两种方式传输数据,
速览
您可以在Data Locker中选择您需要AppsFlyer传输到指定宿端的数据,可用的维度包括应用、媒体渠道、事件和报告。然后您就能通过程序化的方式将这些数据从云端入库到您的系统中。
Data Locker——功能简介
| 功能 | 说明 |
|---|---|
| 存储方式 |
Data Locker可以将您的数据发送到下列任一云平台:
您可以在Data Locker中设置多个宿端。也就是说,您可以将部分或所有数据发送到多个宿端。 示例
|
| 多应用程序 | Data Locker可以发送您AF账户下的某个、某些或所有应用的数据。您在账户中添加应用时,Data Locker可自动涵盖这些新应用的数据。 |
| 可用窗口期 | 14天 |
| 数据隔离 |
云端数据存储桶的数据隔离选项包括:
|
| 数据格式选项 |
|
| 数据时效性 |
不同报告类型的数据时效性不同:
|
可通过Data Locker拉取的报告
Data Locker报告设置
如需配置Data Locker,请按照以下步骤完成云服务对接、导出设置以及报告内容的自定义:
1. 设置云服务
2. 添加云服务连接
在完成云服务账号与Data Locker的对接配置后(参见上文设置云服务),您需要在Data Locker中使用账号凭证创建一个连接。每个账号最多可以创建2个连接。
注意
默认情况下,每个账号最多可以开启2个Data Locker连接。如需创建其他连接,请联系您的客户成功经理(CSM)。
创建云服务连接步骤如下:
- 在AppsFlyer后台左侧的菜单栏中选择导出 > Data Locker。
- 在右侧点击新建连接。
- 在连接名称 中输入您的连接名称。仅限小写字母、数字和连字符(-)。
- 单击您需要连接的云服务图标。
-
根据所选服务,输入对应的连接信息。
AWS云存储桶连接
GCS云存储桶连接
Azure云存储桶连接
Yandex云存储桶连接
BigQuery 数据仓库连接
- 点击保存。系统将显示报告输出设置部分。
注意
您可以通过审计日志确认连接是否已创建、更新或删除,并查看操作的执行者。
3. 设置报告输出参数
在完成与云服务的连接后,接下来可对Data Locker报告输出的通用参数进行设置。如果您使用的云服务是BigQuery或Snowflake,则可跳过此步骤。
- 在报告输出设置部分下,选择文件夹结构 (数据分流方式):
- 统一 (默认):报告文件包含所有应用的数据记录。
- 按应用取数:每份报告文件只包含一个应用的数据。
- 选择报告文件格式:Parquet(默认)或CSV。
- 选择报告的文件压缩类型:
- Snappy(仅限Parquet文件)
- GZIP
-
选择单个文件中的最大行数:可选值为10k,25k,50,100k,200k,或500k。 行数越多,生成的文件数量越少,单个文件越大。
注意
在预期路径 下,查看报告的路径模式。请注意:实际路径可能与显示不同。
4. 选择全局筛选条件
全局筛选条件可帮助您按应用或媒体渠道筛选报告。这些筛选条件适用于您数据存储账户中的大多数报告,您也对报告进行单独设置(请参见后文中的7-选择报告层级筛选条件)。如果在全局和报告层级同时设置筛选条件,则报告层级的筛选条件优先。
设置筛选条件的操作如下:
- 在报告部分,点击所需的筛选条件并选择报告中需包含的项目。 例如,点击应用筛选条件
并选择报告中需包含的应用。
- 点击回车(⏎)按钮。
5. 选择报告组
选择您希望在云服务中获取的报告。报告以组的形式列出,点击组名可以展开或收起。
- 选择一份报告,点击
展开报告组。展开报告组后,报告会显示以下信息:
- 报告名称:报告的名称。
- 数据集名称:包含该报告数据的数据库名称。
- 数据时效性:数据更新频率(例如:按小时、按天或按版本)。
- 字段:已选择的字段数量/可供选择的字段总数。
6. 自定义或复制报告
选定一个或多个报告后,您可以选择自定义原始报告或复制并自定义报告副本。该功能可帮助您在不影响原始版本的情况下,为不同的业务场景创建定制化报告。
方案A:自定义原始报告
- 点击报告名称旁边的
自定义按钮。
- 打开报告编辑器,选择需要的字段并应用筛选条件。
- 修改将直接保存到原始报告配置中。
请注意:该操作将改变报告传送到云存储的方式。
方案B:复制报告
- 点击报告名称的
。
- 在下拉菜单中选择
复制。
- 系统会生成一个新副本,名称前缀为
copy_of_。 - 复制后的报告将以编辑模式打开,方便您进行自定义设置。
提示:复制功能适用于为不同场景创建多种版本的报告。
完成自定义设置或复制报告后,您可进入下一步,配置报告字段。
7. 选择报告字段
完成自定义设置或复制报告后,您需要定义报告中应包含哪些字段。所有报告均包含完整的字段集合,您可以根据分析或对接需求进行筛选。默认情况下,所有字段均已选中。您也可以手动勾选需要的字段,或取消不需要的字段。
操作步骤:
从其他报告复制字段配置
您可以先从其他报告中复制字段为基础,然后继续勾选或取消勾选字段以微调报告。
- 在字段选项卡中,先随意取消勾选一个字段。
- 点击Pull schema from report。
- 选择您希望复制字段配置的报告。
- 根据需要继续勾选或取消字段。
- 如需恢复报告的原始字段配置,点击
刷新。
8. 选择报告级筛选条件
您可以借助报告级筛选条件对某一份报告按应用、媒体渠道等维度进行筛选。您也可以设置全局筛选条件,应用于账号中的所有报告;参见选择全局筛选条件。默认情况下,报告级筛选条件是根据全局筛选条件设置的,您也可以仅针对该报告进行自定义设置。
为指定报告设置筛选条件的步骤如下:
- 将鼠标悬停在要自定义的报告上。
- 点击
打开操作菜单,然后选择
编辑报告。
- 打开筛选条件选项卡。此时筛选条件默认为全局筛选条件。
- 点击筛选条件并选择报告中需包含的项目。例如,点击应用筛选条件
并选择报告中需包含的应用。
- 点击回车(⏎)按钮。您的选择将应用于全局设置。
- (可选)对于应用内报告,您可以设置应用内事件筛选条件。请输入事件的准确名称。
-
点击应用保存设置。
9. 移除历史字段
历史字段指之前包含在报告结构中,但现在已不包含的字段。建议您移除这些字段,确保报告只包含相关信息。在移除前,请确认该操作不会对您的工作流或对接流程产生影响。
移除历史字段的操作如下
- 打开历史字段选项卡。
- 启用:在报告中包含旧版字段(Include legacy fields in the report)。
- 取消勾选要排除的字段。
- 点击应用。
- 保存连接设置。
移除所有历史字段:
- 打开历史字段选项卡。
- 关闭:在报告中包含旧版字段(Include legacy fields in the report)。
注意
如果您希望在报告中包含旧版字段,但字段列表呈灰色且被锁定,请联系您的客户成功经理(CSM)。
非空值历史字段
大多数旧版字段为空或nullnull。但少部分字段仍包含数据,之所以被归类为历史字段,是因为:
- 它们在报告中已被重命名。
- 它们被排除在报告架构之外(已弃用)。
10. 保存连接
点击保存,首次数据转储将在3小时内写入您的云服务。此后,数据更新频率视具体报告而定。
重要提示!
对Data Locker设置的任何更改最多3小时后才能生效。
数据存储结构
概览
您的数据构架取决于您使用的数据存储工具,即云存储或数据仓库。下文所述的目录结构是数据存储桶中的结构。如果您使用数据仓库存储数据,则其中的视图结构与本文中的目录结构类似,
Data Locker会将数据写入您指定的存储工具中。如果您使用云存储,您可以选择AppsFlyer的AWS存储桶或者您在AWS、GCS或Yandex上的自有存储桶。您可以随时切换存储工具、数据切分方式和数据宿端。
Data Locker以分级的目录结构将数据写入存储桶中,分级维度为报告类型、日期和时间。下图为目录结构示例:下图为目录结构示例:
具体报告的数据保存在该报告类型下的小时数(h)文件夹中:
- 报告的数据时效性(每小时更新、每天更新或版本化)决定了文件夹名称中的小时数。
- 通过Snappy或GZIP压缩文件或未压缩的Parquet或CSV文件提供数据。
- 数据文件由列(字段)组成。
- 各种用户链路报告都具有完全相同的schema(字段)结构,具体取决于您选择的字段。其他报告各自有其显式字段,即无结构(schemaless)报告。详情请见营销人员的Data Locker报告,其中列出了可用的报告并提供了各种报告的说明文档链接。
目录结构
| 文件夹 | 说明 |
|---|---|
| 订阅ID(Subscription ID) |
各种场景的文件夹结构示例:
|
| 主题(t) | 报告类型与报告主题相关。 |
| 日期(dt) | 代表相关的数据日期。对于原始数据,该日期表示事件发生的日期。对于汇总数据,该日期表示上报日期。 |
| 时间(h或版本编号) |
日期文件夹以小时数(h)或版本编号命名,具体取决于报告类型。 以小时数命名的文件夹h文件夹的小时数是指AppsFlyer接收到数据的时间。比如AF会将UTC时间14:00-15:00之间接收到的激活数据写入h=14文件夹中。请注意:AF接收数据后需要1-3小时左右才能将相应的h文件夹写入Data Locker中。比如h=14文件夹会在1小时后,即UTC时间15:00写入到Data Locker中。 小时数文件夹的特点:
部分报告可按版本化方式命名部分报告会按版本化方式命名。也就是说,Data Locker会多次写入指定日期的最新数据。这是因为有些数据的接收会有延迟,或后续出现了更准确的数据,因此Data Locker中的数据会持续更新,从而使同一个报告出现多个版本,其中最近期的版本数据最准确。 指定日期的报告保存在该日期下的版本编号文件夹中。每个版本各自放在单独的文件夹中,这些文件夹的名称是通过Epoch时间戳来命名的,用以识别相关报告。 在设计数据入库流程时,请务必注意Data Locker会回溯性地写入数据。比如Data Locker可能会在1月14日在1月1日的文件夹中写入数据。如果您使用的是自有存储桶,建议使用云服务消息通知来触发入库流程(AWS | GCS) |
分应用取数
如果您使用云端存储桶,Data Locker可以将所有指定应用的数据文件合并到统一的数据文件中,也可以将数据按应用分别写入不同的文件夹中。分应用写入的数据会放在h文件夹下,详情请见下表。
| 区隔类型 | 说明 |
|---|---|
| 【默认】合并 |
所有应用的数据合并在统一的数据文件中。取数时请使用行级的app_id field字段来区分不同应用的数据。 示例:h=2文件夹下为数据文件 数据文件的命名方式为unique_id.gz。
|
| 分应用取数 |
文件夹中包含分应用的子文件夹。具体应用的数据文件保存在该应用的文件夹中。下图中的h=19文件夹含有应用文件夹,每个应用文件夹中包含相关的数据文件。请注意:数据文件名称中没有app_id,必须通过文件夹名称中的app_id来识别。 各应用文件夹的命名方式为unique_id.gz:
局限性:PBA报告无此选项。 |
数据文件
不同的分类取数方式会产生不同的数据文件。
| 内容 | 说明 | |
|---|---|---|
| 完成标签 |
一个h文件夹中的所有数据都写入完毕后,系统会设置末尾文件(完成)标签。
|
|
| 文件类型 |
|
|
| 字段顺序(CSV文件) |
如果是CSV文件,则报告中的字段顺序总是不变的,新添加的字段会出现在现有字段的右侧。 在这种情况下:
|
|
| 字段填充注意事项 |
空白或空字段: 字段可能为空或为null,出现这种情况即表示这个字段在该报告中没有数据可以上报。一般来说,null表示该字段在相应报告和应用类型中不适用。空值(显示为"')表示该字段适用于相应的报告和应用类型,但未找到相关数据。 如果媒体渠道受限,则受限字段的值为“null”。 总体而言,null值和空值的含义基本相同,都可以理解为没有可用的值。 时区和货币 您在应用配置中指定的时区和货币对Data Locker中的数据无效。Data Locker数据的时区和货币单位如下:
带逗号的值:逗号包含在双引号`"`中,例如, |
|
存储工具选项
注意:
如果您使用的是广告主侧自有存储工具:
- 请确保您符合GDPR等数据隐私条例以及广告平台/SRN的数据保存规定。
- 请勿使用您的自有存储桶向第三方发送数据。
- 可选的存储工具如下:
- AppsFlyer存储桶
- 客户自有存储工具——AWS、GCS、Azure、Yandex、BigQuery和Snowflake
- 您可以随时切换存储工具。
- 更改存储工具后会发生以下变化:
- AF会在一小时内将数据写入新的存储桶。
- 更改存储工具后会有一个7天的过渡期,在此期间我们会继续将数据写入原先的存储工具。您可以在AF后台查看过渡期的结束时间,以便对后续的数据入库流程变更做出相应的安排。您也可以根据实际情况重启过渡期,或换回AppsFlyer存储桶。
- 切换存储选项:您可以使用多宿端存储选项,将数据同时发送到多个宿端,这样就能切换存储选项。完成迁移和测试后,请删除弃用的存储选项。
| AppsFlyer的AWS存储桶 | 广告主自有存储工具(AWS、GCS、Azure、Yandex、BigQuery和Snowflake) | |
|---|---|---|
| 存储区名称 | 由AppsFlyer设置 |
示例: |
| 存储桶所有者 | AppsFlyer | 营销人员 |
| 存储平台 | AWS | AWS、GCS、Azure、Yandex、BigQuery、Snowflake |
| 广告主用于访问数据的证书 | AppsFlyer账户的管理员可以在其Data Locker界面中查看此信息。 | AppsFlyer不掌握该信息。用户证书是由云服务商提供的。 |
| 数据保留 | 数据会在14天后自动删除。 | 广告主侧负责 |
| 数据删除请求 | 由AppsFlyer执行 | 广告主侧负责 |
| 数据安全 | 存储桶由AppsFlyer管理。客户具有只读权限。 |
存储工具的控制权限在广告主侧。
|
| 存储容量 | 由AppsFlyer管理 | 由广告主侧管理 |
| 使用带存储桶策略的VPC端点读取数据 | 不适用 | 【可选】如果您在AWS的存储桶层级采取了VPC端点安全防护措施,必须将AppsFlyer的服务器加白。 |
广告主自有存储桶的数据安全负责人须知
考虑:
- 该存储桶或宿端仅可用于AppsFlyer的数据写入,不能有其他实体向该宿端写入数据。
- AF写入数据的25小时后您可以从相关宿端中删除该数据。
- 宿端中的数据是AF服务器中数据的副本。我们会按AF的数据保存规定将这些数据保存在服务器中。
- 出于技术原因,我们有时需要删除并重写数据。Data Locker需要具备delete(删除) 和list(列出)权限。这两项权限不会带来安全风险。对于list权限,,我们是唯一可以向存储桶写入数据的实体。在delete权限下,我们能够在需要时重新生成数据。
- 如需了解其他相关信息,请发送邮件至hello@appsflyer.com联系我们的数据安全团队或您的CSM。
多宿端作用原理
您可以使用Data Locker将您的部分或所有数据发送到2个宿端(在连接部分设置)。比如,将A应用的数据发送到AWS,将B应用的数据发送到GCS。
每个连接由一套完整的Data Locker设置组成,其中包含一个宿端。每个连接的设置都是单独分开的。
管理宿端连接时需注意以下几点:
- 宿端连接在Data Locker设置部分中,分单独的标签页显示。也就是说,您可以在各连接的专属标签页中管理其配置。每个标签页的图标代表相应的存储工具类型。
- 如需查看连接详情、创建连接副本或删除连接,请点击⋮(选项图标)。
其他相关信息
在审计日志中跟踪连接变更
您可以在AppsFlyer面板的安全中心查看Data Locker连接的变更记录。通过审计日志,您可以确认是否发生了变更、变更时间以及执行操作的用户。您可以在不依赖支持团队的情况下,排查缺失数据或连接意外变更等问题。
审计日志会记录以下生命周期事件:
- 创建新连接
- 更新连接
- 禁用连接
- 删除连接
访问审计日志的步骤如下:
- 在顶部导航栏中,打开
账户菜单。
- 选择安全中心。
- 在审计日志部分,点击查看审计日志。
- 在筛选条件中选择“服务”:Data Locker以查看相关条目。
详情请见审计日志。
特性与局限性
| 特点 | 说明 |
|---|---|
| 广告平台 | 广告平台不可用 |
| 代理 | 代理不可用 |
| 应用层级的指定时区 | 不适用。Data locker文件夹按UTC时间逐时拆分。实际事件时间是以UTC时间显示的,请根据需要将其换算到其他时区。不论您在应用配置中设定了哪个时区,从事件发生到Data Locker记录事件之间的延迟保持不变。 |
| 应用配置中的指定货币 | 不支持 |
| 大小限制 | 不适用 |
| 数据时效性 | 数据的更新频率取决于具体报告的数据时效性,详情请见本文档。 |
| 历史数据 | 不支持。如需拉取历史数据,请使用Pull API(仅部分报告具有可用的历史数据)。 |
| 受限数据 | 为了符合隐私政策的规定,部分报告中的字段受限。详情请见此处说明。 |
| 用户权限 | 如需配置Data Locker,须具备相关权限。 |
| 单应用/多应用 | 支持多应用取数。Data Locker是帐户级别的功能。 |
| 最大连接数 | 默认情况下,每个账号最多可以开启2个Data Locker连接。如需申请额外连接,请联系您的客户成功经理(CSM)。 |
AWS数据拉取
本节解释了AWS数据拉取工具的使用方式,这些工具包括AWS CLI、Cyberduck、Amazon S3浏览器。请注意:下文说明是针对AppsFlyer存储桶编写的。如果您使用的自有存储桶,请根据实际情况调整相关操作。
AWS CLI
前期准备 :
- 在您的电脑上安装AWS CLI。
- 从AppsFlyer面板进入Data Locker配置页面,然后在证书栏中获取所需信息。
请按以下方式使用AWS CLI:
- 在Windows中使用<Windows>+<R>键,然后点击OK,打开相关终端。
界面显示命令行窗口。 - 输入aws configure。
- 输入证书面板中显示的AWS Access Key。
- 输入证书面板中显示的AWS Secret Key。
- 输入eu-west-1。
- 按下回车键。
根据需要使用以下CLI命令。
您可以在以下命令中找到{home-folder} 的值
如需在存储桶中列出文件夹:
aws s3 ls s3://af-ext-reports/{home-folder}/data-locker-hourly/
列出文件和文件夹
Data Locker存储桶中有三类文件夹:
- 报告类型
t= - 日期(date)
dt= - 小时
h=
如需列出某个报告类型下的所有报告:
aws s3 ls s3://af-ext-reports/{home-folder}/data-locker-hourly/t=installs/
如需列出某个报告类型在某个日期的所有报告:
aws s3 ls s3://af-ext-reports/{home-folder}/data-locker-hourly/t=installs/dt=2019-01-17
如需列出某报告类型在某日某时的所有报告:
aws s3 ls s3://af-ext-reports/{home-folder}/data-locker-hourly/t=installs/dt=2019-01-17/h=23
如需下载特定日期的文件:
aws s3 cp s3://af-ext-reports/<home-folder>/data-locker-hourly/t=installs/dt=2020-08-01/h=9/part-00000.gz ~/Downloads/
Cyberduck
前期准备 :
- 安装Cyberduck客户端。
- 从AppsFlyer面板进入Data Locker配置页面,然后在证书栏中获取所需信息。
请按以下步骤配置Cyberduck:
- 在Cyberduck后台点击“Action”(操作)。
- 选择New Bookmark(新建书签),打开配置窗口。
- 在第一个字段(在下面的截图中标记为 [1])中选择 Amazon S3。
- 填写以下字段:
- 昵称:自定义文本
- Server(服务器):s3.amazonaws.com
- Access Key ID(访问密钥ID):复制AppsFlyer后台的证书栏中显示的AWS Access Key。
- Secret access key(秘密访问密钥):复制AppsFlyer后台的证书栏中显示的Bucket Secret Key。
- 路径:{存储桶名称}/{主文件夹} 例如:af-ext-reports/1234-abc-ffffffff
- 点击窗口右上角的X,关闭该窗口。
- 选择相关连接。
界面会展示数据目录。
Amazon S3浏览器
前期准备 :
- 安装Amazon S3浏览器。
- 从AppsFlyer面板进入Data Locker配置页面,然后在证书栏中获取所需信息。
请按以下步骤配置Amazon S3浏览器:
- 在S3浏览器中点击Accounts > Add New Account。
界面打开Add New Account(添加新账户)窗口。 - 填写以下字段:
- Account Name(账户名):自定义文本。
- Access Key ID(访问密钥ID):复制证书栏中的AWS Access Key。
- Secret Access Key(秘密访问密钥):复制证书栏中的Bucket Secret Key。
- 选择Encrypt Access Keys(对密钥加密),输入密码。将此密码记录下来,以防遗忘。
- 选择Use secure transfer(使用安全传输)。
- 点击Save changes。
- 点击Buckets > Add External Bucket(添加外部存储桶)。
界面打开Add External Bucket窗口。 - 输入Bucket name(存储桶名称)。桶名称的格式如下:{桶名称}/{主文件夹}。您可以在在证书窗口中看到存储桶名称和主文件夹的值。
- 点击Add External bucket(添加外部存储桶)。系统创建存储桶并将其展示在窗口左侧边栏中。
完成上述操作后,您就能访问Data Locker文件了。