TopOn 데이터 연동 솔루션
최종 업데이트 날짜: 2022-08-17
1. 통합 전 준비
서드파티 데이터 통합으로 생성된 데이터는 클러스터의 소비 데이터양에 포함됩니다
1. 개요
이 문서에서는 TopOn 데이터를 Agentic Engine(이하 AE 시스템)으로 콜백하는 방법을 소개합니다. 이 계획은 다음 세 가지 방식을 지원하며, 인터페이스 이름을 클릭하면 해당 계획 부분으로 이동할 수 있습니다:
| 인터페이스 | 설명 | API 타입 | 제품화 | 데이터 업데이트 빈도 |
|---|---|---|---|---|
| 디바이스 수준 데이터 리포트 API | 집계 데이터 | 풀 방식 | 예 | 2일 전 데이터만 수집 가능(T2) |
| 종합 리포트 | 집계 데이터 | 풀 방식 | 아니요 | 당일 데이터 수집 가능(T0) |
| 클라이언트 SDK 전송 | 유저 상세 데이터 | 클라이언트 SDK | - | 실시간 |
TopOn 데이터 연동을 시작하기 전에 AE 시스템의 데이터 규칙을 읽고 AE의 데이터 구조를 이해했는지 확인하십시오. 또한 데이터 수집에 필요한 정보를 저희 고객 성공 매니저에게 전달하는 것을 권장합니다. 형식은 데이터 연동 설정 정보 템플릿(디바이스 수준 데이터 리포트 API, 종합 리포트)을 참고하십시오.
2. 디바이스 수준 데이터 리포트 API(제품화 완료)
인터페이스 기본 정보
| 인터페이스명 | API 타입 | 제품화 | 데이터 세분화 | 어트리뷰션 데이터 | 비용 데이터 | 수익 데이터 | 노출 데이터 | 클릭 데이터 | 전환 데이터 |
|---|---|---|---|---|---|---|---|---|---|
| 디바이스 수준 데이터 리포트 API | 풀 방식 | 예 | 유저 수준 | 예 | 예 | 예 |
디바이스 수준 데이터 리포트 API 는 유저 차원의 집계 지표를 가져올 수 있으며, 일정 기간 동안 유저의 총 노출, 클릭 및 수익 데이터가 포함됩니다.
2.1 API 권한
데이터를 수집하기 전에 먼저 TopOn 담당자에게 디바이스 수준 데이터 리포트 API 권한 개통을 신청해야 합니다. 개통되면 개발자 백엔드의 계정 정보 페이지에서 Publisher Key를 확인할 수 있습니다. Publisher Key와 TopOn 백엔드 프로젝트의 앱 ID를 ThinkingAI 담당자에게 보내거나 데이터 연동 설정 정보 템플릿에 입력하십시오.
계정 정보 페이지에서 Publisher Key를 가져올 수 있습니다
앱 페이지에서 TopOn 프로젝트의 앱 ID를 확인할 수 있습니다
2.2 클라이언트 SDK 설정
리포트 데이터의 user_id 속성은 비용상의 이유로 Android 앱에서는 기본적으로 반환되지 않습니다. 필요한 경우 먼저 SDK 버전을 5.9.70 이상으로 업그레이드하고 TopOn 운영 담당자에게 권한을 문의하십시오
방안 1(자동 통합):
연동한 AE SDK 버전이 2.8.0~2.8.1이면 자동 연결 방안을 사용하는 것을 권장합니다
연동한 AE SDK 버전이 2.8.2 이상이면 서드파티 데이터 플러그인도 설치해야 합니다
이 방안은 자동 통합 방안입니다. AE 클라이언트 SDK를 초기화한 후 다음 코드를 호출하여 활성화하십시오. 자세한 내용은 Android SDK 서드파티 데이터 및 iOS SDK 서드파티 데이터를 참고하십시오
// AE SDK 초기화
ThinkingAnalyticsSDK instance = ThinkingAnalyticsSDK.sharedInstance(this, TA_APP_ID, TA_SERVER_URL);
// TopOn ID 연결 활성화
instance.enableThirdPartySharing(TDThirdPartyShareType.TD_TOP_ON);
// TopOn SDK 초기화
// ...
// 게스트 ID를 변경한 후에는 데이터를 다시 동기화해야 함(선택 사항).
instance.identify("distinct_id");
instance.enableThirdPartySharing(TDThirdPartyShareType.TD_TOP_ON);
이 방안의 원리는 내부에서 ATSDK의 initCustomMap 메서드를 자동으로 호출하여 ATCustomRuleKeys.USER_ID를 전달하며, 그 값으로 AE 프로젝트의 게스트 ID를 전달하는 것입니다.
방안 2(수동 통합):
수동 통합 방안에서는 TopOn의 App 전역 커스텀 규칙 설정을 통해 AE의 #distinct_id를 TopOn SDK의 custom_rule 내 user_id에 전달해야 합니다. 호출 방법과 코드 예시는 이 문서를 참고하십시오.
iOS 클라이언트 코드 설정 예시:
[[ATAPI sharedInstance] setCustomData:@{kATCustomDataUserIDKey:self.TA_DISTINCT_ID}];
Android 클라이언트 코드 설정 예시:
// AE의 게스트 ID 가져오기(AE의 #distinct_id에 해당)
String te_distinct_id = instance.getDistinctId();
Map<String, String> customMap = new HashMap<>();
customMap.put(ATCustomRuleKeys.USER_ID, te_distinct_id);
ATSDK.initCustomMap(customMap);
주의(매우 중요):
setCustomData (iOS) 메서드 또는 initCustomMap (Android)을 통한 전송은 TopOn SDK 초기화 전에 완료해야 합니다. 그렇지 않으면 일부 user_id가 콜백되지 않을 수 있습니다.
2.3 데이터 수집
2.3.1 포함 필드
디바이스 수준 데이터 리포트 API에는 다음 필드가 포함됩니다
| 필드 | 타입 | 비고 |
|---|---|---|
| placement_id | 문자열 | 광고 위치 ID |
| placement_name | 문자열 | 광고 위치 이름 |
| placement_format | 문자열 | 광고 유형: 0: native; 1: rewarded_video; 2: banner; 3: interstitial; 4: splash |
| android_id | 문자열 | 디바이스 ID, androidid |
| gaid | 문자열 | Google의 광고 디바이스 ID |
| idfa | 문자열 | iOS의 디바이스 ID |
| area | 문자열 | 국가 |
| impression | 숫자 | 노출 수 |
| click | 숫자 | 클릭 수 |
| revenue | 숫자 | 수익. 서드파티 광고 플랫폼의 수익을 디바이스 수준으로 분할한 값이며, 통화 단위는 개발자 백엔드 설정과 동일 |
ecpm | 숫자 | TopOn이 수익 API를 기반으로 디바이스 노출별로 분할한 수익과 TopOn이 집계한 디바이스 노출로 계산한 eCPM. 계산 공식: (디바이스 수익/TopOn이 집계한 디바이스 노출) * 1000. 참고: eCPM은 2일 지연되어 제공 |
| is_abtest | 문자열 | 대조군 또는 테스트군: 0: 대조군 또는 A/B 테스트 미사용; 1: 테스트군 |
| traffic_group_id | 문자열 | 대조군 또는 테스트군 id |
| segment_id | 문자열 | 트래픽 그룹 ID |
| segment_name | 문자열 | 트래픽 그룹 이름 |
| idfv | 문자열 | iOS의 디바이스 ID |
| oaid | 문자열 | Android의 디바이스 ID |
| user_id | 문자열 | 개발자의 커스텀 유저 ID |
| network_firm_id | 문자열 | 광고 플랫폼 ID |
| network_firm | 문자열 | 광고 플랫폼 이름 |
| currency | 문자열 | 개발자 계정 통화. USD는 미국 달러, CNY는 위안화 |
| os_version | 문자열 | iOS 디바이스의 운영 체제 버전 |
| att_status | 문자열 | iOS 디바이스의 ATT 권한 부여 상태: 0: Not determined(권한 부여 여부 미결정); 1: Restricted (제한됨); 2: Denied(거부됨); 3: Authorized(권한 부여됨) |
| imei | 문자열 | Android 디바이스 식별 코드 |
| device_type | 문자열 | IOS 디바이스 유형, 열거값 설명: 0: IOS가 아닌 디바이스; 1: iphone; 2: ipad |
| brand | 문자열 | 디바이스 브랜드 이름 |
| model | 문자열 | 디바이스 모델 |
| app_vn | 문자열 | 앱 버전 이름 |
| app_vc | 문자열 | 앱 버전 번호 |
| new_user_type | 문자열 | 신규 유저 유형, 열거값 설명: 1: 신규 유저임; 2: 신규 유저 아님 |
| channel | 문자열 | 채널. 개발자가 TopOn SDK를 통해 전달한 채널 |
| estimate_revenue | decimal(18,6) | 예상 수익. 입찰 광고 소스는 실시간 광고 노출 가격을 합산하여 예상 수익을 산출하고, 비입찰 광고 소스는 수동으로 입력한 eCPM 가격 * TopOn이 집계한 노출을 합산하여 예상 수익을 산출 |
2.3.2 인터페이스 파라미터
-
시간:
- 특정 날짜를 시작 시간으로 하는 데이터를 수집하며, 2일 전부터만 지원합니다
- 시간대는 UTC 0, -8, +8 중에서 선택할 수 있으며, 전달하지 않으면 기본적으로 개발자 계정의 시간대를 사용합니다
-
App:
- 데이터를 수집할 App을 지정해야 하며, TopOn 백엔드의 앱 ID를 제공해야 합니다
2.3.3 데이터 저장 규칙
기본적으로 수집한 데이터는 이벤트 형태로 AE 프로젝트에 기록됩니다:
- 데이터의 user_id를 데이터의 게스트 ID로 사용합니다. 이 필드는 AE 프로젝트의 게스트 ID와 대응해야 합니다
- 수집한 데이터의 시작 시간 필드를 이벤트의 #event_time으로 사용합니다
- 데이터 이벤트 이름은 -- ta_ad_revenue_topon입니다
- 나머지 필드는 모두 저장됩니다
2.4 데이터 연동 설정 정보 템플릿
위 문서를 읽은 후 다음 정보 템플릿을 작성하여 ThinkingAI의 고객 성공 매니저에게 보내는 것을 권장합니다:
데이터 인터페이스: TopOn 디바이스 수준 데이터 리포트 API
--------
회사 이름: XXX
AE 프로젝트 환경: (SAAS/프라이빗 배포)
AE 프로젝트 이름: XXX
AE 프로젝트 APP ID: XXX
데이터 수신 주소 push_url: XXX
---------
TopOn App ID:XXX
TopOn Publisher Key:XXX
---------
데이터 수집 시간대: UTC+8 (열거값: UTC-8, UTC+8, UTC+0, 전달하지 않으면 기본적으로 개발자 계정 시간대 사용)
과거 데이터 수집 기간: yyyy/mm/dd부터(최소 2일 전)
정기 수집: 매일 X시에 지난 X일간의 데이터 수집
3. 종합 리포트
인터페이스 기본 정보
| 인터페이스명 | API 타입 | 제품화 | 데이터 세분화 | 어트리뷰션 데이터 | 비용 데이터 | 수익 데이터 | 노출 데이터 | 클릭 데이터 | 전환 데이터 |
|---|---|---|---|---|---|---|---|---|---|
| 종합 리포트 | 풀 방식 | 아니요 | 집계 데이터 | 예 | 예 | 예 |
종합 리포트는 TopOn 데이터 리포트 조회 API의 종합 리포트 데이터를 말하며, 노출, 클릭 및 수익 지표를 포함한 집계된 광고 수익화 데이터를 제공합니다.
3.1 API 권한
데이터를 수집하기 전에 먼저 TopOn 담당자에게 데이터 리포트 조회 API 권한 개통을 신청해야 합니다. 개통되면 개발자 백엔드의 계정 정보 페이지에서 Publisher Key를 확인할 수 있습니다. Publisher Key와 TopOn 백엔드 프로젝트의 앱 ID를 ThinkingAI 담당자에게 보내거나 데이터 연동 설정 정보 템플릿에 입력하십시오.
계정 정보 페이지에서 Publisher Key를 가져올 수 있습니다
앱 페이지에서 TopOn 프로젝트의 앱 ID를 확인할 수 있습니다
3.2 데이터 수집
3.2.1 그룹 차원
아래 표는 종합 리포트 조회 API가 지원하는 모든 그룹 차원입니다. 참고: 10일 이내의 데이터를 조회할 때는 그룹 차원을 최대 6개, 10일 이전의 데이터를 조회할 때는 최대 3개까지 선택할 수 있습니다:
| 그룹 차원 | 필드 | 타입 | 기본 여부 | 비고 |
|---|---|---|---|---|
| date | date | 문자열 | 예 | 날짜, 형식: YYYYmmdd |
app | app_id | 문자열 | 예 | 개발자 백엔드의 앱 ID |
| app_name | 문자열 | 예 | 앱 이름 | |
| app_platform | 문자열 | 예 | 앱의 시스템 플랫폼 | |
| app_pkg_name | 문자열 | 예 | 앱의 패키지명 | |
| placement | placement_id | 문자열 | 예 | 개발자 백엔드의 광고 위치 ID |
| placement_name | 문자열 | 예 | 광고 위치 이름 | |
adformat | adformat | 문자열 | 광고 형식, 열거값: Rewarded Video, Interstitial, Banner, Native, Splash | |
| area | area | 문자열 | 국가(지역) 코드 | |
network | network | 문자열 | 광고 플랫폼 계정 ID | |
| network_name | 문자열 | 광고 플랫폼 계정 이름 | ||
adsource | adsource_network | 문자열 | 예 | 광고 소스가 속한 광고 플랫폼 이름 |
| adsource_token_position_id | 문자열 | 예 | 광고 소스의 위치 ID | |
| adsource_token_orientation | 문자열 | 예 | 광고 소스의 방향 | |
| adsource_token_video_muted | 문자열 | 예 | 광고 음소거 여부 | |
| adsource_token_app_id | 문자열 | 예 | 광고 소스의 App ID | |
| adsource_token_app_name | 문자열 | 예 | 광고 소스의 App 이름 | |
| adsource_id | 문자열 | 예 | 광고 소스 id | |
| adsource_name | 문자열 | 예 | 광고 소스 이름 | |
| network_firm_id | network_firm_id | 문자열 | 예 | 광고 플랫폼 ID |
| network_firm | 문자열 | 예 | 광고 플랫폼 이름 | |
| scenario | scenario_id | 문자열 | 광고 시나리오 ID | |
| scenario_name | 문자열 | 광고 시나리오 이름 | ||
traffic_group | traffic_group_id | 문자열 | 트래픽 그룹 id | |
| traffic_group_name | 문자열 | 트래픽 그룹 이름 | ||
| traffic_group_segment_id | 문자열 | 트래픽 그룹 숫자 ID. 참고: 기본 트래픽 그룹이면 segment_id = 0이며 반환되지 않음 | ||
| channel | channel | 문자열 | 채널 이름 | |
| sdk_version | sdk_version | 문자열 | SDK 버전 | |
| app_version | app_version | 문자열 | 앱 버전 |
3.2.2 지표 필드
기본적으로 다음 필드를 모두 저장합니다. 조정이 필요하면 데이터 연동 설정 정보 템플릿에 명시하십시오:
| 필드 | 타입 | 비고 |
|---|---|---|
| time_zone | 문자열 | 시간대, 열거값: UTC+8, UTC+0, UTC-8 |
| currency | 문자열 | 개발자 계정 통화. 이 필드와 revenue 필드로 구성된 수익은 개발자 백엔드 리포트의 수익과 일치해야 함 |
| new_users | 숫자 | 신규 유저 |
| new_user_rate | 숫자 | 신규 유저 비율 |
| day2_retention | 숫자 | 익일 리텐션 |
| deu | 숫자 | DEU |
| engaged_rate | 숫자 | 침투율 |
| imp_dau | 숫자 | 노출 / DAU |
| imp_deu | 숫자 | 노출 / DEU |
| impression_rate | 숫자 | 노출률 |
| dau | 숫자 | group_by 조건에 따라서만 반환됨 |
| arpu | 숫자 | dau가 있을 때만 반환됨 |
| request | 숫자 | 요청 수 |
| fillrate | 숫자 | 채움률 |
| impression | 숫자 | 노출 수 |
| click | 숫자 | 클릭 수 |
| ctr | 숫자 | 클릭률 |
| ecpm | 숫자 | TopOn이 리포트 API로 광고 플랫폼에서 수집한 실제 수익과 TopOn이 집계한 노출로 계산한 eCPM. 계산 공식: (수익/TopOn이 집계한 노출)*1000. 참고: eCPM은 1일 지연되어 제공 |
| revenue | 숫자 | 서드파티 광고 플랫폼의 수익. 통화는 개발자 계정 통화 |
| request_api | 숫자 | 서드파티 광고 플랫폼의 요청 수 |
| fillrate_api | 숫자 | 서드파티 광고 플랫폼의 채움률 |
| impression_api | 숫자 | 서드파티 광고 플랫폼의 노출 수 |
| click_api | 숫자 | 서드파티 광고 플랫폼의 클릭 수 |
| ctr_api | 숫자 | 서드파티 광고 플랫폼의 클릭률 |
| ecpm_api | 숫자 | TopOn이 리포트 API로 광고 플랫폼에서 수집한 실제 수익과 노출 API로 계산한 eCPM API. 계산 공식: (수익/노출 API)*1000. 참고: eCPM API는 1일 지연되어 제공 |
| estimate_revenue | 숫자 | 예상 수익, 통화: 미국 달러 |
estimate_revenue_ecpm | 숫자 | 예상 수익과 TopOn이 집계한 노출로 계산한 예상 eCPM. 계산 공식: (예상 수익/TopOn이 집계한 노출)*1000. 참고: 1. 예상 eCPM은 당일 제공, 2. 일반 광고 소스는 수동으로 입력한 eCPM 가격으로, 입찰 광고 소스는 실시간 입찰 가격으로 계산 |
| ready_request | 숫자 | isReady 호출 횟수 |
| ready_rate | 숫자 | isReady 성공률 |
| cy_estimate_revenue | 숫자 | 개발자 계정 통화로 반환되는 예상 수익 |
| cy_estimate_revenue_ecpm | 숫자 | 개발자 계정 통화로 반환되는 예상 eCPM. 계산 방식은 estimate_revenue_ecpm과 동일 |
| load | 숫자 | 트래픽 요청. 참고: 일부 group_by 차원(예: network_firm_id)을 선택하면 응답이 "0"입니다 |
| load_fillrate | 숫자 | 트래픽 채움률. 참고: 일부 group_by 차원(예: network_firm_id)을 선택하면 응답에서 이 지표가 반환되지 않습니다 |
3.2.3 인터페이스 파라미터
-
시간:
- 일 단위로 데이터를 수집합니다
- 시간대는 UTC 0, -8, +8 중에서 선택할 수 있으며, 전달하지 않으면 기본적으로 개발자 계정의 시간대를 사용합니다
3.2.4 데이터 저장 규칙
기본적으로 수집한 데이터는 이벤트 형태로 AE 프로젝트에 기록됩니다:
- 종합 리포트 조회 API는 집계 데이터를 반환하므로 고정값을 유저 식별자로 사용합니다. 모든 데이터가 하나의 가상 유저에 연결된다고 보면 됩니다
- 데이터의 date 필드, 즉 데이터의 날짜를 집계 데이터의 #event_time으로 설정합니다
- 데이터 이벤트 이름은 -- topon_fullreport입니다
- 나머지 필드는 모두 저장됩니다
3.3 데이터 연동 설정 정보 템플릿
위 문서를 읽은 후 다음 정보 템플릿을 작성하여 ThinkingAI의 고객 성공 매니저에게 보내는 것을 권장합니다:
데이터 인터페이스: TopOn 종합 리포트 조회 API
--------
회사 이름: XXX
AE 프로젝트 환경: (SAAS/프라이빗 배포)
AE 프로젝트 이름: XXX
AE 프로젝트 APP ID: XXX
데이터 수신 주소 push_url: XXX
---------
TopOn App ID:XXX
TopOn Publisher Key:XXX
---------
데이터 수집 시간대: UTC+8 (열거값: UTC-8, UTC+8, UTC+0)
분석 차원: xxx, xxx
수집 지표: xxx, xxx
과거 데이터 수집 기간: yyyy/mm/dd부터(최소 2일 전)
정기 수집: 매일 X시에 최근 X일간의 데이터 수집
4. 클라이언트 SDK 전송
인터페이스 기본 정보
| 인터페이스명 | API 타입 | 제품화 | 데이터 세분화 | 어트리뷰션 데이터 | 비용 데이터 | 수익 데이터 | 노출 데이터 | 클릭 데이터 | 전환 데이터 |
|---|---|---|---|---|---|---|---|---|---|
| ATAdInfo 콜백 인터페이스 | 클라이언트 SDK | 아니요 | 유저 상세 데이터 | 예 | 예 |
TopOn 클라이언트 SDK에는 ATAdInfo 콜백 인터페이스가 있어 getEcpm() 등의 메서드로 예상 eCPM 값과 기타 관련 차원 및 지표를 가져온 다음, AE SDK를 통해 AE 시스템으로 전송할 수 있습니다.
다음은 Android SDK를 예로 들어 수익 데이터를 받아 AE로 전달하는 코드 예시입니다:
ATBannerView mBannerView = new ATBannerView(this);
mBannerView.setBannerAdListener(new ATBannerExListener() {
@Override
public void onBannerShow(ATAdInfo entity) {
JSONObject properties = new JSONObject();
try{
properties.put("id", entity.getShowId());
properties.put("publisher_revenue", entity.getPublisherRevenue());
properties.put("currency", entity.getCurrency());
properties.put("country", entity.getCountry());
properties.put("adunit_id", entity.getTopOnPlacementId());
properties.put("adunit_format", entity.getTopOnAdFormat());
properties.put("precision", entity.getEcpmPrecision());
properties.put("network_type", entity.getAdNetworkType());
properties.put("network_placement_id", entity.getNetworkPlacementId());
properties.put("ecpm_level", entity.getEcpmLevel());
properties.put("segment_id", entity.getSegmentId());
properties.put("scenario_id", entity.getScenarioId());
properties.put("scenario_reward_name", entity.getScenarioRewardName());
properties.put("scenario_reward_number", entity.getScenarioRewardNumber());
properties.put("channel", entity.getChannel());
properties.put("sub_channel", entity.getSubChannel());
properties.put("custom_rule", entity.getCustomRule());
properties.put("network_firm_id", entity.getNetworkFirmId());
properties.put("adsource_id", entity.getAdsourceId());
properties.put("adsource_index", entity.getAdsourceIndex());
properties.put("adsource_price", entity.getEcpm());
properties.put("adsource_isheaderbidding", entity.isHeaderBiddingAdsource());
properties.put("ext_info", entity.getExtInfoMap());
}catch(JSONException e){
}
// 수익 데이터를 AE로 전송, 이벤트 이름은 topon_sdk_ad_info
instance.track("topon_sdk_ad_info", properties);
}
});
데이터를 전송한 후 이벤트 이름이 topon_sdk_ad_info인 이벤트를 기반으로 AE 시스템에서 관련 차원과 지표를 분석할 수 있습니다.
5. 연동 테스트 및 데이터 활용
5.1 연동 테스트
실시간 데이터, 이벤트 분석 또는 SQL IDE에서 다음 이벤트를 찾을 수 있습니다:
- 디바이스 수준 리포트 API 데이터: ta_ad_revenue_topon
- 종합 리포트 조회 API 데이터: topon_fullreport
- 클라이언트 SDK 실시간 콜백 인터페이스: topon_sdk_ad_info
5.2 데이터 활용
- AE SDK로 전송한 인앱 결제와 TopOn으로 가져온 광고 수익화 수익을 합산하여 보다 완전한 ROI 분석 수행
광고로 획득한 비자연 유저가 창출한 수익(구독 결제, 앱 다운로드 결제, 인앱 이벤트 결제, 광고 수익화 포함)을 UA 비용으로 나눕니다. 계산 과정에서 유저 수준 데이터가 필요하므로 디바이스 수준 데이터 리포트 API를 사용합니다.
- 채널 출처 가상 이벤트 속성 생성
이벤트 속성과 유저 속성의 어트리뷰션 데이터를 가상 속성으로 하나의 가상 이벤트 속성으로 합친 후 그룹 항목으로 사용합니다
channel_final = coalesce(channel(cost), network_name)
- 예상 eCPM으로 유저 수준 광고 수익을 실시간으로 계산
TopOn의 예상 eCPM은 분석 요구를 충족할 만큼 정확하고 실시간성도 가치가 있으므로, TopOn 클라이언트 SDK 실시간 콜백 인터페이스가 반환하는 예상 eCPM을 사용하여 AE 시스템 내에서 유저 수준 광고 수익을 계산하는 것을 고려할 수 있습니다.
| adsource_price | String | 예상 수익과 TopOn이 집계한 노출로 계산한 예상 eCPM. 계산 공식: (예상 수익/TopOn이 집계한 노출)*1000. 참고: 1. 클라이언트 SDK 실시간 콜백 인터페이스의 예상 eCPM은 당일 제공, 2. 일반 광고 소스는 수동으로 입력한 eCPM 가격으로, 입찰 광고 소스는 실시간 입찰 가격으로 계산 |
|---|
- 광고 소스 ID(adsource_id)로 노출 1회당 수익 계산
- 이벤트 속성 통합 후 데이터 타입
데이터 활용의 유연성을 높이기 위해 이벤트 속성은 기본적으로 문자열 타입으로 연동됩니다. AE 시스템의 가상 속성 기능으로 문자열 타입 필드를 다른 타입으로 변환할 수 있습니다. 예:
- revenue 속성을 숫자 타입으로 변환: "revenue"(데이터 타입은 숫자 선택)
- topon_fullreport는 전체 필터에서 app_pkg_name을 값 있음으로 필터링
topon_fullreport 데이터를 사용할 때 전체 필터에서 app_pkg_name을 값 있음으로 필터링하면 노이즈 데이터를 제외할 수 있습니다
- iOS 디바이스의 ATT 권한 부여 상태 가져오기
iOS의 디바이스 수준 API로 디바이스의 ATT 권한 부여 상태를 가져올 수 있습니다:
0: Not determined(권한 부여 여부 미결정); 1: Restricted (제한됨); 2: Denied(거부됨); 3: Authorized(권한 부여됨)
6. FAQ
TopOn 디바이스 수준 API와 종합 리포트 API에서 전송된 데이터는 어떻게 구분합니까?
이벤트 이름으로 구분할 수 있습니다. ta_ad_revenue_topon은 디바이스 수준 데이터이고, topon_fullreport는 종합 리포트 데이터입니다

