# AppLovin User Revenue API
::: Tip
주의. 플랫폼 데이터 통합을 통해 생성된 데이터는 클러스터의 데이터 소비량으로 계산됨을 유의하십시오.
:::
# 개요
API 이름 | 통합 유형 | 데이터 세분성 | 어트리뷰션 | 비용 | 수익 | 노출 | 클릭 | 전환 |
---|---|---|---|---|---|---|---|---|
User Revenue API | API | 유저 | ✅ | ✅ |
AppLovin은 SDK와 콜백 링크에 더해, User Revenue API (opens new window)라는 데이터 수집 인터페이스도 제공하고 있으며, 사용자 레벨 또는 인프레션 레벨의 광고 수입 데이터를 획득할 수 있습니다.
# 통합 절차
- AppLovin SDK와 TE SDK를 연동하여, TE의 유저 식별 ID를 AppLovin SDK에서 설정합니다.
- AppLovin의 백엔드에 로그인하여, User Revenue API에 필요한 인증 정보를 획득합니다.
- TE의 백엔드에 로그인하여, 서드파티 통합 페이지에서 AppLovin User Revenue API 플랜을 추가하고 관련 설정을 완료합니다.
- TE 시스템이 데이터를 정상적으로 수신한 후, 리포트 구축이 완료되었는지 확인합니다.
# 클라이언트 SDK 설치
AppLovin 데이터를 통합하는 첫 번째 단계는 클라이언트 측에서 TE SDK와 AppLovin SDK를 연동하는 것입니다.
# 1.1 방법① (자동 통합)
- TE의 SDK 버전이 2.8.0~2.8.1인 경우, 이 방법을 직접 사용할 수 있습니다.
- TE의 SDK 버전이 2.8.2 이상인 경우, 서드파티 데이터 플러그인을 설치해야 합니다. 자세한 내용은 Android SDK와 iOS SDK를 참조해주세요.
// TE SDK 초기화
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID, TA_SERVER_URL);
// AppLovinSdk id 연동 활성화
instance.enableThirdPartySharing(TDThirdPartyShareType.TD_APPLOVIN_IMPRESSION);
// AppLovinSdk SDK 초기화
이 솔루션의 원리는 내부적으로 AppLovinSdk SDK의 setUserIdentifier()
메소드를 자동으로 호출하여, TE 프로젝트의 게스트 ID를 전달하는 것입니다.
# 1.2 방법② (수동 통합)
API에서 가져온 데이터를 TE 프로젝트의 데이터와 연결하기 위해, AppLovin SDK에서 TE 시스템의 게스트 ID를 AppLovin의 커스텀 유저 식별자로 전달해야 합니다. 아래는 Android 및 iOS(Swift)용 코드 예시입니다:
- Android
// TE의 게스트 ID를 가져옵니다, TE에서는 #distinct_id에 해당합니다
String ta_distinct_id = ThinkingAnalyticsAPI.GetDistinctId();
AppLovinSdk.getInstance(context).setUserIdentifier(ta_distinct_id);
- iOS
ALSdk.shared()!.userIdentifier = ThinkingAnalyticsAPI.GetDistinctId()
# 리포트 키 획득
다음으로, AppLovin의 백엔드에 로그인하고, 'Account' - 'Key'에서 Report Key를 획득해주세요. 이 키는 잘 보관해주세요.
# TE의 서드파티 통합 설정
SDK 설정을 완료하고 Report Key를 획득한 후, TE 시스템에 로그인하여, '서드파티 통합' 모듈에서 새로운 솔루션의 구성을 완료할 수 있습니다. 아래는 AppLovin User Revenue API의 구성 화면입니다. 이 섹션의 내용을 따라 솔루션을 생성해주세요.
# 3.1 인증 정보 설정
[인증 정보] 버튼을 클릭하고, 팝업 내에서 획득한 인증 정보를 입력해주세요.
- APP ID: iOS 플랫폼의 Tunes ID의 숫자 부분, 또는 Android 플랫폼의 앱 패키지 이름
- Platform: 게임이 존재하는 플랫폼 android 또는 ios
- API Key: 방금 획득한 Report Key
# 3.2 동기화
[동기화] 모듈에서, TE 시스템이 AppLovin 유저 수익 API 데이터를 정기적으로 수집하도록 설정할 수 있습니다. 특정 시간대에 매일 일정 기간 데이터를 수집할 수 있습니다. 수집된 데이터도 데이터 양에 포함되므로, 긴 시간의 데이터를 정기적으로 수집하지 않는 것이 좋습니다.
# 3.3 유저 식별 필드
AppLovin User Revenue API는 유저 레벨의 데이터이므로, 그에 대한 유저 식별 규칙을 설정해야 합니다. 즉, AppLovin User Revenue API 데이터 내의 #distinct_id 및 #account_id에 해당하는 필드입니다. TE 시스템은 이 구성에 기반하여, 콜백 데이터를 변환할 때 이러한 필드를 데이터 내의 유저 식별 필드로 설정합니다.
이전 단계를 따라 클라이언트 SDK를 구성한 경우, 다음 구성을 사용해주세요:
- 계정 ID 관련 필드: 없음
- 게스트 ID 관련 필드: user_id
# 3.4 이벤트 테이블 저장 설정
[이벤트 테이블로]을 활성화하면, 전송된 데이터는 모두 이벤트 테이블에 기록됩니다. 이벤트 데이터의 저장을 권장합니다.
# 3.5 유저 속성 저장
기본적으로, TE 시스템은 AppLovin User Revenue API 데이터를 유저 프로퍼티에 기록하지 않습니다. 특정 필드를 유저 테이블에 기록하려면, 먼저 규칙을 활성화하고 실행한 후, 그 다음에 프로퍼티 매핑 기능을 사용하여 필요한 필드를 추가해야 합니다. 소스 속성 이름에는 필드의 저장 이름을 기입해 주세요:
# 3.6 통합 구성
데이터 수집의 상세 설정을 통합 구성 모듈로 제어할 수 있습니다. 예를 들어, 이벤트 이름 등의 저장 후 이벤트를 지정할 수 있습니다.
통합 구성은 JSON이며, 필요에 따라 그 내용을 조정할 수 있습니다.
모듈 | 이름 | 의미 |
---|---|---|
sink_event | event_name | 저장 후 이벤트 이름은 커스텀할 수 있습니다. |
# 3.7 데이터 저장 규칙
- 데이터 내의 user_id를 데이터 내의 유저 ID로 사용합니다. 이 필드는 TE 프로젝트 내의 유저 ID와 대응해야 합니다.
- 데이터 내의 date 필드를 사용합니다. 이는 광고의 노출 시간이며, 이벤트의 #event_time입니다.
- 데이터 이벤트 이름은 -- applovin_ad_revenue_impression_level입니다.
- 다른 모든 필드는 저장됩니다. 아래는 모든 콜백 데이터의 필드의 의미입니다.
필드 | 저장 이름 | 설명 | 예시 |
---|---|---|---|
Ad Format | ad_format | 광고 유형 | INTER , BANNER , REWARD |
Ad Placement | ad_placement | SDK 내의 커스텀된 Placement 이름 | Launch%20Screen |
Ad Unit ID | ad_unit_id | MAX 광고 ID | 9ad0816ac071552a |
Ad Unit Name | ad_unit_name | MAX 광고 명칭 | Control |
Country | country | 국가 코드 | gb |
Custom Data | custom_data | SDK에서 설정된 커스텀 데이터 | gb |
Date | date | 광고 노출 시간 | 2019-07-29 15:53:07.39 |
Device Type | device_type | 디바이스 타입 | PHONE , TABLET |
IDFA | idfa | iOS IDFA 또는 Android의 Google 광고 ID | 860635ea-65bc-eaed-d355-1b5283b30b94 |
IDFV | idfv | IDFV | 4CD1C3C4-3FD7-00F5-1635-7BC6D9387E60 |
Network | network | 광고 노출의 Ad Network | 참조([MAX Mediation Documentation (applovin.com)](https://dash.applovin.com/documentation/mediation/features/ad-unit-automation-api#ad-networks))APPLOVIN_NETWORK |
Placement | placement | Ad Network의 Placement 이름 | MY_NATIVE_PLACEMENT |
Revenue | revenue | 추정 수익에는 FBBidding의 값 | 0.0121, 5.74466e-05 |
User ID | user_id | SDK에서 설정된 유저 ID는, TE 프로젝트의 게스트 ID | 7634657898 |
Waterfall | waterfall | 광고 Waterfall의 명칭 | LAT |
# 3.8 표준화 필드
아래의 이벤트 속성은 표준화 처리됩니다.
원본 필드 | 표준화 필드 | 의미 |
---|---|---|
network_name | te_ads_object.media_source | 미디어 소스 |
ad_mediation_platform | te_ads_object.media_source | 수익 채널 |
ad_unit_name | te_ads_object.ad_group_name | 수익 광고 Unit 이름 |
ad_unit_id | te_ads_object.ad_group_id | 수익 광고 Unit ID |
ad_placement | te_ads_object.placement | 수익 광고 Placement |
app_id | te_ads_object.app_id | 앱 ID |
country | te_ads_object.country | 국가 지역 코드 |
platform | te_ads_object.platform | 플랫폼 Android, iOS 등 |
【USD】고정값 | te_ads_object.currency | 수익 통화 |
revenue | te_ads_object.revenue | 수익 |