Monetization Stats API
Monetization Stats API를 사용하면 CSV 포맷으로 된 수익화 데이터를 직접 가져올 수 있습니다. 이 API에서 가져오는 데이터는 개발자 대시보드에서 이용할 수 있는 데이터와 동일하지만, 프로그램으로 데이터를 불러들여 자체적으로 활용할 수 있다는 차이가 있습니다.
중요: Mediation 파트너의 경우, Unity Ads 네트워크에 대한 정확한 리포트 내용을 수집하려면 Unity API 키가 필요합니다. Mediation 연동에 지원 중단 예정인 Applifier Statistics API를 이미 사용하고 있는 경우 Monetization Statistics API에 마이그레이션하기 전에 Mediation 파트너와 상담하십시오. 참고로 여전히 Monetization Statistics API를 사용하여 유니티의 네트워크에 핑을 보내 데이터를 직접 리포트할 수 있습니다. Mediation을 사용하지 않는 모든 고객은 새 API에 안전하게 마이그레이션할 수 있습니다.
인증
참고: Monetization Stats API에는 조직 ID가 필요하며, 프로젝트를 이전할 때 해당 ID가 변경됩니다.
참고: 프로젝트를 이전하면 Monetization Statistics API에 액세스하는 데 필요한 조직 ID가 변경됩니다.
해당 엔드포인트는 Unity Ads Monetization 대시보드의 API 키를 사용합니다. 두 번째 내비게이션 메뉴에서 Setup > API Access를 선택한 다음 Monetization Stats API Access 섹션의 API 키를 복사하거나, API 키가 없는 경우 Create API Key를 선택합니다.
참고: Monetization Statistics API는 사용자별로 고유한 키를 생성합니다. Mediation 연동을 위해 모든 개인 키가 전체 조직에서 작동합니다.
API 키를 "apikey=<token>"
쿼리 파라미터로 포함하거나, 인증 헤더 "Authorization: Token <token>"
를 사용하여 포함해야 합니다. 리디렉트 URL이 데이터를 가져옵니다. 이는 모든 HTTP 클라이언트에서 지원하는 표준 HTTP 동작입니다.
인증이 실패할 경우 인증 서버는 HTTP/2 오류 코드와 본문의 오류 메시지로 응답합니다. 예를 들면 다음과 같습니다.
400 {"errors":[{"msg":"access token required"}]}
요청 포맷
Unity Ads 서비스에서 통계 데이터를 가져오려면 다음 GET 요청을 사용합니다. 여기서 <organizationId>
는 Unity 조직의 Organization core ID입니다.
GET
https://monetization.api.unity.com/stats/v1/operate/organizations/<organizationId>
쿼리 파라미터
이 API는 다양한 데이터 분할 방법을 지원합니다. 그중 일부는 요청 성공에 필수적입니다.
파라미터 | 설명 | 필수 여부 |
---|---|---|
apikey | Monetization 대시보드에서 가져온 API 인증 키입니다. | 아니요. 인증 헤더를 대신 사용합니다. |
fields | 쉼표 구분 목록이며, 이용할 수 있는 필드의 열을 정의합니다.
| 예 |
groupBy | 쉼표 구분 목록이며, 행을 확장하고 다음 필드에 따라 데이터를 분할합니다.
| 아니요 |
scale | 시간 해상도별로 데이터를 분할하는 값입니다. 각 일자가 00:00 UTC 기준으로 분할됩니다. 지원되는 옵션은 다음과 같습니다.
| 예 |
start | 데이터 세트의 시작 시간으로, ISO 8601 형식을 따릅니다. | 예 |
end | 데이터 세트의 종료 시간으로, ISO 8601 형식을 따릅니다. | 예 |
gameIds | 결과를 필터링할 소스 게임 ID의 쉼표 구분 목록입니다. 참고: 소스 ID를 가져오려면 | 아니요 |
이 API는 CSV 또는 JSON 파일 반환을 지원합니다. 다음과 같이 "Accept"
헤더로 출력 형식을 지정합니다.
- CSV의 경우
"Accept: text/csv"
사용 - JSON의 경우
"Accept: application/json"
사용
다음 요청 예시에서는 실제 파라미터를 사용합니다(Organization core ID 및 API 키 플레이스홀더 제외).
curl
https://monetization.api.unity.com/stats/v1/operate/organizations/:organizationId?groupBy=country,placement,platform,game&fields=adrequest_count,available_sum,revenue_sum,start_count,view_count&scale=hour&start=2020-05-01T00:00:00Z&end=2020-06-01T23:59:00Z&apikey=:apiKeyValue -H "Accept: text/csv" --output stats.csv
참고: 여러 측정 항목으로 데이터를 분할하면 CSV가 기하급수적으로 증가하며 일부 대량의 데이터 세트가 시간 만료 처리될 수 있습니다. 서버에서 요청을 처리하는 시간이 60초가 넘어가면 요청 시간이 만료됩니다.
요청 상태 코드
해당 엔드포인트는 요청 결과를 나타내는 다음 상태 코드를 반환합니다.
코드 | 설명 |
---|---|
| 요청에 성공했습니다. |
400 | organizationId 또는 다른 필수 파라미터가 쿼리에서 누락되었습니다. |
401 | API 키가 요청에서 누락되었거나 잘못되었습니다. |
404 | 조직이 없습니다. |
408 | 요청 제한 시간을 초과했습니다. |
429 | 요청 속도 제한을 초과했습니다. |
500 | 알 수 없는 이유로 요청이 실패했습니다. |
503 | 서비스를 사용할 수 없습니다. |