SDK 签名
Adjust SDK 采用数字签名(根据应用密钥计算得出)来验证安装,保护您的数据集免受伪造流量的影响。在控制面板中创建应用密钥,并将其部署到您的 Adjust SDK 后,我们的 Adjust 服务器将验证每个已报告安装的合法性并拒绝欺诈活动。Adjust SDK 签名保障您归因数据集的准确性和安全性。 

注意:

  • 此功能适用于所有 Adjust 客户,但不会自动显示在您的控制面板中。如果您想在应用中采用 SDK 签名,请与您的客户经理联系或发送邮件至 support@adjust.com来启用此功能。
  • 此功能适用于Adjust SDK 4.12 及更高版本。

管理应用密钥

创建应用密钥

操作说明

在 Adjust 控制面板中
  1. 导航到应用,点击您应用选项上的 ^ 符号
  2. 选择所有设置 > SDK 签名
  3. 选择创建新的应用密钥(位于模块底部)来生成应用密钥
  4. (可选)在命名应用密钥字段中输入应用密钥名称
    • 建议:输入包含应用密钥和应用商店名称的应用版本
  5. (可选)输入您开发人员接收应用密钥的电邮地址,以便在应用内进行部署。此电子邮件内容包含应用识别码、应用密钥和应用密钥版本,以及导向必要 SDK 文档的链接。
  6. 选择保存更改
您的新应用密钥将显示在应用密钥列表中。每个应用密钥分配有一个密钥 ID,从 1 开始按时间顺序编号。

通过选择应用密钥旁的编辑(铅笔)图标,您随时可以编辑应用密钥的名称。

注意:请在集成 Adjust SDK 时集成应用秘钥使之生效。

将应用密钥集成到 Adjust SDK 

创建应用密钥后,必须先将其添加到 Adjust SDK 中,然后再提交给应用商店。

开发人员手册可在如下 GitHub 库中找到:

停用应用密钥

如果您怀疑有内部数据遭到洩漏,请停用应用密钥。只有分析师才能决定何时停用应用密钥;您随时可以重新激活已停用的应用密钥。

操作说明

在 Adjust 控制面板中
  1. 导航到应用,点击您应用选项上的 ^ 符号
  2. 选择所有设置 > SDK 签名
  3. 选择要停用的应用密钥旁的停用(电源)图标
  4. 选择停用
停用应用密钥会立即生效。 

使用已停用的应用秘钥,其上报的安装将被拒绝,且被归类为不受信任的设备。Adjust 会持续跟踪这些设备的会话和事件,但仅在您使用了 Adjust 防作弊套件时,才会在控制面板的报告中显示此信息。

重新激活应用密钥

如非必要(如意外停用应用密钥,或者停用后流量中出现无法解释的异常情况),请不要重新激活停用秘钥。

操作说明

在 Adjust 控制面板中
  1. 导航到应用,点击您应用选项上的 ^ 符号
  2. 选择所有设置 > 应用密钥
  3. 勾选显示停用的密钥
  4. 选择应用密钥旁的激活(电源)图标,以激活该密钥
重新激活的应用密钥将显示在应用密钥活动列表中。所有重新激活的应用密钥都会保留其原始应用密钥 ID。

重新启用应用密钥会立即生效。停用期间拒绝的安装不会追溯添加到控制面板历史数据中;停用期间拒绝的所有安装将保持被拒绝状态。 

最佳作法

应用密钥在运用上相当灵活,使用建议如下。

应用密钥名称

输入应用密钥的名称时,建议您提供应用程序的版本和相关的应用商店。

示例:版本 2.3 - Play 商店

何时创建应用密钥

建议您为每个发布的应用版本创建应用密钥。我们也建议您为不同的应用商店(例如,Google Play 商店和亚马逊应用商店),以及预安装推广活动生成相应的应用密钥。

何时停用或重新激活密钥

只有分析师才能确定何时停用或重新激活应用密钥;这不应属于应用开发决策的一部分。

