adjust-icon

SDK 签名库集成

Adjust 的 SDK 签名库是 Adjust SDK 的一款独立插件,也就是说,您无需变更代码或改变在应用中使用 Adjust SDK 的方式,即可使用 SDK 签名库。安装插件后,Adjust SDK 发出的所有请求都将继续如常运行。

操作前须知

要将签名库集成到您的 Unity 应用,请确保满足下列条件:

  • 正在使用的 Android API 为 21 或更高版本
  • 正在使用的 Adjust SDK 为 4.37.2 或更高版本
  • 如果您使用了 ProGuard,那么签名库和 Adjust SDK 须使用完全相同的 ProGuard 配置。

如何从 Signature V1 或 V2 库过渡

如果您之前使用的是 Signature v1 或 Signature v2,请先移除旧版本,然后再集成签名库库。 为此请进行下列操作:

  • 如果您之前已经集成了 Signature V1,请移除项目中所有会调用签名功能的代码。
  • 如果您之前已经集成了 Signature V2,请从您的项目中移除 Signature V2 库。

集成步骤

请按照下列步骤操作,将签名库集成入您的 Unity 项目中。

  1. 从 GitHub 调取签名库内容。
  2. 将安卓归档 (.aar) 文件放在 Unity 项目的 Assets/Adjust/Android 目录中。
  3. 将 iOS 静态框架 (.a) 放入 Unity 项目的 Assets/Adjust/iOS 目录中。

一切就绪!签名库现已集成到您的项目中。请按照下一节说明的步骤操作,配置您的数字证书。

在 Adjust suite 中设置证书

将签名库集成到应用中后,Adjust SDK 向 Adjust 发送的所有请求都会带有签名。Adjust SDK 还会向 Adjust 服务器发送相关信息,包括您的签名证书指纹。

证书指纹是证书中公开信息的加密哈希值,可以用来验证应用的真实性。

签名库无法验证证书指纹的真实性。请在 Adjust suite 中将指纹加入许可名单,这样,Adjust 才会认定包含指纹的请求真实,并接受这些请求。为此,您需要调取证书指纹,将其发送给 Adjust。

从密钥库获取证书指纹

如果您使用了自己的密钥库,或 Android Studio 为您生成了密钥库,则可以按下列步骤操作,提取证书指纹。

  1. 请找到您用于对 应用的发布版本 进行签名的密钥库文件 (.jks)。该密钥库必须是用来为发送到 Google Play 商店的发布版本签名的文件。如果您使用了不同的密钥库文件,那么 SDK 请求就会被拒绝。

  2. 运行以下指令,以列出密钥。请用您的信息替换尖括号中的内容。

    Terminal window
    $ keytool -list -v -keystore <path/to/keystore.jks> -alias <your_key_alias>

    该命令会提示您输入密钥库密码。这是您在生成密钥库时定义的密码。

    最终输出结果将如下:

    Alias name: Key0
    Creation date: May 15, 2018
    Entry type: PrivateKeyEntry
    Certificate chain length: 1
    Certificate[1]:
    Owner: CN=[Adjust, GmbH.]
    Issuer: CN=[Adjust, GmbH.]
    Serial number: 642f1b62
    Valid from: Tue May 15 09:46:06 CEST 2018 until: Sat May 09
    09:46:06 CEST 2043
    Certificate fingerprints:
    MD5: E7:88:9F:8C:9D:F4:14:C1:CF:E8:4C:97:F3:F2:3A:E3
    SHA1:
    C4:BD:07:91:BC:09:F8:B6:15:CD:BC:A3:3F:BC:68:8B:C2:EF:4F:F5
    SHA256:
    55:FB:97:0F:46:0F:94:EC:07:EA:01:69:50:5A:20:3F:A0:91:60:A4:F
    1:33:58:EA:76:DC:54:9E:A7:6A:B9:1A
    Signature algorithm name: SHA256withRSA
    Subject Public Key Algorithm: 2048-bit RSA key
    Version: 3
  3. 保存 SHA-1 指纹,添加到 Adjust suite 中的许可名单中

从 Google 内部应用分享获取证书指纹

如果您使用的是 Google Play 内部应用分享,则需要将您所在机构的 SHA-1 证书指纹和内部测试证书指纹发送给 Adjust ,以将其加入许可名单。

