Quảng cáo SDK của người mua sử dụng mẫu quảng cáo do SDK của riêng bạn hiển thị.
Khoảng không quảng cáo trên ứng dụng di động của những nhà xuất bản tích hợp trình chuyển đổi đặt giá thầu vào ứng dụng của họ có thể chấp nhận giá thầu bằng định dạng quảng cáo do SDK của bên mua hiển thị. Cách hiển thị của các thành phần này dựa trên cách triển khai SDK và SDKRenderedAd
mà bạn gửi trong phản hồi giá thầu.
Bạn có thể đặt giá thầu bao gồm quảng cáo do SDK của người mua hiển thị hoặc bất kỳ định dạng quảng cáo nào khác mà SDK quảng cáo của Google trên thiết bị di động hỗ trợ, nhưng mọi giá thầu chứa cả hai sẽ bị lọc.
Yêu cầu
Quảng cáo SDK của người mua được cung cấp cho những người mua đã được phê duyệt. Định dạng này đòi hỏi bạn và nhà xuất bản phải nỗ lực nhiều hơn. Hãy liên hệ với Nhà quản lý tài khoản kỹ thuật để định cấu hình tài khoản của bạn cho quảng cáo SDK của người mua. Sau đó, bạn có thể triển khai bộ chuyển đổi Đặt giá thầu để cho phép SDK của bạn giao tiếp với SDK quảng cáo trên thiết bị di động của Google. Nhà xuất bản cần tích hợp SDK và bộ chuyển đổi của bạn vào ứng dụng di động của họ.
Bạn nên gửi mẫu quảng cáo để xem xét trước khi đưa mẫu quảng cáo đó vào một phản hồi giá thầu. Hãy liên hệ với Nhà quản lý tài khoản kỹ thuật nếu bạn không biết loại mẫu quảng cáo tại thời điểm đặt giá thầu.
Nếu một yêu cầu giá thầu hỗ trợ định dạng quảng cáo này, bạn có thể chỉ định một quảng cáo hiển thị bằng SDK của mình bằng cách đặt trường sdk_rendered_ad
trong phản hồi giá thầu.
Yêu cầu giá thầu
Yêu cầu giá thầu cho khoảng không quảng cáo trên ứng dụng di động bao gồm thông tin chi tiết về các SDK và bộ chuyển đổi trong ứng dụng của nhà xuất bản mà bạn có thể sử dụng để hiển thị trong các trường sau:
- Mã SDK
Bạn có thể sử dụng yêu cầu giá thầu để tìm mã nhận dạng SDK mà bạn phải cung cấp trong phản hồi giá thầu bằng trường
BidRequest.app.ext.installed_sdk.id
.Bạn có thể tìm hiểu thêm về nội dung này trong tài liệu tham khảo về
InstalledSdk
.- Liên kết đơn vị quảng cáo
Bạn có thể sử dụng yêu cầu giá thầu để tìm các mối liên kết đơn vị quảng cáo khớp với khung giá thầu bằng trường
BidRequest.imp.ext.ad_unit_mapping
.Bạn có thể tìm hiểu thêm về nội dung này trong tài liệu tham khảo về
AdUnitMapping
.- Tín hiệu an toàn
Nhà xuất bản có thể chia sẻ tín hiệu an toàn với bên đặt giá thầu. Bạn có thể tìm thấy các thành phần này trong
BidRequest.imp.ext.buyer_generated_request_data.data
.Bạn có thể tìm hiểu thêm về cách biểu thị tín hiệu an toàn trong tài liệu tham khảo về
BuyerGeneratedRequestData
.- Yêu cầu kiểm thử
Bạn có thể sử dụng trường
BidRequest.test
để xác minh xem yêu cầu giá thầu có phải là yêu cầu thử nghiệm hay không.Bạn có thể tìm hiểu thêm về trường này trong tài liệu tham khảo về
BidRequest
.
Yêu cầu giá thầu mẫu
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>"
...
}
Phản hồi giá thầu
Các trường sau đây là bắt buộc trong phản hồi giá thầu:
BidResponse.seatbid.bid.adomain
BidResponse.seatbid.bid.ext.billing_id
BidResponse.seatbid.bid.crid
BidResponse.seatbid.bid.w
BidResponse.seatbid.bid.h
Ngoài ra, phản hồi giá thầu của bạn phải điền vào BidResponse.seatbid.bid.ext.sdk_rendered_ad
những thông tin sau:
- Mã SDK
Sử dụng trường
id
để cung cấp mã nhận dạng cho SDK hiển thị quảng cáo.Bạn có thể tìm thấy mã nhận dạng trong
BidRequest.app.ext.installed_sdk
.- Quảng cáo đã khai báo
Sử dụng
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
để cung cấp một mẫu quảng cáo đáp ứng các yêu cầu trongBidRequest.imp.ext.creative_enforcement_settings
và đại diện cho dữ liệu kết xuất của quảng cáo. Chỉ được điền một trong các giá trịhtml_snippet
,video_url
,video_vast_xml
hoặcnative_response
.Nếu bạn không điền
declared_ad
, chúng tôi sẽ không thể xem xét mẫu quảng cáo và tất cả giá thầu có mẫu quảng cáo đó sẽ bị lọc ra khỏi phiên đấu giá.Bạn có thể tìm hiểu thêm về quảng cáo đã khai báo trong tài liệu tham khảo về
DeclaredAd
.- Kết xuất dữ liệu
Sử dụng trường
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
để cung cấp dữ liệu cho SDK của bên mua sử dụng nhằm hiển thị quảng cáo của bạn.Giá thầu để đặt quảng cáo SDK của người mua phải chỉ định một mẫu quảng cáo trong trường
declared_ad
. Quảng cáo được khai báo phải thể hiện chính xácrendering_data
.Dưới đây là một đối tượng
SdkRenderedAd
mẫu:{ "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>", } }
Bạn nên sử dụng API Đặt giá thầu theo thời gian thực để gửi mẫu quảng cáo để xem xét trước khi đưa mẫu quảng cáo đó vào phản hồi giá thầu.
Hãy xem hướng dẫn về OpenRTB để biết thêm thông tin chi tiết về các trường SdkRenderedAd
.
Phản hồi giá thầu mẫu
Dưới đây là các phản hồi giá thầu mẫu cho từng định dạng quảng cáo:
Biểu ngữ
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"
Quảng cáo xen kẽ
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"
Video có tặng thưởng
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"
Mã gốc
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"
Xem xét mẫu quảng cáo
Mẫu quảng cáo sẽ được xem xét trước khi có thể phân phát để đảm bảo mẫu quảng cáo đó tuân thủ chính sách và chế độ cài đặt của nhà xuất bản.
Sau đây là hai cách để bạn gửi mẫu quảng cáo để xem xét:
- Real-time Bidding API (nên dùng)
Bạn có thể sử dụng phương thức
buyers.creatives.create
của API Đặt giá thầu theo thời gian thực để gửi mẫu quảng cáo để xem xét.API chỉ yêu cầu một lần gửi cho mỗi mẫu quảng cáo và cho phép bạn kiểm tra trạng thái xem xét mẫu quảng cáo.
- Phản hồi giá thầu
Bạn có thể gửi mẫu quảng cáo mới ngay trong phản hồi giá thầu.
Bạn phải sử dụng trường
declared_ad
của đối tượngSdkRenderedAd
để gửi phản hồi giá thầu kèm theo mẫu quảng cáo SDK của người mua để được xem xét.Mẫu quảng cáo được gửi trong giá thầu phản hồi chỉ được xem xét sau nhiều giá thầu. Tất cả giá thầu được đặt trước khi quy trình xem xét hoàn tất đều bị lọc khỏi phiên đấu giá. Bạn có thể sử dụng giao diện Đặt giá thầu theo thời gian thực hoặc API Đặt giá thầu theo thời gian thực để kiểm tra trạng thái của mẫu quảng cáo sau khi quy trình xem xét bắt đầu.
Hãy xem hướng dẫn về mẫu quảng cáo để biết thêm thông tin chi tiết.