停用应用密钥

Adjust 建议您只有在确认该应用密钥不再会影响您的安装报告,或在全面发布了新版本应用后(所有应用平台和商店)才选择停用应用密钥。否则,您的控制面板报告和回传可能会丢失大量数据。

如果您怀疑内部数遭泄露,我们也建议您停用应用密钥;如果应用密钥曾向外部人员披露,则应停用该密钥。

重新启用应用密钥

一般来说,我们不建议重新启用应用密钥。仅当以下情况发生时,才考虑执行重新启用: 
  • 应用密钥被意外停用;
  • 停用应用密钥后流量中出现无法解释的异常情况(例如:无法解释的安装数锐减)

强制使用 SDK 签名

默认情况下,所有新应用的“强制使用 SDK 签名”功能为关闭

要执行强制使用 SDK 签名此功能,您的安装需要搭配有效的应用密钥:配有无效或已停用应用密钥的安装将被拒绝。未使用应用密钥(即所有早期应用版本)提交的安装也将被拒绝。

若禁用“强制使用 SDK 签名”功能,Adjust可接受不带有应用秘钥的安装,用户可根据自身需求决定是否使用。强制使用 SDK 签名设置只会影响未使用应用密钥提交的安装:无论此设置如何,使用无效或已停用之应用密钥报告的安装将始终被拒绝。

应用密钥统计数据

查看您的应用密钥数据

操作说明

在 Adjust 控制面板中
  1. 导航到应用,点击您应用选项上的 ^ 符号
  2. 选择所有设置 > SDK 签名
  3. 选择查看密钥统计数据

应用密钥统计数据的展示内容

在图表左侧,您会看到应用密钥,包括无效密钥无密钥(如果有相关安装被上报)。将光标悬于应用密钥上,您可以选择加号图标 (+) 将该应用密钥的数据添加到图表中。若要从图表中移除应用密钥的信息,将光标悬于左侧部分或图表上方的名称上,然后选择减号图标 (-)。

在图表上,实线表示已接受的安装,虚线表示已拒绝的安装。

注意:如果您应用的 Adjust SDK 在沙盒环境中运行,发生的安装不会显示在此图中。

将光标移到图表上可以查看特定时间点的值。当前位置的日期将直接显示在图表上方,该点的值则会显示在日期上方彩色键的旁边。将光标悬停于其中一个部分上可分离图表上的线条。

在左侧部分选择应用密钥,按国家查看安装详情。

分组(小时、天、周或月)

此筛选功能位于图表上方,方便您更改图表上显示的数据点数量。可用选项因所选时间范围而异,总共有四个选项:小时以及

如果选择小时,图表上将显示所选时间范围内每小时的数据点。如果希望了解用户活动在一天中不同时段的变化,此功能非常有用。

您也可在刻度尺的另一端选择,图表上将仅显示所选择时间范围每个月的数据点。此选项方便您宏观了解安装活动在较长时间范围内的变化。

线性或对数

此筛选功能会改变图表的 y 轴显示。如果选择线性,将赋予数据范围相等的权重,这意味着数据范围在图形 y 轴上会等量显示。这种视图的缺点是,如果低值数据范围内的活动很多,而高值数据范围内活动很少,可能会因为数据过于密集,使得图表底部的情况不易辨识。

如果选择对数,每个数据范围将获得其下方数据范围的一半空间。因此,当您向上移动 y 轴时,每个数据范围的空间将逐渐减少。这有助于您观察完整的低值数据范围。

请注意,对数筛选条件下,由于y轴的高值数据和低值数据的范围看上去会比实际更相近,可能会产生误导。通过在两个选项之间切换,您可以充分了解所展示的数据。

常见问题

什么是数字签名? 

数字签名是用于验证数字消息或文档的数学方法。数字签名可用来表示信息已安全提交,并且在传输期间未泄露数据。

应用密钥是什么?

