adjust-icon

앱 엔드포인트

/app 엔드포인트를 사용하여 새 앱을 생성하고, 기존 앱을 업데이트하고, 앱 정보를 조회할 수 있습니다. 이는 대규모 앱 관리를 자동화하는 기본 엔드포인트입니다.

템플릿을 통한 앱 생성 또는 업데이트

이 엔드포인트는 템플릿 앱의 설정을 사용하여 새 앱을 생성하거나 기존 앱을 업데이트합니다. 앱 설정 자동화를 위한 주요 엔트리 포인트입니다.

작동 방식

  1. API가 store_idplatform과 일치하는 기존 앱을 찾습니다.
  2. 일치하는 앱이 존재하지 않는 경우 제공된 상세 정보로 새로운 앱이 생성됩니다.
  3. 템플릿 앱에서 설정을 복사하기 위해 백그라운드 작업이 대기열에 추가됩니다.
  4. 응답에는 마이그레이션 진행 상황을 추적하는 ticket_token이 포함됩니다.

다음 조건 중 하나라도 충족되면 백그라운드 작업이 트리거됩니다.

  • 앱이 새로 생성됨
  • channel_setup, override_settings, editors 또는 ios_pv_shared_secrets 필드가 업데이됨
  • force_update 설정: true

API 프로토콜

엔드포인트: https://automate.adjust.com/app-automation/app

호출하여 트래킹할 수 있습니다: POST

요청 본문: 앱 페이로드 생성/업데이트

응답: 앱 마이그레이션 응답

파라미터

파라미터데이터 유형필수설명
store_idStringOiOS 앱 : iTunes Store ID(숫자). Android 앱 : 번들 ID(예: com.example.app).
platformStringO타겟 플랫폼. android, ios 중 하나.
bundle_idStringO앱의 번들 ID(예: com.example.app).
nameStringO앱의 표시 이름.
template_app_tokenString아니요설정을 복사할 앱 토큰. 제공되지 않은 경우 계정에 구성된 토큰을 사용합니다.
sectionsArray[String]아니요마이그레이션할 앱 섹션 목록. 공란일 경우 모든 섹션이 마이그레이션됩니다.
force_updateBoolean아니요앱이 변경되지 않은 경우에도 마이그레이션 작업을 강제 실행하려면 true로 설정합니다. 기본값은 false입니다.
channel_setupObject아니요파트너별 구성. 자세한 내용은 채널 설정을 참조하세요.
override_settingsObject아니요템플릿 앱에서 재정의할 설정. 자세한 내용은 재정의 설정을 참조하세요.
editorsArray[String]아니요앱에 대한 액세스가 필요한 커스텀 사용자의 이메일 주소. 관리자, 편집자, 읽기 전용 역할의 사용자는 자동으로 액세스 권한을 확보합니다.
ios_pv_shared_secretString아니요이 앱에 대한 iOS 결제 검증 공유 시크릿.
verificationBoolean아니요iOS 앱을 인증하려면 true로 설정합니다. 계정의 인증이 활성화된 iOS 앱에만 적용됩니다. 기본값은 false입니다.

섹션

특정 설정만 마이그레이션하려면 sections 파라미터를 사용합니다.

{
"sections": ["partners", "events", "fraud_prevention_settings"]
}

이용 가능한 섹션의 전체 목록은 앱 섹션을 참조하시기 바랍니다.

재정의 설정

앱의 특정 설정을 사용자 지정하려면 템플릿 앱의 값 대신 override_settings를 사용합니다. 재정의 설정은 저장되며 이후 마이그레이션에 자동으로 적용됩니다.

재정의 설정 예시
{
"override_settings": {
"signature": {
"android_signature_hash": [
"AA:BB:CC:DD:EE:FF:00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD"
],
"enforce_signature": true
}
}
}

새 Android 앱 생성

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Android App",
"bundle_id": "com.example.myapp",
"store_id": "com.example.myapp",
"platform": "android"
}'
응답
{
"adjust_app_token": "abc123xyz",
"name": "My Android App",
"bundle_id": "com.example.myapp",
"store_id": "com.example.myapp",
"ticket_token": "e5b07bb3-b5f3-40a8-8a2d-197d30b6beff",
"sk_app_id": null
}

채널 설정을 통해 iOS 앱 생성

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My iOS App",
"bundle_id": "com.example.myiosapp",
"store_id": "123456789",
"platform": "ios",
"channel_setup": {
"facebook": { "app_id": "987654321" },
"google": { "link_id": "google_link_123" }
}
}'
응답
{
"adjust_app_token": "xyz789abc",
"name": "My iOS App",
"bundle_id": "com.example.myiosapp",
"store_id": "123456789",
"ticket_token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"sk_app_id": "86372991152"
}

