Adjustストアとプリインストールツール

デバイス出荷時にアプリがプリインストールされている場合は、プリインストールトラッカーを使用することで、そのユーザーを計測することができます。Adjustストア・プリインストールツール(adjust-dtt)は、このアトリビューション情報をAPKに挿入することができます。Adjust SDKがadjust-dttを介して挿入される情報を読み取ることで、アプリはプリインストールしているユーザーを特定のAdjustトラッカーにアトリビュートします。

事前準備

注意:
このツールは、APKに対応している全ての開発フレームワークで使用可能です。

GitHubから adjust-dtt ツールをダウンロードしてください。ツールを使用するには、次のコマンドを実行して、ファイルを実行可能にしてください。

chmod +x adjust-dtt

adjust-dttを実行するには、以下がインストールされている必要があります。

  1. rubyadjust-dttの実行に使用される言語ツール。
  2. apktool – APKを解凍および再圧縮するためのツール。
  3. jarsigner – APKに署名するためのツール。

インストールの手順

Ruby

Apktool

Jarsigner

PATHにツールを追加する

adjust-dtt が機能するには、 apktooljarsigner の両方がシェルの PATH 変数に存在する必要があります。次のコマンドを実行して、それらが PATHで利用可能かどうかを確認します。

# Returns the location of apktool
which apktool

# Returns the location of jarsigner
which jarsigner

これらのツールをインストールすると、 brewaptdnfpacman などのパッケージマネージャーがこれらのツールを PATH に追加します。これらのツールを別の方法でインストールした場合は、手動で PATH に追加する必要があります。

例:apktool (1) と jarsigner (2) を以下の場所にダウンロードできます。

macOS
Linux
  1. /User/username/apktool/
  2. /Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/bin/

ターミナルからツールにアクセスするには、これらのディレクトリが PATHに存在する必要があります。

ヒント:
ほとんどのLinuxディストリビューションでは、デフォルトシェルがBashが採用されています。macOSのデフォルトシェルはZshです。

PATHに新しいディレクトリを追加するには、シェル実行コマンド (rc) ファイルの PATH 変数を編集する必要があります。このファイルは通常、ホームディレクトリにあります。次の命名規則を使用します:.{shell name}rc

PATH に新しいディレクトリを追加するには、それらを rc ファイルに追加することができます。各ディレクトリエントリーはコロン (:) で区切ってください。任意のエディターで関連ファイルを開き、ファイルの最後に以下を追加します。

macOS
Linux
export PATH="/User/username/apktool/:/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/bin/:$PATH"

ファイルにディレクトリを追加したら、ファイルを保存して閉じます。次回ターミナルを開いた時に、 PATH でソースが利用可能になります。すぐに利用できるようにするには、次のコマンドを実行します。

macOS
Linux
source ~/.zshrc

これで adjust-dttツールの実行に必要な全ての準備ができました。

プリインストールトラッカー情報を追加する

ステップ1:keystoreファイルの取得

APKを作成すると、Android Studioがそれに署名します。これは、「未署名」バージョンのAPKを作成した場合でも同様です。この時、Android Studioはデフォルトのデバッグ署名keystoreファイルを使用してAPKに署名します。このkeystoreファイルはデフォルトで~/.android/debug.keystoreにあります。

Android Studioから署名済みAPKをエクスポートする場合、カスタム署名keystoreファイルを使用してAPKに署名します。

adjust-dtt を使用するには、デフォルトのキーストアファイルまたはカスタムキーストアファイルのいずれかにアクセスできる必要があります。これは、 apktool を使用してAPKを解凍すると、全ての署名が削除されるためです。APKを再パッケージ化しても、署名は再度有効になりません。つまり、APKに再署名するには、署名情報を使用して jarsigner を実行する必要があります。アプリをAndroidデバイスに配信するには、アプリに再署名しなければなりません。

ステップ2:トラッカートークンの作成

次に、Adjust管理画面でトラッカートークンを作成します。このトラッカーを、プリインストールされたアプリのデフォルトのトラッカーとして使用します。つまり、アプリをプリインストールしている全てのユーザーがこのトラッカーにアトリビュートされることになります。

ステップ3:configファイルの作成

キーストアファイルとトラッカートークンを取得したら、設定ファイルを作成できます。adjust-dttadjust-config.yaml構成ファイルを使用して設定を読み取ります。このファイルには、設定が必要な各種アプリストアの設定が含まれています。

adjust-config.yamlでは以下のパラメーターを設定できます。

パラメーター

以下は、adjust-config.yamlファイルの例です。この例には、 store_1​ 、 store_2​ 、 store_3​ という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

この例では、 store_1​ のAPKを生成する際に adjust-dtt ツールは differentkeystore.jksdifferentkeystorepass および differentkeystorealias を使用します。これにより、各ストアごとに変更されたAPKを生成します。

ステップ4:adjust-dttツールの実行

adjust-dtt ツールは、 adjust-config.yaml ファイルへのパスを引数として受け取ります。APKにトラッカー情報を追加するには、次のようなツールを実行してください。

adjust-dtt adjust-config.yaml

adjust-dtt ツールを実行すると、以下のことが行われます。

  1. APKをフォルダに解凍します。フォルダはAPKと同じ場所にあり、APKと同じ名前になります。

  2. assets フォルダーと adjust_config.properties ファイルを検索します。adjust_config.properties ファイルにはデフォルトのトラッカー情報が含まれています。

    • assets フォルダーと adjust_config.properties ファイルが存在しない場合は作成します。default_tracker の情報が adjust_config.properties ファイルに書き込まれます。
    • adjust_config.properties ファイルが存在する場合、 default_tracker の情報を書き込みます。ファイルにすでにデフォルトのトラッカー値が含まれている場合は、その2つを比較します。これらが異なる場合、 adjust-config.yaml ファイルの値で既存の値が上書きされます。
  3. APKを再圧縮します。

  4. adjust-config.yamlで指定された情報を使用してAPKに署名します。keystore_pathkeystore_pass 、および keystore_alias パラメーターを使用しています。

  5. 元のAPKと同じ名前に _[store_name] のsuffixが付いたAPKを生成します。上記の例では、ツールは3つのAPKファイルを生成されています。これらは example-release_store_1.apkexample-release_store_2.apk 、および example-release_store_3.apkと命名されます。ツールでこれらのファイルが生成されたら、名前を変更できます。

このツールに関してご不明な点や問題がございましたら、support@adjust.comまでお問い合わせください。