应用密钥由五个整数组成。在向 Adjust 服务器发送 SDK 流量时,Adjust 使用此值来散列重要数据点,而后 Adjust 可以根据此散列值验证安装的合法性。应用密钥对于生成 SDK 签名至关重要,请使用纯文本格式导出(如从 Adjust 控制面板中导出的格式)。

为实现最佳效果,建议您针对以下情况创建新的应用密钥:
  • 不同平台(iOS、安卓等);
  • 每个新发布的应用版本

如何部署应用密钥?

创建应用密钥后,将其和应用密钥 ID 提交给开发人员进行部署。相应说明载于相关 Adjust SDK 自述文件中。

数据在控制面板中会如何显示?

您可以在应用密钥数据中查看应用密钥表现,详见上文

被拒绝的安装将显示在控制面板数据的作弊视图中。因无效签名而被拒绝的安装将列在不受信任的设备 > 无效签名下。如果当前未使用 Adjust 防作弊套件,那么被拒绝的安装不会显示在 Adjust 报告中。

无效签名和缺少签名之间有什么区别?

如果签名与 Adjust 根据您应用密钥计算得出的签名不匹配,则该签名无效。这包括欺诈签名和根据已停用之应用密钥计算得出的签名。

缺少签名是指应用安装不包含任何签名。我们仅在当强制使用 SDK 签名功能已启用时,才会拒绝没有签名的安装。

如何从 Adjust 接收被拒绝的安装活动?

如果安装因 SDK 签名无效或缺失而被拒绝,Adjust 的实时回传系统会向您发出通知,或者我们的 CSV 会上传至云储存。如需接收被拒安装或再归因的原因,请将 {rejection_reason} 占位符附加到被拒安装或被拒再归因回传,或者将 {rejection_reason} 添加到 CSV 定义。

注意:只有使用防作弊套件的用户,才可以接收到被拒安装和再归因的回传。
实时回传说明
在 Adjust 控制面板中
  1. 导航到应用,点击您应用选项上的 ^ 符号
  2. 选择所有设置 > 原始数据导出 > 实时回传
  3. 选择被拒绝的安装被拒绝的再归因旁的编辑(铅笔)图标。
  4. 输入您的回传 URL,然后为拒绝原因附加键值对 (key-value pair)。
    • 输入您选择的密钥;这可以根据您的服务器设置进行自定义
    • 值应为 {rejection_reason}
    • 示例rejected_install_reason={rejection_reason}
  5. 选择更新
如果因无效或缺少 SDK 签名导致安装或再归因被拒绝,您将通过回传收到 rejected_install_reason=invalid_signature 的信息。

注意:我们仅在当强制使用 SDK 签名功能已启用时,才会拒绝缺少签名的安装。
Amazon S3 存储桶导出说明
在 Adjust 控制面板中
  1. 导航到应用,点击您应用选项上的 ^ 符号
  2. 选择所有设置 > 原始数据导出 > CSV 上传
  3. 点选请选择需要导出的事件
  4. 勾选被拒绝的安装和/或被拒绝的再归因
  5. 在您的CSV 定义包含 {rejection_reason} 占位符
如果出现被拒绝的安装或被拒绝的再归因事件,其将显示在上传的 CSV 文件中,并在 {rejection_reason} 列中显示 invalid_signature

为什么要对 SDK 流量部署应用密钥和签名?

尽管 Adjust SDK 使用加密通信通道(即 HTTPs)与 Adjust 的服务器通信,这些数据仍然可能被拦截和读取。从这种“攻击”中劫取的信息可能被用于生成非法安装。

此时便是我们的 SDK 签名方案发挥作用的时候。我们 SDK 计算应用密钥签名(此值仅为应用发行商和 Adjust 所知)的方式,能让我们的服务器验证所有传入安装的正当性。

如果作弊者篡改了安装期间提交的重要数据(例如,安装时间或设备特定标识符),我们的服务器可以检测到这一点并拒绝该安装。 

有关此主题