Android 앱은 1개 이상의 프로세스고 구성될 수 있습니다. 메인이 아닌 프로세스에서 서비스나 활동을 실행하려면 활동 또는 서비스에 프로세스를 추가해야 합니다. android:process
속성을 AndroidManifest.xml
파일의 activity
또는 service
노드에 추가합니다.
< activity android:name = ".YourActivity" android:process = ":YourProcessName" >
< service android:name = ".YourService" android:process = ":YourProcessName" >
프로세스 이름을 정의하면 활동 또는 서비스가 메인 프로세스가 아닌 프로세스에서 실행됩니다.
기본 설정에 따라 메인 프로세스의 이름은 앱 패키지 이름과 동일합니다. 예를 들어 앱 패키지 이름이 com.example.myapp
인 경우 메인 프로세스의 이름도 com.example.myapp
이 됩니다. 위의 예시는 이름이 com.example.myapp:YourProcessName
인 메인 프로세스 아래의 프로세스에서 실행됩니다.
Adjust SDK는 현재로서 한 앱에서 1개를 초과하는 프로세스 측정은 지원하지 않습니다. 앱이 멀티 프로세스를 사용한다면 메인 프로세스 이름을 AdjustConfig
객체 에서 설정합니다.
val appToken = "{YourAppToken}"
val environment = AdjustConfig.ENVIRONMENT_SANDBOX
val config = AdjustConfig ( this , appToken, environment)
config. setProcessName ( "com.example.myapp" )
String appToken = "{YourAppToken}" ;
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig ( this , appToken, environment);
config. setProcessName ( "com.example.myapp" );
let appToken = "{YourAppToken}" ;
let environment = AdjustConfig.EnvironmentSandbox;
let adjustConfig = new AdjustConfig (appToken, environment);
adjustConfig. setProcessName ( "com.example.myapp" );
Adjust. initSdk (adjustConfig);
메인 프로세스의 이름을 변경하려면 AndroidManifest.xml
파일에서 application
노드의 android:process
속성을 수정합니다.
< application android:name = ".YourApp" android:icon = "@drawable/ic_launcher" android:label = "@string/app_name" android:theme = "@style/AppTheme" android:process = ":YourMainProcessName" >
그런 다음 AdjustConfig
객체에서 프로세스 이름을 설정합니다.
val appToken = "{YourAppToken}"
val environment = AdjustConfig.ENVIRONMENT_SANDBOX
val config = AdjustConfig ( this , appToken, environment)
config. setProcessName ( "com.example.myapp:YourMainProcessName" )
String appToken = "{YourAppToken}" ;
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig ( this , appToken, environment);
config. setProcessName ( "com.example.myapp:YourMainProcessName" );
let appToken = "{YourAppToken}" ;
let environment = AdjustConfig.EnvironmentSandbox;
let adjustConfig = new AdjustConfig (appToken, environment);
adjustConfig. setProcessName ( "com.example.myapp:YourMainProcessName" );
Adjust. initSdk (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)