Adjust 的 SDK 签名库是 Adjust SDK 的一款独立插件,也就是说,您无需变更代码或改变在应用中使用 Adjust SDK 的方式,即可使用 SDK 签名库。安装插件后,Adjust SDK 发出的所有请求都将继续如常运行。
操作前须知
要将签名库集成到您的 Unity 应用,请确保满足下列条件:
- 正在使用的安卓API 为 21 或更高版本 。
- 正在使用的 Adjust SDK 为 5.0.0 或更高版本 。即使是间接使用 Adjust SDK 的情况,此要求也同样适用。
- 如果您使用了 ProGuard,那么签名库和 Adjust SDK 须使用完全相同的 ProGuard 配置。
从 Signature V1 或 V2 库过渡
如果您之前使用的是 Signature v1 或 Signature v2,请先移除旧版本,然后再集成签名库。 为此请进行下列操作:
- 如果您之前已经集成了 Signature V1,请移除项目中所有会调用签名功能的代码。
- 如果您之前已经集成了 Signature V2,请从您的项目中移除 Signature V2 库。
集成签名库
签名库已在GitHub 上发布,并从版本 3.20.1 起传输至 Maven。要向您的项目添加签名库,请将以下行附加到您的应用层级 build.gradle 中 (请更改为最新可用版本):
implementation('com.adjust.sdk:adjust-android:5.x.x') {
exclude group: 'com.adjust.signature', module: 'adjust-android-signature'
implementation 'com.adjust.signature:adjust-android-signature:x.x.x'
3.24.1 及更高版本也在 Maven 上提供 Beta 版发布。要向您的项目添加签名库,请将以下行分别附加到项目层级 settings.gradle 和应用层级的 build.gradle 中 (请更改为最新可用版本):
url "https://central.sonatype.com/repository/maven-snapshots/"
implementation('com.adjust.sdk:adjust-android:5.x.x') {
exclude group: 'com.adjust.signature', module: 'adjust-android-signature'
implementation 'com.adjust.signature:adjust-android-signature:x.x.x-SNAPSHOT'
一切就绪!签名库现已集成到您的项目中。请按照下一节说明的步骤操作,在 Adjust suite 中配置您的数字证书。
- 按照以下步骤操作,确保您已将 Adjust SDK 添加为 Unity 包。如果使用 Unity Package Manager 集成 Adjust SDK,可能会出现问题。
- 创建您的 iOS 项目。
- 通过删除操作或注释的方式,将下列条目从您的
Assets/Adjust/Native/Editor/Dependencies.xml 文件中移除,从而移除 Unity 项目中的 Adjust 依赖
<iospod name="Adjust" version="x.x.x" minTargetSdk="y.y"/>
- Alter the Adjust dependency from your Xcode project, by adjusting to the following line in your
Podfile
pod 'Adjust/AdjustUnsigned', '~> x.x.x'
- 将以下行添加到
Podfile 并填写所需的版本,添加 Signature 依赖。签名库已在 GitHub 上发布,并从版本 3.20.1 起传输至 Cocoapod。
pod 'AdjustSignature', '~> x.x.x'
3.24.1 及更高版本也提供 Beta 版发布要使用 Beta 版本,请使用以下模板
pod 'AdjustSignature', 'x.x.x-beta'
一切就绪!签名库现已集成到您的项目中。
- 按照以下步骤操作,确保您已将 Adjust SDK 添加为 Unity 包。如果使用 Unity Package Manager 集成 Adjust SDK,可能会出现问题。
- 创建您的 iOS 项目。
- 通过删除操作或注释的方式,将下列条目从您的
Assets/Adjust/Native/Editor/Dependencies.xml 文件中移除,从而移除 Unity 项目中的 Adjust 依赖
<iospod name="Adjust" version="x.x.x" minTargetSdk="y.y"/>
- 从 Podfile 中删除下列行,从而移除 Xcode 项目中的 Adjust 依赖。
Podfile
- 将以下行添加到
Podfile 并填写所需的版本,添加 Signature 依赖。签名库已在 GitHub 上发布,并从版本 3.20.1 起传输至 Cocoapod。
pod 'AdjustSignature', '~> x.x.x'
3.24.1 及更高版本也提供 Beta 版发布要使用 Beta 版本,请使用以下模板
pod 'AdjustSignature', 'x.x.x-beta'
- 从 GitHub 下载 Adjust iOS SDK。
- 打开您的 Xcode 项目选择所需目标,然后选择
Frameworks, Libraries, and Embedded Content +—> Add Other…—> Add Files… 并选定已下载的文件,以手动添加已下载的 SDK。
一切就绪!签名库现已集成到您的项目中。
在 Adjust 套件中设置证书
将签名库集成到应用中后,Adjust SDK 向 Adjust 发送的所有请求都会带有签名。Adjust SDK 还会向 Adjust 服务器发送相关信息,包括您的签名证书指纹。
证书指纹是证书中公开信息的加密哈希值,可以用来验证应用的真实性。
签名库无法验证证书指纹的真实性。请在 Adjust suite 中将指纹加入许可名单,这样,Adjust 才会认定包含指纹的请求真实,并接受这些请求。为此,您需要调取证书指纹,将其发送给 Adjust。
请按照下列步骤操作,调取并配置您的证书指纹
- 调取 Android 证书指纹
- 在 Adjust 控制面板中配置证书指纹
测试应用
您可以使用 Adjust 测试控制台验证签名库是否已正确集成进应用。
要测试您的签名库集成情况,请按照下列步骤操作。
-
从测试设备中完全删除应用,确保安装信息能被正确发送。
-
使用测试控制台遗忘设备,清除与该设备相关的所有信息。您还可以发送从 Adjust InSights 应用 (已推出 iOS 和 安卓 版) 中获得的应用识别码和广告 ID,以此使用 forget_device 终端。您可以使用以下任何广告 ID:adid、android_id、gps_adid、idfa、idfv、imei、oaid。
调用看上去应该是这样的:
$ curl -X POST 'https://app.adjust.com/forget_device?app_token={yourAppToken}&id={adid}'
-
从测试控制台抹除设备信息后,请在测试设备上安装并打开应用,以将安装信息发送给 Adjust。
-
将测试设备的广告 ID 输入测试控制台,调取安装事件信息。请检查以下内容:
SignatureVerificationResult 字段应当显示以下值 Valid Signature
SignatureVersion 字段应当显示以下值 3
如果这些字段没有缺失,且包含正确的信息,就说明签名库已经成功集成。如果字段中出现了不同的值,请再次检查集成步骤,或发送邮件到 support@adjust.com 获取支持。
一切就绪!签名库已成功集成到您的应用。等待两个归因窗口结束,即可执行 SDK 签名验证,确保 Adjust 只接受带有签名的请求。
故障排查
Upload symbols failed
在验证或提交使用 Xcode 16 构建的应用时,您可能会遇到与签名库相关的Upload symbols failed警告。此缺失符号的情况是有意的,不会影响功能,因此可以忽略。
Unknown CPU Architecture in AdjustSigSdk.a
在 Unity Editor 2018 和更新版本中,您可能会遇到 ” Unknown CPU Architecture ” 的错误信息。当 Unity Editor 试图针对非 iOS 平台应用 iOS 静态框架 (.a) 时,就会出现该报错。要解决该问题,请选择 AdjustSigSdk.a 文件,然后找到 Import Settings (导入设置) 菜单,取消勾选 iOS 以外的所有平台。

更新签名库
只要 Adjust SDK v5 发生更新,签名库就会同时自动更新。如果需要特定版本的签名库,按照集成流程获取新版本,然后重新运行测试。只要您的证书已配置且未被更改,就无需立即在 Adjust 中对应用逻辑或设置进行任何更改。如果密钥 ID 满足以下条件,请务必将其停用:
- 应用密钥已不再适用于安装报告。
- 您已经在所有应用平台和商店中全面发布了应用的新版本。