adjust-icon

Adjust 商店和预安装工具

如果设备上预安装了您的应用,就需要使用预安装链接进行用户归因。您可以通过 Adjust 商店和预安装工具 (adjust-dtt) 将该信息插入 APK。Adjust SDK 会读取 adjust-dtt 插入的信息,从而将预安装应用的用户归因至特定的 Adjust 链接。

操作前须知

首先,请从 GitHub 下载 adjust-dtt 工具。您需要将下载的文件设为可执行文件才能使用。要将文件格式设为可执行,请运行下列命令:

Terminal window
$ chmod +x adjust-dtt

在能够使用 adjust-dtt 之前,您必须完成机器设置。adjust-dtt 要求您在设备上安装下列工具:

  • ruby:用来运行 adjust-dtt 的语言工具。
  • apktool:用来解包和重新打包 APK 的工具。
  • jarsigner:用来进行 APK 签名的工具。

请按照对应说明,安装所有工具。

ruby

apktool

jarsigner

步骤 1. 获取密钥库文件

创建 APK 后,Android Studio 就会为其签名。即便您生成了 “unsigned” (未签名) 版本的 APK 也是如此,这种情况下,Android Studio 会使用默认调试签名密钥库文件为 APK 签名。该密钥库文件默认位于~/.android/debug.keystore

如果从 Android Studio 导出已签名的 APK,您就需要使用自定义签名密钥库文件为 APK 签名。

您需要拥有默认密钥库文件或自定义密钥库文件访问权限,才能使用adjust-dtt,因为使用apktool解包 APK 时,所有签名都会被 apktool 移除。重新打包 APK 并不会重新启用签名。您需要使用签名信息运行jarsigner,才能为 APK 重新签名,然后向 安卓 设备发送。

下一步,请在 Adjust 控制面板中创建链接。该链接识别码将会是预安装应用的默认推广链接。也就是说,所有预先安装应用的用户都会被归因至该识别码。

步骤 3. 创建 config 文件

具备密钥库文件和链接识别码后,就可以创建配置 (config) 文件了。adjust-dtt使用一个adjust-config.yaml配置文件来读取您的设置。该文件中包含需要您设置的不同应用商店选项。

参数数据类型全局设置或按商店设置描述
apk_pathString两者兼需APK 的绝对路径。
keystore_pathString两者兼需密钥库文件的绝对路径。
keystore_passString两者兼需密钥库签名密码。
keystore_aliasString两者兼需密钥库名称。
default_trackerString按商店设置用来归因预安装的 Adjust 链接识别码

下方示例 adjust-config.yaml 文件中包含名为 store_1store_2store_3 的三个商店。

adjust-config.yaml
apk_path: /Users/username/Desktop/apk/example-release.apk
keystore_path: /Users/username/Desktop/apk/mykeystore.jks
keystore_pass: mykeystorepass
keystore_alias: mykeystorealias
stores:
store_1:
default_tracker: abc123
store_2:
default_tracker: abc456
store_3:
default_tracker: abc789

如果您想为所有商店应用同样的设置,请在根文件中定义全局参数。单个商店设置的参数将覆盖该商店的全局参数。例如:

adjust-config.yaml
apk_path: /Users/username/Desktop/apk/example-release.apk
keystore_path: /Users/username/Desktop/apk/mykeystore.jks
keystore_pass: mykeystorepass
keystore_alias: mykeystorealias
stores:
store_1:
default_tracker: abc123
keystore_path: /Users/username/Desktop/apk/differentkeystore.jks
keystore_pass: differentkeystorepass
keystore_alias: differentkeystorealias
store_2:
default_tracker: abc456
store_3:
default_tracker: abc789

在此示例中,adjust-dtt 工具在生成 store_1 的 APK 时,将使用differentkeystore.jksdifferentkeystorepassdifferentkeystorealias。该工具会针对每个商店生成经过调整的 APK。

步骤 4. 运行 adjust-dtt 工具

adjust-dtt工具将adjust-config.yaml文件路径作为一个参数。要向 APK 添加跟踪链接信息,请按照下列方式运行工具:

Terminal window
$ adjust-dtt adjust-config.yaml

adjust-dtt 可实现下列功能:

  1. 将 APK 解包至文件夹。文件夹与 APK 位于同一个目录,名称与 APK 相同。

  2. 查找 assets 文件夹和 adjust_config.properties 文件。adjust_config.properties 中包含默认推广活动信息。

    1. 创建assets文件夹和adjust_config.properties文件(如二者尚未被创建)。工具将您的default_tracker信息写入adjust_config.properties文件。
    2. default_tracker 信息写入 adjust_config.properties 文件(如该文件存在)。如果文件已经包含默认推广活动值,那么工具就会比较两个推广活动值。如果两者不相同,现有的值就会被 adjust-config.yaml 文件中的跟踪链接值覆盖。
  3. 重新打包 APK。

  4. 使用adjust-config.yaml中的信息为 APK 签名。使用keystore_pathkeystore_pass、和keystore_alias参数。

  5. 生成 APK,名称与原 APK 相同,但带有 _[store_name]后缀。在上述示例中,工具生成了 3 个 APK 文件。这些文件将被命名为example-release_store_1.apkexample-release_store_2.apkexample-release_store_3.apk。您可以在文件生成后进行重命名。

如果您在使用该工具时遇到了任何疑问或问题,请联系 support@adjust.com