SDK 签名
Adjust 的 SDK 签名可保护您免受 SDK 伪造的侵扰。SDK 伪造即欺诈者伪造应用请求并将其发送至归因提供商和应用发行商服务器的行为。
尽管 Adjust SDK 使用加密通信通道 (即 HTTP) 与 Adjust 的服务器通信,但这些数据仍然可能被欺诈者拦截、读取,从而伪造安装。
为解决这一问题,Adjust SDK 会发送一个数字签名,让我们的服务器能验证传回的每个安装,并拒绝欺诈性活动。SDK 签名是从应用密钥创建的。应用密钥在 Adjust 控制面板中生成,密钥值只有应用发行商和 Adjust 知道。
采用 Adjust SDK 签名后,归因数据集的准确性和安全性就得到了保证。
操作前须知
以下是您在操作前需要了解的内容。
适用条件
- 此功能适用于所有 Adjust 客户,但不会自动显示在您的控制面板中
- 若您希望在自己的应用中采用 SDK 签名,请联系您的技术客户经理,或发送邮件至 support@adjust.com
要求
- Adjust SDK 版本 4.12或更高版本
实用信息
- 在默认状态下,新应用不会自动执行 SDK 签名。这就意味着您有可能受到伪造安装的侵害。我们建议您先确保所有传入安装都包含签名,之后再执行 SDK 签名。欢迎参阅更多信息,了解何时、如何在您的控制面板中执行签名。
设置 SDK 签名
设置 SDK 签名后,每个 SDK 通信包都是 "签过名的"。这样,Adjust 的服务器就能轻松甄别、拒绝任何非法活动。
设置 SDK 签名需要进行三步操作。
1. 创建应用密钥
要创建应用密钥,请按下列步骤操作。
在 Adjust 控制面板中
查找应用并选择应用选项插入符号 (^)
选择 所有设置 > SDK 签名
选择 创建新应用密钥
(可选) 输入应用密钥名称
- 建议 :输入包含应用密钥和应用商店名称的应用版本
(可选) 输入开发人员的电邮地址,向他们直接发送应用密钥。此电子邮件内容包含应用识别码、应用密钥和应用密钥版本,以及 SDK 安装文档的链接
选择 保存更改
很好!现在您就能看到自己的应用密钥了。
请注意: 我们建议您针对以下情况创建新的应用密钥:
- 发布的每个应用版本
- 每个不同的应用商店 (如 Google Play 商店和亚马逊应用商店)
- 预安装推广
2. 向您的 SDK 中添加应用密钥
创建应用密钥后,请将应用密钥集成进 Adjust SDK。之后,您就可以将自己的应用提交给应用商店了。
要向 SDK 添加应用密钥,请参阅我们 GitHub 上的开发者指南,按指南步骤操作。
3. 执行 SDK 签名
何时执行
将密钥集成进 Adjust SDK 后,传入的安装就会包含 SDK 签名。但是,我们建议您等待约为 2 个归因窗口的时间,然后再执行签名。
- 例如,如果采用 Adjust 默认的 7 天归因窗口,您就应该等待 14 天时间,再执行 SDK 签名。
如果有用户在集成密钥前下载了应用,但刚刚首次打开应用,安装就不会带有 SDK 签名。等待一段时间再执行签名,就能确保此类安装依旧能被 Adjust 接受并进行归因。
请注意:有些情况下,需要等待比的两 (2) 个归因窗口更长的时间,才能确保所有安装都包含 SDK 签名。例如,您向新的应用版本中加入了应用密钥,在 1 个月的时间里逐步发布了更新。这种情况下,在最后发布日期后,您还需等待一段时间,允许所有的用户更新到该应用版本,再执行 SDK 签名。
执行行为 在执行 SDK 签名之前,所有安装都会被接受。执行 SDK 签名后,Adjust 服务器会立刻拒绝所有缺失签名或带有无效签名的 SDK 通信。
执行开关设为 "关" | 执行开关设为 "开" | |
---|---|---|
Adjust 服务器规则 | 接受所有安装 | 只接受附带有效密钥的安装 拒绝密钥缺失或带有无效密钥的安装 |
要执行签名,请在控制面板中进行如下操作。
- 查找应用并选择应用选项插入符号 (^)
- 选择 所有设置 > SDK 签名
- 将 执行 SDK 签名 开关设为 开
一切就绪!SDK 签名现已启用。
管理您的应用密钥
您可以在控制面板中复制、编辑、禁用或重新启用自己的应用密钥。您可以选择铅笔图标,变更应用密钥名称。选择电源图标,可以禁用或重新启用密钥。
请注意: 只有分析师才能决定何时停用或重新启用应用密钥;这不应属于应用开发决策的一部分。
停用应用密钥
在下列情况中,Adjust 建议您停用应用密钥:
- 应用密钥已不再适用于安装报告
- 您已经 (在所有应用平台和商店中) 发布了应用的全新版本
- 您怀疑发生了内部数据泄露且您的应用密钥曾向外部人员披露
停用应用密钥会立即生效。您可以随时重新启用已经停用的应用密钥。
执行 SDK 签名后,使用已停用的应用秘钥上报的应用安装将被拒绝,且会被归类为 Untrusted Devices (不受信任设备)。Adjust 会持续跟踪这些设备的会话和事件,但仅在您使用了 Adjust 防作弊套件时,才会于控制面板的报告中显示此信息。
重新启用应用密钥
一般来说,Adjust 不建议重新启用应用密钥。仅当以下情况发生时,可以重新启用应用密钥:
- 应用密钥被意外停用
- 停用应用密钥后,流量中出现异常情况 (例如:无法解释的安装数锐减)
要查看已停用的应用密钥,请勾选显示已停用的应用密钥复选框。然后点击电源图标,重新启用密钥。重新启用的应用密钥会出现在您的活跃应用密钥列表中,保留其初始应用密钥 ID。
重新启用应用密钥会立即生效。停用期间拒绝的安装不会被重新添加到控制面板历史数据中;停用期间拒绝的所有安装将保持被拒绝状态。
查看您的数据
如需在控制面板中查看您的应用密钥数据,请按照以下步骤操作。
- 查找应用并选择应用选项插入符号 (^)
- 选择 所有设置 > SDK 签名
- 选择 查看密钥统计数据
在图表左侧,您可以看到密钥和 无密钥
(如适用)。
- 选择一个应用密钥,打开细分数据,按不同国家或跟踪链接查看安装
- 要将应用密钥的数据添至图表,请将光标悬停在应用密钥上,然后点击加号 (+) 图标
- 要从图表中移除应用密钥的数据,请将光标悬停在应用密钥上,然后点击减号 (-) 图标
图表中的实线代表带有有效签名的安装,虚线代表签名无效的安装。请参阅下列表格,了解在执行和未执行 SDK 签名下,密钥数据报告中的安装显示情况。
未执行 SDK 签名 | 已执行 SDK 签名 | |
---|---|---|
带有有效签名的安装 | 接受 在相关密钥下显示为有效安装 | 接受 在相关密钥下显示为有效安装 |
带无效签名的安装 | 接受 在相关密钥下显示为无效安装 | 拒绝 在相关密钥下显示为无效安装 |
缺失签名的安装 | 接受 在 "无密钥" 下显示为无效安装 | 拒绝 在 "无密钥" 下显示为无效安装 |
将光标移到图表上,可以查看特定时间点的值。如果应用的 Adjust SDK 在 sandbox 环境中运行,发生的安装不会显示在此图中。
如果您怀疑有内部数据遭到洩漏,请停用应用密钥。只有分析师才能决定何时停用应用密钥;您随时可以重新激活已停用的应用密钥。
分组(小时、天、周或月)
使用分组过滤器,可更改图表上显示的数据点数量。根据您选择的时段不同,可用的选项也会有差异。
选择 小时 ,可显示所选时段中每小时的一个数据点。如果想了解用户活动在一天中不同时段的变化,该功能非常有用。
相比之下,选择 月 ,则会显示所选时段中每个月的一个数据点。这样,您可以从更长期的角度了解安装活动的变化情况。
线性或对数
线性 视图会赋予数据范围相等的权重,也就意味着数据范围会在图形 y 轴上等量显示。如果在您的数据中,低值数据范围内的活动比高值数据范围内多,可能会因为数据过于密集,使得图表底部的情况不易辨识。
选择 对数 视图,每个数据范围将获得其下方数据范围的一半空间。这也就意味着,当您向上移动 y 轴时,每个数据范围的空间将逐渐减少。这种视图虽然能让低数值范围获得更多空间,但可能产生误导。
常见问题
什么是数字签名?
数字签名是用于验证数字消息或文档的数学方法。数字签名可用来表示信息已安全提交,并且在传输期间未泄露数据。
应用密钥是什么?
应用密钥由五个整数组成。在向 Adjust 服务器发送 SDK 流量时,Adjust 使用此值来散列重要数据点,而后 Adjust 可以根据此散列值验证安装的合法性。应用密钥对于生成 SDK 签名至关重要,请使用纯文本格式导出 (如从 Adjust 控制面板中导出的格式)。
无效签名和缺少签名之间有什么区别?
如果签名与 Adjust 根据应用密钥计算得出的签名不匹配,则该签名无效。这包括伪造签名和根据已停用应用密钥计算得出的签名。
缺少签名是指应用安装不包含任何签名。如果执行了 SDK 签名,不包含签名的安装会被拒绝。
如何从 Adjust 接收被拒绝的安装活动?
当有安装因 SDK 签名无效或缺失而被拒绝时,您可以通过实时回传或 CSV 上传接收通知。
注意 :只有使用防作弊套件的用户,才可以接收到被拒安装和再归因的回传。
设置实时回传
查找应用并选择应用选项插入符号 (^)
选择 所有设置> 原始数据导出> 实时回传
选择被拒安装或被拒再归因旁的 编辑 按钮 (铅笔图标)
输入您的回传 URL,然后为拒绝原因附加键值对 (key-value pair)。
- 输入您选择的密钥;这可以根据您的服务器设置进行自定义
- 值应为
{rejection_reason}
- 示例:
rejected_install_reason={rejection_reason}
选择 更新
如果安装或再归因因无效或缺少 SDK 签名被拒绝,您将在回传中看到这样的信息。
应用: rejected_install_reason=Invalid+signature
设置 CSV 上传
- 查找应用并选择应用选项插入符号 (^)
- 选择 所有设置 > 原始数据导出 > CSV 上传
- 点选 请选择需要导出的事件
- 勾选被拒绝的安装和/或被拒绝的再归因
- 在 CSV 定义 中,加入
{rejection_reason}
占位符
如果出现被拒绝的安装或被拒绝的再归因事件,其将显示在 CSV 文件上传中,并在 {rejection_reason}
列中包含 invalid+signature
。