특정 섹션만 마이그레이션

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My App",
"bundle_id": "com.example.app",
"store_id": "com.example.app",
"platform": "android",
"sections": ["events", "partners", "callbacks"]
}'

기존 앱 강제 업데이트

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My App",
"bundle_id": "com.example.app",
"store_id": "com.example.app",
"platform": "android",
"force_update": true
}'

SDK Signature(SDK 서명) 구성

Android 앱 트래픽을 보호하기 위해 Adjust 서명 라이브러리를 사용하는 경우, App Automation API를 사용하여 서명 검증을 시행하고 앱의 인증서 핑거프린트(android_signature_hash)를 관리할 수 있습니다.

작동 방식

서명 구성은 다음과 같이 템플릿 앱 메서드를 통해 처리됩니다.

  • 템플릿 앱의 모든 활성 인증서 핑거프린트(android_signature_hash)가 타겟 앱으로 복사됩니다.
  • 템플릿 앱의 enforce_signature 설정도 적용됩니다.
  • 어카운트 매니저가 별도의 조치를 취할 필요 없이 즉시 사용 가능합니다.

템플릿 앱에 인증서 핑거프린트를 추가하고 서명 검증을 활성화하는 방법은 SDK 서명 설정 가이드를 참조하시기 바랍니다.

서명 설정 재정의

override_settings 필드를 사용하여 타겟 앱에 대해 android_signature_hash, enforce_signature 또는 두 항목 모두를 재정의할 수 있습니다.

  • Android 서명 해시만 재정의하려면 override_settingsandroid_signature_hash를 지정합니다.
  • 시행 설정만 재정의하려면 override_settingsenforce_signature를 지정합니다.
  • 두 항목을 모두 재정의하려면 override_settings에 두 필드를 모두 포함합니다.

템플릿 앱에서 서명 마이그레이션

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Android App",
"bundle_id": "com.example.myapp",
"store_id": "com.example.myapp",
"platform": "android",
"sections": ["signature"],
"force_update": true
}'

android_signature_hash만 재정의

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Android App",
"bundle_id": "com.example.myapp",
"store_id": "com.example.myapp",
"platform": "android",
"sections": ["signature"],
"override_settings": {
"signature": {
"android_signature_hash": [
"AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AB"
]
}
}
}'

enforce_signature만 재정의

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Android App",
"bundle_id": "com.example.myapp",
"store_id": "com.example.myapp",
"platform": "android",
"sections": ["signature"],
"override_settings": {
"signature": {
"enforce_signature": true
}
},
"force_update": true
}'

android_signature_hash 및 enforce_signature 둘 다 재정의

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Android App",
"bundle_id": "com.example.myapp",
"store_id": "com.example.myapp",
"platform": "android",
"sections": ["signature"],
"override_settings": {
"signature": {
"android_signature_hash": [
"AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AB",
"BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BB:BC"
],
"enforce_signature": true
}
},
"force_update": true
}'

앱 설정 업데이트

기존 앱의 이름, 스토어 ID 또는 번들 ID를 업데이트합니다. 이 엔드포인트는 초기 설정 이후 앱 식별자가 변경된 경우에 유용합니다.

API 프로토콜

엔드포인트: https://automate.adjust.com/app-automation/app/{app_token}

호출하여 트래킹할 수 있습니다: POST

응답: 앱 응답 업데이트

파라미터

파라미터데이터 유형In필수설명
app_tokenStringPathOAdjust 앱 토큰.
nameStringBodyO앱의 새로운 표시 이름.
store_idStringBody아니요새 스토어 ID. iOS : iTunes Store ID. Android : 번들 ID.
bundle_idStringBody아니요새 번들 ID.

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app/abc123xyz' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"name": "My Renamed App",
"store_id": "com.example.newapp"
}'
응답
{
"store_id": "com.example.newapp",
"name": "My Renamed App",
"ticket_token": "f1e2d3c4-b5a6-7890-1234-567890abcdef"
}

스토어 ID로 앱 조회

스토어 ID와 플랫폼을 사용하여 앱의 상세 정보를 조회할 수 있습니다.

API 프로토콜

엔드포인트: https://automate.adjust.com/app-automation/app

호출하여 트래킹할 수 있습니다: GET

응답: 앱 조회 응답

파라미터

파라미터데이터 유형In필수설명
store_idStringQueryOiOS : iTunes Store ID. Android : 번들 ID.
platformStringQueryO타겟 플랫폼. android, ios 중 하나.

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app?store_id=com.example.myapp&platform=android' \
--header 'Authorization: Bearer {your-adjust-api-token}'
응답
{
"name": "My Android App",
"store_id": "com.example.myapp",
"platform": "android",
"adjust_app_token": "abc123xyz",
"additional_info": { "overrides": {} },
"channel_setup": {
"facebook": { "app_id": "123456789" },
"google": { "link_id": "adwords_link_id" }
},
"cross_promo_token": "hgj3li1"
}

