adjust-icon

マルチプロセスアプリ

Androidアプリは、1つ以上のプロセスで構成できます。メインのプロセス以外のプロセスでサービスやアクティビティを実行するには、アクティビティやサービスにプロセス名を追加する必要があります。これを行うには、AndroidManifest.xmlactivityまたはserviceノードにandroid:processプロパティを追加します。

AndroidManifest.xml
<activity android:name=".YourActivity" android:process=":YourProcessName">
</activity>
AndroidManifest.xml
<service android:name=".YourService" android:process=":YourProcessName">
</service>

プロセス名を定義すると、アクティビティやサービスはメインプロセス以外のプロセスで実行されます。

デフォルトでは、メインプロセス名はアプリのパッケージ名と同じです。例えば、アプリのパッケージ名がcom.example.myappの場合、メインプロセスの名前もcom.example.myappになります。上記の例は、com.example.myapp:YourProcessNameという名前のメインプロセス下のプロセスで実行されています。

現在Adjust SDKは、1つのアプリで複数のプロセスの計測をサポートしていません。アプリがマルチプロセスを使用している場合、AdjustConfigオブジェクトでメインのプロセス名を設定してください。

メインのプロセス名を変更するには、AndroidManifest.xmlファイル内のapplicationノードのandroid:processプロパティを変更してください。

AndroidManifest.xml
<application android:name=".YourApp" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:process=":YourMainProcessName">
</application>

次に、AdjustConfigオブジェクトでプロセス名を設定します。

これにより、Adjust SDKにメインプロセス名が通知されます。SDKは メイン プロセスのみを初期化します。別のプロセスでSDKを使用しようとすると、出力ログに次のように表示されます:

05-06 17:15:06.885 8743-8743/com.example.myapp:YourProcessName I/Adjust﹕ Skipping initialization in background process (com.example.myapp:YourProcessName)