要提取指纹,请按照下列步骤操作:

  1. 登录 Google Play Console
  2. 选择您的应用。
  3. 进入 版本管理 (Release management) —> 应用发布 (App Releases) -> 管理内部应用分享 (Manage internal app sharing) > 应用证书 (App certificates)
  4. 保存 内部测试证书 和您所在机构密钥库的 SHA-1 证书指纹将其添加入 Adjust suite 许可名单中

A screenshot of the certficate page in Google Play Console

从 Google Play 应用签名获取证书指纹

如果您使用的是 Google Play 应用签名,则需要将所在机构的 SHA-1 证书指纹和内部测试证书指纹发送给 Adjust ,以将其加入许可名单。

要提取指纹,请按照下列步骤操作:

  1. 登录 Google Play Console
  2. 选择您的应用。
  3. 选择 版本管理 (Release management) > 应用签名 (App Signing)
  4. 保存 应用签名证书上传证书SHA-1 证书指纹, 并将两者都发送给 Adjust。

A screenshot of the App signing page in the Google Play Console

从 Huawei AppGallery 应用签名获取证书指纹

如果您使用的是 Huawei AppGallery 应用签名,则需要将所在机构的 SHA-1 证书指纹和内部测试证书指纹发送给 Adjust ,以将其加入许可名单。

要提取指纹,请按照下列步骤操作:

  1. 打开 AppGallery Connect,找到应用签名 (App Signing) 页面,下载应用签名证书 (certificate.pem)。

A screenshot of the App Signing page in AppGallery Connect

  1. 证书下载完毕后,请运行下列命令,输出证书的 SHA-1 指纹。

    Terminal window
    $ openssl x509 -fingerprint -in certificate.pem -noout -SHA1

    输出结果如下:

    SHA1 Fingerprint=C4:BD:07:91:BC:09:F8:B6:15:CD:BC:A3:3F:BC:68:8B:C2:EF:4F:F5
  2. 保存指纹,添加到 Adjust suite 中的许可名单中

将您的数字证书指纹加入 Adjust 许可名单

获得证书指纹后,请按照下列步骤操作,将证书指纹加入许可名单:

  1. 在 AppView 中选中您的应用,打开应用详情界面。
  2. 选择 数据保护 标签页。
  3. 点击 可疑安装 部分的 编辑 按钮。
  4. 找到 安卓指纹 部分,选择 新指纹
  5. 将复制好的 SHA-1 指纹粘贴入弹出的文本框中。
  6. 选择 添加

一切就绪!您的指纹现已加入应用许可名单。

进行应用测试

您可以使用 Adjust 测试控制台验证签名库是否已正确集成进应用。

要测试您的签名库集成情况,请按照下列步骤操作。

  1. 从测试设备中完全删除应用,确保安装信息能被正确发送。

  2. 使用测试控制台遗忘设备,清除与该设备相关的所有信息。 您还可以发送从 Adjust InSights 应用 (已推出 iOS安卓 版) 中获得的应用识别码和广告 ID,以此使用 forget_device 终端。您可以使用以下任何广告 ID:adidandroid_idgps_adididfaidfvimeioaid

    调用看上去应该是这样的:

    Terminal window
    $ curl -X POST 'https://app.adjust.com/forget_device?app_token={yourAppToken}&id={adid}'
  3. 从测试控制台抹除设备信息后,请在测试设备上安装并打开应用,以将安装信息发送给 Adjust。

  4. 将测试设备的广告 ID 输入测试控制台,调取安装事件信息。请检查以下内容:

    1. SignatureVerificationResult 字段应当显示以下值 Valid Signature
    2. SignatureVersion 字段应当显示以下值 3

如果这些字段没有缺失,且包含正确的信息,就说明签名库已经成功集成。如果字段中出现了不同的值,请再次检查集成步骤,或发送邮件到 support@adjust.com 获取支持。

一切就绪!签名库已成功集成到您的应用。等待两个归因窗口结束,即可执行 SDK 签名验证,确保 Adjust 只接受带有签名的请求。

故障排除

Unknown CPU Architecture in AdjustSigSdk.a

在 Unity Editor 2018 和更新版本中,您可能会遇到 ” Unknown CPU Architecture ” 的错误信息。当 Unity Editor 试图针对非 iOS 平台应用 iOS 静态框架 (.a) 时,就会出现该报错。要解决该问题,请选择 AdjustSigSdk.a 文件,然后找到 Import Settings (导入设置) 菜单,取消勾选 iOS 以外的所有平台。

A screenshot of the AdjustSdk Import Settings in Unity Editor