토큰으로 앱 조회

Adjust 앱 토큰을 사용하여 앱의 상세 정보를 조회할 수 있습니다.

API 프로토콜

엔드포인트: https://automate.adjust.com/app-automation/app/{app_token}

호출하여 트래킹할 수 있습니다: GET

응답: 앱 조회 응답

파라미터

파라미터데이터 유형In필수설명
app_tokenStringPathOAdjust 앱 토큰.

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/app/abc123xyz' \
--header 'Authorization: Bearer {your-adjust-api-token}'
응답
{
"name": "My Android App",
"store_id": "com.example.myapp",
"platform": "android",
"adjust_app_token": "abc123xyz",
"additional_info": { "overrides": {} },
"channel_setup": {
"facebook": { "app_id": "123456789" }
},
"cross_promo_token": "hgj3li1"
}

모든 앱 나열

계정의 모든 앱 목록을 조회합니다. 생성일을 기준으로 필터링하는 옵션도 있습니다.

API 프로토콜

엔드포인트: https://automate.adjust.com/app-automation/apps/list

호출하여 트래킹할 수 있습니다: GET

응답: 앱 이름 토큰 객체의 배열

파라미터

파라미터데이터 유형In필수설명
start_dateStringQuery아니요이 날짜 또는 그 이후에 생성된 앱을 필터링합니다. ISO 8601 형식(예: 2024-01-01T00:00:00Z).
end_dateStringQuery아니요이 날짜 또는 그 이전에 생성된 앱을 필터링합니다. ISO 8601 형식.

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/apps/list' \
--header 'Authorization: Bearer {your-adjust-api-token}'
응답
[
{
"name": "My Android App",
"token": "abc123xyz"
},
{
"name": "My iOS App",
"token": "xyz789abc"
},
{
"name": "Another App",
"token": "def456uvw"
}
]

기간별로 필터링

요청 - cURL
curl --location 'https://automate.adjust.com/app-automation/apps/list?start_date=2024-01-01T00:00:00Z&end_date=2024-06-30T23:59:59Z' \
--header 'Authorization: Bearer {your-adjust-api-token}'

데이터 모델

앱 페이로드 생성/업데이트

파라미터데이터 유형설명
store_id*StringiOS 앱 : iTunes Store ID. Android 앱 : 번들 ID.
platform*String타겟 플랫폼. android, ios 중 하나.
bundle_id*String앱의 번들 ID.
name*String앱의 표시 이름.
template_app_tokenString설정을 복사할 앱 토큰. 제공되지 않은 경우 구성된 기본값을 사용합니다.
sectionsArray[String]마이그레이션할 앱 섹션. 제공되지 않은 경우 모든 섹션을 마이그레이션합니다.
force_updateBoolean앱이 변경되지 않은 경우에도 마이그레이션을 강제로 실행합니다. 기본값은 false입니다.
channel_setupObject파트너별 구성. 채널 설정을 참조하세요.
override_settingsObject템플릿 앱에서 재정의할 설정.
editorsArray[String]앱에 대한 액세스가 필요한 사용자의 이메일 주소.
ios_pv_shared_secretStringiOS 결제 검증 공유 시크릿.
verificationBooleaniOS 앱 인증 여부. 기본값은 false입니다.

앱 마이그레이션 응답

파라미터데이터 유형설명
adjust_app_token*String생성/업데이트된 앱에 대한 Adjust 앱 토큰.
name*String앱의 표시 이름.
bundle_id*String앱의 번들 ID.
store_id*String앱의 스토어 ID.
ticket_token*String마이그레이션 작업 상태를 추적하기 위한 UUID. 상태 엔드포인트와 함께 사용합니다.
sk_app_idString인증된 iOS 앱에 대한 StoreKit 앱 ID. 해당되지 않는 경우 null.

앱 조회 응답

파라미터데이터 유형설명
name*String앱의 표시 이름.
store_id*String앱의 스토어 ID.
platform*String타겟 플랫폼: android 또는 ios.
adjust_app_token*StringAdjust 앱 토큰.
additional_info*Object재정의 설정을 포함한 추가 앱 정보.
channel_setupObject파트너별 구성.
cross_promo_tokenString크로스 프로모션 링크 토큰.

앱 업데이트 응답

파라미터데이터 유형설명
store_id*String업데이트된 스토어 ID.
name*String업데이트된 표시 이름.
ticket_token*String업데이트 작업 상태를 추적하기 위한 UUID.

앱 이름 토큰

파라미터데이터 유형설명
name*String앱의 표시 이름.
token*StringAdjust 앱 토큰