AdMob API를 사용하면 다음을 비롯한 미디에이션 그룹을 만들고, 나열하고, 업데이트할 수 있습니다.
- 리전, 형식, 플랫폼, IDFA 타겟팅을 포함한 미디에이션 그룹 타겟팅 지정
- 기존 미디에이션 그룹에 새 미디에이션 그룹 라인 추가
- 미디에이션 A/B 실험에 포함된 미디에이션 그룹과 각 변형(A 또는 B)에 속한 미디에이션 그룹 라인 확인
예
OAuth 2.0 사용자 인증 정보가 생성되면 AdMob API를 사용할 수 있습니다. OAuth 2.0을 사용하여 액세스를 요청하려면 애플리케이션에 범위 정보도 필요합니다.
OAuth 2.0 범위 정보는 다음과 같습니다.
| 범위 | 의미 |
|---|---|
https://www.googleapis.com/auth/admob.monetization |
AdMob 수익 창출 설정을 보고, 만들고, 수정합니다. |
https://www.googleapis.com/auth/admob.readonly |
모든 AdMob 데이터를 볼 수 있습니다. 여기에는 계정 정보, 인벤토리 및 미디에이션 설정, 보고서, 기타 데이터가 포함될 수 있습니다. 결제나 캠페인 세부정보와 같은 민감한 정보는 포함되지 않습니다. |
만들기
미디에이션 그룹을 만들려면 관련 광고 단위를 포함한 미디에이션 그룹 타겟팅 정보를 지정해야 합니다. 다음 예에서는 2개의 광고 단위에 대해 Android 전면 광고용 새 미디에이션 그룹을 만듭니다. InMobi 광고 소스의 경우 생성 시 하나의 미디에이션 그룹 라인이 추가됩니다. AdMob 네트워크는 생성 시 기본적으로 추가되므로 포함하지 않아도 됩니다.
아래 코드 스니펫에서 pub-XXXXXXXXXXXXXXXX를 게시자 ID로 바꿉니다.
그런 다음 YYYYYYYYYY를 광고 단위 ID의 마지막 10자리로 바꾸고 다음 형식을 준수합니다.
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY
이 예에는 광고 단위가 두 개 있으므로 YYYYY11111는 첫 번째 광고 단위를, WWWWW11111는 첫 번째 광고 단위의 매핑을 나타냅니다. YYYYY22222 및 WWWWW22222은 두 번째 광고 단위 및 광고 단위 매핑을 나타냅니다.
curl (명령줄)
WWWWWWWWWW를 광고 단위 매핑 ID로 바꿉니다. 광고 단위 매핑 ID는 accounts.adUnits.adUnitMappings.list 메서드를 사용하여 확인할 수 있습니다.
curl --http1.0 -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
"displayName": "Test Mediation Group"
"targeting": {
"platform": "ANDROID",
"format": "INTERSTITIAL"
"adUnitIds":["ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222"}
}
"mediationGroupLines": {
"-1": {
"displayName": "test line",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "150000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111",
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222"
}
}
}
목록
pub-XXXXXXXXXXXXXXXX를 게시자 ID로 바꿔 미디에이션 그룹을 확인합니다.
curl (명령줄)
샘플 요청:
curl --http1.0 -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \ -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
샘플 응답:
{ "mediationGroups": [ { "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ", "mediationGroupId": "ZZZZZZZZZZ", "displayName": "Test Mediation Group", "state": "ENABLED", "state": "NOT_RUNNING", "targeting": { "platform": "iOS", "format": "BANNER", "targetedRegionCodes": "[CA]", "adUnits": ["YYYYY11111", "YYYYY22222"] }, "mediationGroupLines": { "11111111111111111": { "id": "11111111111111111", "displayName": "AdMob Network", "adSourceId": "5450213213286189855", "cpmMode": "LIVE", "state": "ENABLED", "experimentVariant": "ORIGINAL" }, "22222222222222222": { "id": "22222222222222222", "displayName": "test line", "adSourceId": "7681903010231960328", "cpmMode": "MANUAL", "cpmMicros": "150000", "adUnitMappings": { "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY11111": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY11111/adUnitMappings/WWWWW11111", "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYY22222": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYY22222/adUnitMappings/WWWWW22222" }, "state": "ENABLED", "experimentVariant": "ORIGINAL" } }, }] }
패치
미디에이션 그룹을 업데이트하는 필드 마스크 목록은 다음과 같습니다. 목록의 항목과 같은 반복 필드를 업데이트하면 기존 값이 새 값으로 완전히 대체됩니다. 지도에서 개별 값을 업데이트하는 작업은 키로 색싱을 통해 실행할 수 있습니다.
미디에이션 그룹 업데이트에 지원되는 필드 마스크는 다음과 같습니다.
targeting.adUnitIdsmediationGroupLines[mediationGroupLineId]mediationGroupLines[mediationGroupLineId].statemediationGroupLines[mediationGroupLineId].adUnitMappings[adUnitId]
새 미디에이션 그룹 라인으로 미디에이션 그룹을 업데이트하려면 mediationGroupLineId에 고유한 음수를 사용합니다. 기존 미디에이션 그룹 라인을 업데이트하려면 아래와 같이 update_mask과 페이로드 모두에서 미디에이션 그룹 라인 ID를 참조하세요.
"updateMask" {
paths: "mediation_group_lines["123"].ad_unit_mappings["456"]"
}
"mediationGroup" {
"mediationGroupLines": {
"123": {
"id": "123"
"adUnitMappings": {
"456": "newAdUnitMappingId"
}
}
}
}
curl (명령줄)
아래 예에서는 기존 미디에이션 그룹에 3개의 새 미디에이션 라인을 추가합니다.
updateMask에는 다음과 같이 자리표시자로 고유한 음수 값이 있는 3개의 미디에이션 그룹 행이 포함됩니다.
updateMask=mediationGroupLines["-1"],mediationGroupLines["-2"],mediationGroupLines["-3"]
모든 URL은 URI (Uniform Resource Identifier) 사양에서 지정된 구문을 준수해야 하므로 특수문자는 변환해야 합니다. 따라서 updateMask는 다음과 같이 됩니다.
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
다음 예시를 실행하려면 pub-XXXXXXXXXXXXXXXX를 게시자 ID로, ZZZZZZZZZZ를 미디에이션 그룹 ID로 바꿉니다. 미디에이션 그룹 ID는 AdMob UI에서 확인하거나 accounts.mediationGroups:list 메서드를 사용하여 확인할 수 있습니다.
YYYYYYYYYY를 광고 단위 ID의 마지막 10자리로 바꿉니다. 형식은 다음과 같습니다.
ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY`
WWWWWWWWWW를 광고 단위 매핑 ID로 바꿉니다. 광고 단위 매핑 ID는 accounts.adUnits.adUnitMappings.list 메서드를 사용하여 확인할 수 있습니다.
curl --http1.0 -X PATCH https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ?
updateMask=mediationGroupLines%5B%22-1%22%5D,mediationGroupLines%5B%22-2%22%5D,mediationGroupLines%5B%22-3%22%5D
-H "Content-Type:application/json"
-H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)"
--data @- << EOF
{
"mediationGroupLines": {
"-1": {
"displayName": "test line 2",
"adSourceId": "7681903010231960458",
"cpmMode": "MANUAL",
"cpmMicros": "150000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
},
"-2": {
"displayName": "test line 3",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "120000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
},
"-3": {
"displayName": "test line 4",
"adSourceId": "7681903010231960328",
"cpmMode": "MANUAL",
"cpmMicros": "130000",
"state": "ENABLED",
"adUnitMappings": {
"ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/WWWWWWWWWW"
}
}
}
}
EOF