구매자 SDK 광고는 자체 SDK에서 렌더링한 광고 소재를 사용합니다.
입찰 어댑터를 앱에 통합하는 게시자의 모바일 앱 인벤토리는 구매자 SDK 렌더링 광고 형식으로 입찰을 수락할 수 있습니다. 렌더링 방법은 SDK 구현 및 입찰 응답에서 제출하는 SDKRenderedAd
에 따라 다릅니다.
구매자 SDK 렌더링 광고 또는 Google 모바일 광고 SDK에서 지원하는 다른 광고 형식을 포함하여 입찰할 수 있지만 둘 다 포함하는 입찰은 필터링됩니다.
요구사항
구매자 SDK 광고는 승인된 구매자가 사용할 수 있습니다. 이 형식에는 개발자와 게시자의 추가 작업이 필요합니다. 기술계정 관리자에게 문의하여 구매자 SDK 광고의 계정을 구성하세요. 그런 다음 SDK가 Google 모바일 광고 SDK와 통신할 수 있도록 입찰 어댑터를 구현하면 됩니다. 게시자는 SDK와 어댑터를 모바일 앱에 통합해야 합니다.
입찰 응답에 포함하기 전에 검토를 위해 광고 소재를 제출하는 것이 좋습니다. 입찰 시 광고 소재 유형을 모르면 기술계정 관리자에게 문의하세요.
입찰 요청이 이 광고 형식을 지원하는 경우 입찰 응답의 sdk_rendered_ad
필드를 설정하여 SDK로 렌더링되는 광고를 지정할 수 있습니다.
입찰 요청
모바일 앱 인벤토리의 입찰 요청에는 다음 필드에서 렌더링에 사용할 수 있는 게시자 앱의 SDK 및 어댑터에 관한 세부정보가 포함됩니다.
- SDK ID
입찰 요청을 사용하여 구매자 SDK 렌더링 광고의 입찰 응답에 제공해야 하는
id
를 찾을 수 있습니다.다음 필드를 참고하세요.
- Authorized Buyers:
BidRequest.mobile.installed_sdk
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Authorized Buyers:
InstalledSdk
메시지에 대한 자세한 내용은 Google 및 OpenRTB 프로토콜 가이드를 참조하세요.- 광고 단위 매핑
입찰 요청을 사용하여 입찰 슬롯과 일치하는 광고 단위 매핑을 읽을 수 있습니다.
다음 필드를 참고하세요.
- Authorized Buyers:
BidRequest.AdSlot.ad_unit_mapping
- OpenRTB:
BidRequest.imp.ext.ad_unit_mapping
- Authorized Buyers:
AdUnitMapping
객체에 대한 자세한 내용은 Google 및 OpenRTB 프로토콜 가이드를 참조하세요.- 보안 처리된 신호
게시자가 선택한 보안 신호를 전달하는 데 사용되는 표준 확장 프로그램인 확장 ID 객체를 읽어야 합니다.
다음 필드를 참고하세요.
- Authorized Buyers:
BidRequest.AdSlot.SecureSignal.data
- OpenRTB:
BidRequest.user.ext.eids.uids.id
- Authorized Buyers:
Extended Id
객체에 대한 자세한 내용은 Google 및 OpenRTB 프로토콜 가이드를 참조하세요.- 테스트 요청
'테스트 요청' 필드를 읽으면 입찰 요청이 테스트인지 파악할 수 있습니다.
다음 필드를 참고하세요.
- Authorized Buyers:
BidRequest.is_test
- OpenRTB:
BidRequest.test
- Authorized Buyers:
샘플 입찰 요청
id: "<bid_request_id>"
imp {
id: "1"
banner {
w: 320
h: 50
...
}
...
adx_ext {
...
ad_unit_mapping {
keyvals {
key: "key_1"
value: "value_1"
}
keyvals {
key: "key_2"
value: "value_2"
}
...
format: FORMAT_BANNER
}
}
}
app {
...
adx_ext {
installed_sdk {
id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
sdk_version {
major: 1
minor: 2
micro: 30
}
adapter_version {
major: 1
minor: 2
micro: 3000
}
}
installed_sdk {
...
}
...
}
}
device {
...
}
user {
...
}
adx_ext {
eids {
source: "com.google.ads.mediation.partner.PartnerMediationAdapter"
uids {
id: "<partner_signal_string>"
}
}
}
}
at: 1
tmax: 1000
cur: "USD"
test: 1
...
adx_ext {
google_query_id: "<query_string>"
...
}
입찰 응답
- 사용 가능 입찰가
BidResponse.seatbid.bid
객체에는 다음 필드가 필요합니다.Authorized Buyers의 경우:
BidResponse.Ad.click_through_url
BidResponse.Ad.AdSlot.billing_id
BidResponse.Ad.buyer_creative_id
BidResponse.Ad.width
BidResponse.Ad.height
OpenRTB:
BidResponse.seatbid.bid.adomain
BidResponse.seatbid.bid.cid
BidResponse.seatbid.bid.crid
BidResponse.seatbid.bid.w
BidResponse.seatbid.bid.h
입찰 응답에는 다음과 함께 SdkRenderedAd
가 포함되어야 합니다.
- SDK ID
id
필드를 사용하여 SDK가 광고를 렌더링할 ID를 제공합니다.입찰 요청에서 다음 필드를 통해 ID를 찾을 수 있습니다.
- Authorized Buyers:
BidRequest.mobile.installed_sdk
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Authorized Buyers:
InstalledSdk
메시지에 대한 자세한 내용은 Google 및 OpenRTB 프로토콜 가이드를 참조하세요.- 선언된 광고
declared_ad
필드를 사용하여 입찰 요청의CreativeEnforcementSettings
요구사항을 충족하고 광고의 렌더링 데이터를 나타내는 광고 소재를 제공하세요. 네이티브가 아닌 광고 형식의 경우html_snippet
,video_url
또는video_vast_xml
중 하나만 표시해야 합니다. 네이티브 광고 형식의 경우native_response
만 표시되어야 합니다.- Authorized Buyers:
BidResponse.ad.sdk_rendered_ad.declared_ad
- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
declared_ad
를 채우지 않으면 광고 소재를 검토할 수 없으며 광고 소재가 포함된 모든 입찰이 입찰에서 필터링됩니다.- Authorized Buyers:
- 데이터 렌더링
rendering_data
필드를 사용하여 구매자 SDK에서 광고를 렌더링하는 데 사용할 데이터를 제공합니다.- Authorized Buyers:
BidResponse.ad.sdk_rendered_ad.rendering_data
- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
- Authorized Buyers:
구매자 SDK 광고를 게재하기 위한 입찰은
declared_ad
필드에 광고 소재를 지정해야 합니다. 선언된 광고는rendering_data
을 정확하게 나타내야 합니다.다음은 샘플
SdkRenderedAd
객체입니다.{ "id": "1234567", "rendering_data": "\xd58...,\xd4\x89\xd\xf9", "declared_ad": { "html_snippet": "<iframe src=\"https://example.com/ads?id=123& curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>", } }
입찰 응답에 광고 소재를 포함하기 전에 Real-timeBidding API를 사용하여 검토를 위해 광고 소재를 제출하는 것이 좋습니다.
SdkRenderedAd
필드에 대한 자세한 내용은 Google 및 OpenRTB 프로토콜 가이드를 참조하세요.
샘플 입찰 응답
다음은 각 광고 형식에 대한 샘플 입찰 응답입니다.
배너
id: "<bid_request_id>"
seatbid {
bid {
id: "<bidder_generated_response_id>"
impid: "1"
price: 99
adomain: "https://play.google.com/store/apps/details?id=com.test.app"
cid: "<billing_id>"
crid: "<creative_id>"
w: 320
h: 50
burl: "https://abc.com/billing?td=fn&win_price=${AUCTION_PRICE}"
adx_ext {
sdk_rendered_ad {
id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
rendering_data: "<rendering_data_string>"
declared_ad {
click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
html_snippet: "<!doctype html> <html> ... </html>"
}
}
event_notification_token {
payload: "<payload_string>"
}
billing_id: 141763360450
}
}
}
bidid: "<bidder_generated_response_id>"
cur: "USD"
전면 광고
id: "<bid_request_id>"
seatbid {
bid {
id: "<bidder_generated_response_id>"
impid: "1"
price: 400
adomain: "https://play.google.com/store/apps/details?id=com.test.app"
cid: "<billing_id>"
crid: "<creative_id>"
w: 412
h: 775
adx_ext {
sdk_rendered_ad {
id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
rendering_data: "<rendering_data_string>"
declared_ad {
click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
}
}
event_notification_token {
payload: "<payload_string>"
}
}
}
}
bidid: "<bidder_generated_response_id>"
cur: "USD"
보상형 동영상
id: "<bid_request_id>"
seatbid {
bid {
id: "<bidder_generated_response_id>"
impid: "1"
price: 400
adomain: "https://play.google.com/store/apps/details?id=com.test.app"
cid: "<billing_id>"
crid: "<creative_id>"
w: 412
h: 775
adx_ext {
sdk_rendered_ad {
id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
rendering_data: "<rendering_data_string>"
declared_ad {
click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
}
}
event_notification_token {
payload: "<payload_string>"
}
}
}
}
bidid: "<bidder_generated_response_id>"
cur: "USD"
네이티브
id: "<bid_request_id>"
seatbid {
bid {
id: "<bidder_generated_response_id>"
impid: "1"
price: 400
adomain: "https://play.google.com/store/apps/details?id=com.test.app"
cid: "<billing_id>"
crid: "<creative_id>"
w: 1200
h: 627
adx_ext {
sdk_rendered_ad {
id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
rendering_data: "<rendering_data_string>"
declared_ad {
click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
native_response {
...
assets {
id: 1
title {
text: ""
}
}
assets {
id: 2
data {
value: "<some_string>"
}
}
assets {
id: 3
data {
value: "View now"
}
}
assets {
id: 4
img {
url: "<valid_image_url>"
w: 1200
h: 627
type: 3
}
}
assets {
id: 5
img {
url: "<valid_image_url>"
w: 100
h: 100
type: 1
}
}
assets {
id: 6
data {
value: ""
}
}
assets {
id: 7
data {
value: "<some_string>"
}
}
link {
url: "<destination_link>"
}
}
}
}
event_notification_token {
payload: "<payload_string>"
}
}
}
}
bidid: "<bidder_generated_response_id>"
cur: "USD"
광고 소재 검토
광고 소재는 게재되기 전에 Google 정책 및 게시자 설정을 준수하는지 확인하기 위해 검토를 거칩니다.
다음은 검토를 위해 광고 소재를 제출하는 두 가지 방법입니다.
- 실시간 입찰 API (권장)
실시간 입찰 API의
buyers.creatives.create
메서드를 사용하여 검토를 위해 광고 소재를 제출할 수 있습니다.API를 사용하면 광고 소재당 한 번만 제출하면 되며, 이를 통해 광고 소재의 검토 상태를 확인할 수 있습니다.
- 입찰 응답
입찰 응답에서 새 광고 소재를 직접 제출할 수 있습니다.
SdkRenderedAd
객체의declared_ad
필드를 사용하여 검토를 위해 구매자 SDK 광고 소재와 함께 입찰 응답을 제출해야 합니다.입찰 응답에 제출된 광고 소재는 여러 번 입찰한 후에만 검토됩니다. 검토가 완료되기 전에 접수된 모든 입찰은 입찰에서 필터링됩니다. 검토가 시작된 후 실시간 입찰 인터페이스 또는 실시간 입찰 API를 사용하여 광고 소재의 상태를 확인할 수 있습니다.
자세한 내용은 광고 소재 가이드를 참고하세요.