Monetization Stats API를 사용하면 CSV 포맷으로 된 수익화 데이터를 직접 가져올 수 있습니다. 이 API에서 가져오는 데이터는 개발자 대시보드에서 이용할 수 있는 데이터와 동일하지만, 프로그램으로 데이터를 불러들여 자체적으로 활용할 수 있다는 차이가 있습니다.
인증
참고: Monetization Stats API에는 조직 ID가 필요하며, 프로젝트를 이전할 때 해당 ID가 변경됩니다.
해당 엔드포인트는 Unity Ads Monetization 대시보드의 API 키를 사용합니다. 두 번째 내비게이션 메뉴에서 Setup > API Access를 선택한 다음 Monetization Stats API Access 섹션의 API 키를 복사하거나, API 키가 없는 경우 Create API Key를 선택합니다.
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의 쉼표 구분 목록입니다. | 아니요 |
이 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
요청 상태 코드
해당 엔드포인트는 요청 결과를 나타내는 다음 상태 코드를 반환합니다.
코드 | 설명 |
---|---|
200 | 요청에 성공했습니다. |
400 |
|
401 | API 키가 요청에서 누락되었거나 잘못되었습니다. |
404 | 조직이 없습니다. |
408 | 요청 제한 시간을 초과했습니다. |
429 | 요청 속도 제한을 초과했습니다. |
500 | 알 수 없는 이유로 요청이 실패했습니다. |
503 | 서비스를 사용할 수 없습니다. |