概要:Data Locker可以将您的报告发送到云端,或入库到您的BI系统。我们支持多种云端存储方式,您可以选择AppsFlyer的AWS数据存储桶,也可以使用您在 AWS、GCS、Yandex、BigQuery和Snowflake上的自有存储桶。Data Locker还支持多宿端数据传输,也就是说,您可以将所有数据传输到多个宿端、分宿端传输不同数据,或结合这两种方式传输数据,
Data Locker
您可以在Data Locker中选择您需要AppsFlyer传输到指定宿端的数据,可用的维度包括应用、媒体渠道、事件和报告。然后您就能通过程序化的方式将这些数据从云端入库到您的系统中。
Data Locker——功能简介
功能 | 说明 |
---|---|
存储方式 |
Data Locker可以将您的数据发送到下列任一云平台:
您可以在Data Locker中设置多个宿端。也就是说,您可以将部分或所有数据发送到多个宿端。 示例
|
多应用 |
Data Locker可以发送您AF账户下的某个、某些或所有应用的数据。您在账户中添加应用时,Data Locker可自动涵盖这些新应用的数据。 |
可用窗口期 |
14天 |
数据隔离 |
云端数据存储桶的数据隔离选项包括:
|
数据格式选项 |
|
数据时效性 |
数据时效性取决于报告类型
|
可通过Data Locker拉取的报告
数据存储结构
简要说明
您的数据构架取决于您使用的数据存储工具,即云存储或数据仓库。下文所述的目录结构是数据存储桶中的结构。如果您使用数据仓库存储数据,则其中的视图结构与本文中的目录结构类似,详情请见Snowflake说明。
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) |
分应用取数
区隔类型 | 说明 |
---|---|
【默认】合并 |
所有应用的数据合并在统一的数据文件中。取数时请使用行级的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的数据保存规定将这些数据保存在服务器中。
- 出于一些技术原因,我们有时会删除并重写数据。因此需要删除与列表权限。这两个权限都不会造成任何安全隐患:这是因为AF是唯一一个向该存储桶中写入数据的实体,因此列表权限不回带来风险;此外由于AF可以重新生成相关数据,因此删除权限也没有安全风险。
- 如需了解其他相关信息,请发送邮件至hello@appsflyer.com联系我们的数据安全团队或您的CSM。
多宿端作用原理
您可以使用Data Locker将您的部分或所有数据发送到2个宿端(在连接部分设置)。比如,将A应用的数据发送到AWS,将B应用的数据发送到GCS。
每个连接由一套完整的Data Locker设置组成,其中包含一个宿端。每个连接的设置都是单独分开的。
管理宿端连接时需注意以下几点:
- 宿端连接在Data Locker设置部分中,分单独的标签页显示。也就是说,您可以在各连接的专属标签页中管理其配置。每个标签页的图标代表相应的存储工具类型。
- 如需查看连接详情、创建连接副本或删除连接,请点击⋮(选项图标)。
设置流程
用户权限
具有必要权限的管理员和团队成员都可以访问Data Locker。
管理员
管理员可以访问Data Locker页面、创建并管理所有的连接、开放编辑权限、指定现有连接的所有者。
团队成员
团队成员可以访问Data Locker页面、编辑现有连接(需具备所有者权限)、创建新连接。
开放权限
- 如需向某个团队成员开放Data Locker的权限,请为其分配一个带有Data Locker管理权限的角色。
- 如需迁移某个现有连接的所有者权限,或向团队成员开放其编辑权限,请点击该连接中的选项菜单图标
,然后点击管理所有者权限,即可进行所需操作。
设置Data Locker
请使用本节所属流程设置Data Locker。更改Data Locker的任何设置都需要最多3小时后才能生效。
前期准备
如需设置广告主侧自有存储桶:
如果您要使用自有的云端存储工具设置Data Locker,请先完成以下任一/各项流程。
请注意:如果您的套餐中不含Data Locker,但含群组分析报告或SKAN数据,您也必须完成上述自有云端存储工具设置。
请按以下步骤设置Data Locker:
- 需要账户管理员完成该设置。
- 从AppsFlyer后台进入报告 > Data Locker。
- 【可选】如果您已经有在用的Data Locker宿端,并需要再添加其他宿端,请点击添加连接,并为其命名。
-
选择一个云服务数据宿端。请完成以下任一操作:
- 选择AppsFlyer的AWS存储桶(仅限套餐中包含Data Locker的广告主),然后点击保存并进入第5步。
- 选择S3。
- 输入您的Amazon S3存储桶名称,必须手动在其中添加前缀
af-
。 - 点击测试连接。
- 确保未收到“存储桶路径无效”的报错消息。
- 选择该连接是否需要支持Adobe Experience Platform。选择完毕后点击保存并进入第6步。
- 点击保存。
- 输入您的Amazon S3存储桶名称,必须手动在其中添加前缀
- 选择GCS。
- 输入您的GCS存储桶名称。
- 点击测试连接。
- 确保未收到“存储桶路径无效”的报错消息。
- 选择该连接是否需要支持Adobe Experience Platform。选择完毕后点击保存并进入第6步。
- 点击保存。
- 【Beta】选择Azure。
- 输入您的连接名称、存储账户名称以及密钥。
- 确保未收到“存储桶路径无效”的报错消息。
- 选择该连接是否需要支持Adobe Experience Platform。选择完毕后点击保存并进入第6步。
- 点击保存。
- 【Beta】选择Yandex。
- 输入您的存储桶名称、访问密钥(Access Key)和私人密钥(Secret key)。
- 确保未收到“存储桶路径无效”的报错消息。
- 选择该连接是否需要支持Adobe Experience Platform。选择完毕后点击保存并进入第6步。
- 点击保存。
- 选择BigQuery。
- 输入您的BigQuery项目ID和数据集名称。
- 点击测试连接。
- 确保未收到“存储桶路径无效”的报错消息。
- 点击保存并进入第6步。
- 选择Snowflake。
- 输入您的Snowflake地区和账户ID。
- 点击测试连接。
- 确保未收到“存储桶路径无效”的报错消息。
- 点击保存并进入第6步。
- 完成数据设置部分的操作:
- 选择您需要的文件格式:
- 【默认】Parquet。
- CSV
- 选择您需要的文件压缩类型:
- Snappy(仅限Parquet文件)
- GZIP
- 未压缩文件
- 选择文件中的数据行数上限,可用选项包括:10k、25k、50k、100k、200k和500k。行数越多,文件数量越少,文件尺寸越大。
- 选择文件夹结构(数据隔离):
- 【默认】合并
- 分应用取数
- 选择您需要的文件格式:
- 完成Data Locker内容部分的操作:
- 选择报告中需要覆盖的应用(一个或多个)。点击全选可自动添加后续加入的新应用。
- 点击应用。
- 【可选】选择报告中需要涵盖的一个或多个媒体渠道。
- 默认=All(所有媒体渠道)。也就是说,您后续添加的所有媒体渠道都会自动添加到Data Locker中。
- 点击应用。
- 【可选】选择您需要在报告中查看的字段。注意:AF有时会在报告中开放额外字段,请在数据入库时注意这一点。
- 点击应用。
- 选择报告类型(至少一种)。
- 【可选】如果是应用内事件报告,选择您要在报告中查看的应用内事件。如果您的应用内事件类型超过100种,则无法搜索事件名,需要您输入并点选相关事件的确切名称。
- 默认=All(所有应用内事件)。也就是说,您后续添加的所有应用内事件都会自动添加到Data Locker中。
- 点击应用。
- 点击保存链接。保存完毕后会出现以下两种结果:
- 如果您选择了AppsFlyer的AWS存储桶:
- AF将为您创建专属的AWS存储桶。界面会显示存储桶证书。
- 您可以使用该证书以只读方式访问存储桶。
- 如果您选择了自有云端存储工具:AF将在3小时内把数据写入您的存储工具中。
- 如果您选择了AppsFlyer的AWS存储桶:
重置证书
AF账户管理员可以随时重置AppsFlyer存储桶证书。请注意:重置证书后,您必须升级数据导入脚本,将新证书写入脚本中。
请按以下步骤重置AppsFlyer存储桶的证书:
- 从AppsFlyer后台进入报告 > Data Locker。
- 选择AppsFlyer存储桶。
- 点击“证书”部分中的重置证书。
界面打开确认窗口。 - 点击重置。
- 等待界面显示Credentials successfully reset(证书重置完毕)的消息(约20秒)。
然后您就可以使用新的证书了。
其他相关信息
特点与局限性
特点 | 说明 |
---|---|
广告平台 | 广告平台不可用 |
代理 | 代理不可用 |
应用设定的时区 | 不适用。Data locker文件夹按UTC时间逐时拆分。实际事件时间是以UTC时间显示的,请根据需要将其换算到其他时区。不论您在应用配置中设定了哪个时区,从事件发生到Data Locker记录事件之间的延迟保持不变。 |
应用设定的货币 | 不支持 |
数据量限制 | 不适用 |
数据时效性 | 数据的更新频率取决于具体报告的数据时效性,详情请见本文档。 |
历史数据 | 不支持。如需拉取历史数据,请使用Pull API(仅部分报告具有可用的历史数据)。 |
受限数据 | 为了符合隐私政策的规定,部分报告中的字段受限。了解详情 |
用户权限 | 如需配置Data Locker,须具备相关权限。 |
单应用/多应用 | 支持多应用取数。Data Locker是帐户级别的功能。 |
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存储桶中有三类文件夹:
- Report Type
t=
- Date
dt=
- Hour
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。
- 填写以下字段:
- Nickname(昵称):自定义文本
- Server(服务器):s3.amazonaws.com
- Access Key ID(访问密钥ID):复制AppsFlyer后台的证书栏中显示的AWS Access Key。
- Secret Access Key(秘密访问密钥):复制AppsFlyer后台的证书栏中显示的Bucket Secret Key。
- Path(路径):{Bucket Name}/{Home Folder} 示例: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(使用安全传输)。
- 点击保存更改。
- 点击Buckets > Add External Bucket(添加外部存储桶)。
界面打开Add External Bucket窗口。 - 输入Bucket name(存储桶名称)。存储桶名称的格式为:{Bucket Name}/{Home Folder}。您可以在在证书窗口中看到存储桶名称和主文件夹的值。
- 点击Add External bucket(添加外部存储桶)。
系统创建存储桶并将其展示在窗口左侧边栏中。
完成上述操作后,您就能访问Data Locker文件了。