Adjust 商店和预安装工具
如果设备上预安装了您的应用,就需要使用预安装跟踪链接进行用户归因。您可以通过 Adjust 商店和预安装工具 (adjust-dtt
) 将该信息插入 APK。Adjust SDK 会读取 adjust-dtt
插入的信息,从而将预安装应用的用户归因至特定的 Adjust 跟踪链接。
操作前须知
首先,请从 GitHub 下载 adjust-dtt
工具。您需要将下载的文件设为可执行文件才能使用。要将文件格式设为可执行,请运行下列命令:
chmod +x adjust-dtt
要运行adjust-dtt
,您需要在设备上安装下列工具。
ruby
– 用来运行adjust-dtt
的语言工具。apktool
– 用来解包和重新打包 APK 的工具。jarsigner
– 用来进行 APK 签名的工具。
安装说明
添加工具至 PATH
您的 shell PATH
变量中必须同时有apktool
和jarsigner
,adjust-dtt
才能正常运行。请运行下列命令,了解您的PATH
中是否有 apktool 和 jarsinger:
# Returns the location of apktool
which apktool
# Returns the location of jarsigner
which jarsigner
在安装这些工具时,brew
、apt
、dnf
和pacman
等包管理器会将其添加至您的PATH
。如果您采用了不同的工具安装方法,就需要手动将它们添加至 PATH
。
例如,您可以将apktool
(1) 和jarsigner
(2) 下载至下列位置:
要从您的终端访问这些工具,PATH
中必须包含上述目录。
要向PATH
添加新目录,您需要在 shell 运行命令 (rc
) 文件中编辑PATH
变量。该文件通常位于主目录中,命名约定是.{shell name}rc
。
您可以将新目录添加至rc
文件,这样目录就可添加至PATH
了。请用冒号 (:
) 分隔输入的不同目录。用您选择的编辑器打开对应文件,将下列行添加至末尾:
向文件添加目录后,请保存并关闭文件。下一次打开终端时,来源就会在PATH
上可用。要让来源立即可用,请运行下列命令:
太棒了!一切就绪,可以运行adjust-dtt
工具了。
添加预安装跟踪链接信息
步骤 1. 获取密钥库文件
创建 APK 后,Android Studio 就会为其签名。即便您生成了 "unsigned" (未签名) 版本的 APK 也是如此,这种情况下,Android Studio 会使用默认调试签名密钥库文件为 APK 签名。该密钥库文件默认位于~/.android/debug.keystore
。
如果从 Android Studio 导出已签名的 APK,您就需要使用自定义签名密钥库文件为 APK 签名。
您需要拥有默认密钥库文件或自定义密钥库文件访问权限,才能使用adjust-dtt
,因为使用apktool
解包 APK 时,所有签名都会被 apktool 移除。重新打包 APK 并不会重新启用签名。也就是说,您需要使用签名信息运行jarsigner
,才能为 APK 重新签名。请先重新为应用程序签名,再向安卓设备发送应用程序。
步骤 2. 创建跟踪码
下一步,请在 Adjust 控制面板中创建跟踪码。该跟踪链接将会是您预安装应用的默认跟踪链接。也就是说,所有预先安装应用的用户都会被归因至该跟踪链接。
步骤 3. 创建 config 文件
具备密钥库文件和跟踪码后,就可以创建配置 (config) 文件了。adjust-dtt
使用一个adjust-config.yaml
配置文件来读取您的设置。该文件中包含需要您设置的不同应用商店选项。
您可以在adjust-config.yaml
中设置下列参数:
adjust-config.yaml
文件示例如下,其中包含名为 store_1 、 store_2 和 store_3 三个商店的设置。
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
如果您想为所有商店应用同样的设置,请在根文件中定义全局参数。单个商店设置的参数将覆盖该商店的全局参数。例如:
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.jks
、differentkeystorepass
和differentkeystorealias
。该工具会针对每个商店生成经过调整的 APK。
步骤 4. 运行 adjust-dtt 工具
adjust-dtt
工具将adjust-config.yaml
文件路径作为一个参数。要向 APK 添加跟踪链接信息,请按照下列方式运行工具:
adjust-dtt adjust-config.yaml
adjust-dtt
工具运行时会有下列行为:
将 APK 解包至文件夹。文件夹与 APK 位于同一个目录,名称与 APK 相同。
查找
assets
文件夹和adjust_config.properties
文件。adjust_config.properties
文件包含默认跟踪链接信息。- 创建
assets
文件夹和adjust_config.properties
文件(如二者尚未被创建)。工具将您的default_tracker
信息写入adjust_config.properties
文件。 - 将
default_tracker
信息写入adjust_config.properties
文件(如该文件存在)。如果文件已经包含默认跟踪链接值,工具则会比较两个跟踪链接。如果跟踪链接不相同,现有的值就会被adjust-config.yaml
文件中的跟踪链接值覆盖。
- 创建
重新打包 APK。
使用
adjust-config.yaml
中的信息为 APK 签名。使用keystore_path
、keystore_pass
、和keystore_alias
参数。生成 APK,名称与原 APK 相同,但带有
_[store_name]
后缀。在上述示例中,工具生成了 3 个 APK 文件。这些文件将被命名为example-release_store_1.apk
、example-release_store_2.apk
和example-release_store_3.apk
。您可以在文件生成后进行重命名。
如果您在使用该工具时遇到了任何疑问或问题,请联系 support@adjust.com。