買方 SDK 廣告會使用您的 SDK 顯示的廣告素材。
發布商的行動應用程式廣告空間將出價轉接程式整合至自家應用程式,即可接受使用買方 SDK 顯示的廣告格式出價。顯示方式取決於您的 SDK 實作項目和您在出價回應中提交的 SDKRenderedAd
。
您可以設定出價,包括買方 SDK 顯示的廣告或任何其他 Google Mobile Ads SDK 支援的廣告格式,但包含這兩種廣告的出價都會遭到篩除。
需求條件
買方 SDK 廣告可供核准的買方使用。需要您和發布商額外費心處理這種格式。如要為買方 SDK 廣告設定帳戶,請與您的客戶技術顧問聯絡。接著,您可以導入出價轉接程式,讓 SDK 與 Google Mobile Ads 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:
- 廣告單元對應
您可以使用出價要求,讀取與出價版位相符的廣告單元對應。
請參閱下列欄位:
- Authorized Buyers:
BidRequest.AdSlot.ad_unit_mapping
- OpenRTB:
BidRequest.imp.ext.ad_unit_mapping
- Authorized Buyers:
- 安全信號
您應該讀取 Extended Id 物件,這是用來傳遞發布商所選安全信號的標準擴充功能。
請參閱下列欄位:
- Authorized Buyers:
BidRequest.AdSlot.SecureSignal.data
- OpenRTB:
BidRequest.user.ext.eids.uids.id
- Authorized Buyers:
- 測試要求
您可以讀取「測試請求」欄位,瞭解出價要求是否為測試。
請參閱下列欄位:
- 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:
- 已聲明的廣告
請使用
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>", } }
我們建議使用即時出價 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"
廣告素材審核
廣告素材在放送前會先經過審查,以確保符合我們的政策和發布商 設定。
將廣告素材送審的方式有兩種:
- 即時出價 API (建議)
您可以使用即時出價 API 的
buyers.creatives.create
方法,將廣告素材送交審核。API 只需要為每個廣告素材提交一次,而且可讓您查看廣告素材的審核狀態。
- 出價回應
您可以直接在出價回應中提交新的廣告素材。
您必須使用
SdkRenderedAd
物件的declared_ad
欄位,將出價回應和買方 SDK 廣告素材送交審查。出價回應中提交的廣告素材只會在經過多次出價後審查。 審查完成前的出價會全數從競價中篩除。 廣告素材審核開始後,您可以使用即時出價介面或即時出價 API 查看廣告素材狀態。
詳情請參閱廣告素材指南。