/app 엔드포인트를 사용하여 새 앱을 생성하고, 기존 앱을 업데이트하고, 앱 정보를 조회할 수 있습니다. 이는 대규모 앱 관리를 자동화하는 기본 엔드포인트입니다.
템플릿을 통한 앱 생성 또는 업데이트
이 엔드포인트는 템플릿 앱의 설정을 사용하여 새 앱을 생성하거나 기존 앱을 업데이트합니다. 앱 설정 자동화를 위한 주요 엔트리 포인트입니다.
작동 방식
- API가
store_id및platform과 일치하는 기존 앱을 찾습니다. - 일치하는 앱이 존재하지 않는 경우 제공된 상세 정보로 새로운 앱이 생성됩니다.
- 템플릿 앱에서 설정을 복사하기 위해 백그라운드 작업이 대기열에 추가됩니다.
- 응답에는 마이그레이션 진행 상황을 추적하는
ticket_token이 포함됩니다.
다음 조건 중 하나라도 충족되면 백그라운드 작업이 트리거됩니다.
- 앱이 새로 생성됨
channel_setup,override_settings,editors또는ios_pv_shared_secrets필드가 업데이됨force_update설정:true
API 프로토콜
엔드포인트: https://automate.adjust.com/app-automation/app
호출하여 트래킹할 수 있습니다: POST
요청 본문: 앱 페이로드 생성/업데이트
응답: 앱 마이그레이션 응답
파라미터
| 파라미터 | 데이터 유형 | 필수 | 설명 |
|---|---|---|---|
store_id | String | O | iOS 앱 : iTunes Store ID(숫자). Android 앱 : 번들 ID(예: com.example.app). |
platform | String | O | 타겟 플랫폼. android, ios 중 하나. |
bundle_id | String | O | 앱의 번들 ID(예: com.example.app). |
name | String | O | 앱의 표시 이름. |
template_app_token | String | 아니요 | 설정을 복사할 앱 토큰. 제공되지 않은 경우 계정에 구성된 토큰을 사용합니다. |
sections | Array[String] | 아니요 | 마이그레이션할 앱 섹션 목록. 공란일 경우 모든 섹션이 마이그레이션됩니다. |
force_update | Boolean | 아니요 | 앱이 변경되지 않은 경우에도 마이그레이션 작업을 강제 실행하려면 true로 설정합니다. 기본값은 false입니다. |
channel_setup | Object | 아니요 | 파트너별 구성. 자세한 내용은 채널 설정을 참조하세요. |
override_settings | Object | 아니요 | 템플릿 앱에서 재정의할 설정. 자세한 내용은 재정의 설정을 참조하세요. |
editors | Array[String] | 아니요 | 앱에 대한 액세스가 필요한 커스텀 사용자의 이메일 주소. 관리자, 편집자, 읽기 전용 역할의 사용자는 자동으로 액세스 권한을 확보합니다. |
ios_pv_shared_secret | String | 아니요 | 이 앱에 대한 iOS 결제 검증 공유 시크릿. |
verification | Boolean | 아니요 | 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 --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 --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 --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 --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_settings에android_signature_hash를 지정합니다. - 시행 설정만 재정의하려면
override_settings에enforce_signature를 지정합니다. - 두 항목을 모두 재정의하려면
override_settings에 두 필드를 모두 포함합니다.
예
템플릿 앱에서 서명 마이그레이션
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 --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 --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 --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_token | String | Path | O | Adjust 앱 토큰. |
name | String | Body | O | 앱의 새로운 표시 이름. |
store_id | String | Body | 아니요 | 새 스토어 ID. iOS : iTunes Store ID. Android : 번들 ID. |
bundle_id | String | Body | 아니요 | 새 번들 ID. |
예
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_id | String | Query | O | iOS : iTunes Store ID. Android : 번들 ID. |
platform | String | Query | O | 타겟 플랫폼. android, ios 중 하나. |
예
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_token | String | Path | O | Adjust 앱 토큰. |
예
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_date | String | Query | 아니요 | 이 날짜 또는 그 이후에 생성된 앱을 필터링합니다. ISO 8601 형식(예: 2024-01-01T00:00:00Z). |
end_date | String | Query | 아니요 | 이 날짜 또는 그 이전에 생성된 앱을 필터링합니다. ISO 8601 형식. |
예
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 --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* | String | iOS 앱 : iTunes Store ID. Android 앱 : 번들 ID. |
platform* | String | 타겟 플랫폼. android, ios 중 하나. |
bundle_id* | String | 앱의 번들 ID. |
name* | String | 앱의 표시 이름. |
template_app_token | String | 설정을 복사할 앱 토큰. 제공되지 않은 경우 구성된 기본값을 사용합니다. |
sections | Array[String] | 마이그레이션할 앱 섹션. 제공되지 않은 경우 모든 섹션을 마이그레이션합니다. |
force_update | Boolean | 앱이 변경되지 않은 경우에도 마이그레이션을 강제로 실행합니다. 기본값은 false입니다. |
channel_setup | Object | 파트너별 구성. 채널 설정을 참조하세요. |
override_settings | Object | 템플릿 앱에서 재정의할 설정. |
editors | Array[String] | 앱에 대한 액세스가 필요한 사용자의 이메일 주소. |
ios_pv_shared_secret | String | iOS 결제 검증 공유 시크릿. |
verification | Boolean | iOS 앱 인증 여부. 기본값은 false입니다. |
앱 마이그레이션 응답
| 파라미터 | 데이터 유형 | 설명 |
|---|---|---|
adjust_app_token* | String | 생성/업데이트된 앱에 대한 Adjust 앱 토큰. |
name* | String | 앱의 표시 이름. |
bundle_id* | String | 앱의 번들 ID. |
store_id* | String | 앱의 스토어 ID. |
ticket_token* | String | 마이그레이션 작업 상태를 추적하기 위한 UUID. 상태 엔드포인트와 함께 사용합니다. |
sk_app_id | String | 인증된 iOS 앱에 대한 StoreKit 앱 ID. 해당되지 않는 경우 null. |
앱 조회 응답
| 파라미터 | 데이터 유형 | 설명 |
|---|---|---|
name* | String | 앱의 표시 이름. |
store_id* | String | 앱의 스토어 ID. |
platform* | String | 타겟 플랫폼: android 또는 ios. |
adjust_app_token* | String | Adjust 앱 토큰. |
additional_info* | Object | 재정의 설정을 포함한 추가 앱 정보. |
channel_setup | Object | 파트너별 구성. |
cross_promo_token | String | 크로스 프로모션 링크 토큰. |
앱 업데이트 응답
| 파라미터 | 데이터 유형 | 설명 |
|---|---|---|
store_id* | String | 업데이트된 스토어 ID. |
name* | String | 업데이트된 표시 이름. |
ticket_token* | String | 업데이트 작업 상태를 추적하기 위한 UUID. |
앱 이름 토큰
| 파라미터 | 데이터 유형 | 설명 |
|---|---|---|
name* | String | 앱의 표시 이름. |
token* | String | Adjust 앱 토큰 |