미디에이션 그룹

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.adUnitIds
  • mediationGroupLines[mediationGroupLineId]
  • mediationGroupLines[mediationGroupLineId].state
  • mediationGroupLines[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