Adjust 的 SDK 签名库是 Adjust SDK 的一款独立插件,也就是说,您无需变更代码或改变在应用中使用 Adjust SDK 的方式,即可使用 SDK 签名库。安装插件后,Adjust SDK 发出的所有请求都将继续如常运行。
Before you begin
要将签名库集成到您的 Unity 应用,请确保满足下列条件:
- 正在使用的安卓API 为 21 或更高版本 。
- 正在使用的 Adjust SDK 为 4.37.2 或更高版本 。即使是间接使用 Adjust SDK 的情况,此要求也同样适用。
- 如果您使用了 ProGuard,那么签名库和 Adjust SDK 须使用完全相同的 ProGuard 配置。
- 如需16KB 页面尺寸对齐的签名库,请联系您的 Adjust 代表或发送邮件至 support@adjust.com。
Migrating from Signature v1 or v2 library
如果您之前使用的是 Signature v1 或 Signature v2,请先移除旧版本,然后再集成签名库。 为此请进行下列操作:
- 如果您之前已经集成了 Signature V1,请移除项目中所有会调用签名功能的代码。
- 如果您之前已经集成了 Signature V2,请从您的项目中移除 Signature V2 库。
Updating the Signature Library
要更新 Adjust 签名库,请用新版本替换现有的签名库,然后重新运行测试。只要您的证书已配置且未被更改,就无需立即在 Adjust 中对应用逻辑或设置进行任何更改。如果密钥 ID 满足以下条件,请务必停用:
- 应用密钥已不再适用于安装报告。
- 您已经在所有应用平台和商店中全面发布了应用的新版本。
Integrate the signature library (SDK v4 only)
请按照下列步骤操作,将签名库集成入您的 Unity 项目中。
- 从 GitHub 调取签名库内容。
- 将安卓归档 (
.aar
) 文件放在 Unity 项目的Assets/Adjust/Android
目录中。 - 将 iOS 静态框架 (
.a
) 放入 Unity 项目的Assets/Adjust/iOS
目录中。
一切就绪!签名库现已集成到您的项目中。请按照下一节说明的步骤操作,配置您的数字证书。
Set up your certificates in the Adjust suite
将签名库集成到应用中后,Adjust SDK 向 Adjust 发送的所有请求都会带有签名。Adjust SDK 还会向 Adjust 服务器发送相关信息,包括您的签名证书指纹。
证书指纹是证书中公开信息的加密哈希值,可以用来验证应用的真实性。
签名库无法验证证书指纹的真实性。请在 Adjust suite 中将指纹加入许可名单,这样,Adjust 才会认定包含指纹的请求真实,并接受这些请求。为此,您需要调取证书指纹,将其发送给 Adjust。
From a keystore
如果您使用了自己的密钥库,或 Android Studio 为您生成了密钥库,则可以按下列步骤操作,提取证书指纹。
-
请找到您用于对 应用的发布版本 进行签名的密钥库文件 (
.jks
)。该密钥库必须是用来为发送到 Google Play 商店的发布版本签名的文件。如果您使用了不同的密钥库文件,那么 SDK 请求就会被拒绝。 -
运行以下指令,以列出密钥。请用您的信息替换尖括号中的内容。
该命令会提示您输入密钥库密码。这是您在生成密钥库时定义的密码。
最终输出结果将如下:
-
保存 SHA-1 指纹,添加到 Adjust suite 中的许可名单中。
From Google Play Internal App Sharing
如果您使用的是 Google Play 内部应用分享,则需要将您所在机构的 SHA-1 证书指纹和内部测试证书指纹发送给 Adjust ,以将其加入许可名单。
要提取指纹,请按照下列步骤操作:
- 登录 Google Play Console
- 选择您的应用。
- 进入 版本管理 (Release management) —> 应用发布 (App Releases) -> 管理内部应用分享 (Manage internal app sharing) > 应用证书 (App certificates)
- 保存 内部测试证书 和您所在机构密钥库的 SHA-1 证书指纹 ,将其添加入 Adjust suite 许可名单中。
From Google Play App Signing
如果您使用的是 Google Play 应用签名,则需要将所在机构的 SHA-1 证书指纹和内部测试证书指纹发送给 Adjust ,以将其加入许可名单。
要提取指纹,请按照下列步骤操作:
- 登录 Google Play Console
- 选择您的应用。
- 选择 版本管理 (Release management) > 应用签名 (App Signing) 。
- 保存 应用签名证书 和 上传证书 的 SHA-1 证书指纹, 并将两者都发送给 Adjust。
From Huawei AppGallery App Signing
如果您使用的是 Huawei AppGallery 应用签名,则需要将所在机构的 SHA-1 证书指纹和内部测试证书指纹发送给 Adjust ,以将其加入许可名单。
要提取指纹,请按照下列步骤操作:
- 打开 AppGallery Connect,找到应用签名 (App Signing) 页面,下载应用签名证书 (
certificate.pem
)。
-
证书下载完毕后,请运行下列命令,输出证书的 SHA-1 指纹。
输出结果如下:
-
保存指纹,添加到 Adjust suite 中的许可名单中。
Add your digital certificate fingerprints to Adjust’s allowlist
获得证书指纹后,请按照下列步骤操作,将证书指纹加入许可名单:
- 在 AppView 中选中您的应用,打开应用详情界面。
- 选择 数据保护 标签页。
- 点击 可疑安装 部分的 编辑 按钮。
- 找到 安卓指纹 部分,选择 新指纹 。
- 将复制好的 SHA-1 指纹粘贴入弹出的文本框中。
- 选择 添加 。
一切就绪!您的指纹现已加入应用许可名单。
Test your app
您可以使用 Adjust 测试控制台验证签名库是否已正确集成进应用。
要测试您的签名库集成情况,请按照下列步骤操作。
-
从测试设备中完全删除应用,确保安装信息能被正确发送。
-
使用测试控制台遗忘设备,清除与该设备相关的所有信息。 您还可以发送从 Adjust InSights 应用 (已推出 iOS 和 安卓 版) 中获得的应用识别码和广告 ID,以此使用 forget_device 终端。您可以使用以下任何广告 ID:
adid
、android_id
、gps_adid
、idfa
、idfv
、imei
、oaid
。调用看上去应该是这样的:
-
从测试控制台抹除设备信息后,请在测试设备上安装并打开应用,以将安装信息发送给 Adjust。
-
将测试设备的广告 ID 输入测试控制台,调取安装事件信息。请检查以下内容:
SignatureVerificationResult
字段应当显示以下值Valid Signature
SignatureVersion
字段应当显示以下值3
如果这些字段没有缺失,且包含正确的信息,就说明签名库已经成功集成。如果字段中出现了不同的值,请再次检查集成步骤,或发送邮件到 support@adjust.com 获取支持。
一切就绪!签名库已成功集成到您的应用。等待两个归因窗口结束,即可执行 SDK 签名验证,确保 Adjust 只接受带有签名的请求。
Troubleshooting
Unknown CPU Architecture in AdjustSigSdk.a
在 Unity Editor 2018 和更新版本中,您可能会遇到 ” Unknown CPU Architecture ” 的错误信息。当 Unity Editor 试图针对非 iOS 平台应用 iOS 静态框架 (.a
) 时,就会出现该报错。要解决该问题,请选择 AdjustSigSdk.a
文件,然后找到 Import Settings (导入设置) 菜单,取消勾选 iOS 以外的所有平台。