Quảng cáo SDK của bên 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 bộ 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 được hiển thị của SDK bên mua. Cách hiển thị các thành phần này dựa trên việc triển khai SDK của bạn 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 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 đều sẽ bị lọc.
Yêu cầu
Quảng cáo SDK của người mua chỉ dành 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 hơn. Hãy liên hệ với Giám đốc Quản lý Khách hàng về Kỹ thuật để định cấu hình tài khoản cho quảng cáo SDK người mua. Sau đó, bạn có thể triển khai một 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 để chúng tôi xem xét trước khi đưa mẫu quảng cáo vào giá thầu phản hồi. Hãy liên hệ với Giám đốc Quản lý Khách hàng về 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 yêu cầu đặt 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 đặt 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ể 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 đặt giá thầu để tìm những mối liên kết đơn vị quảng cáo khớp với vị trí đặt 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 chế độ này trong phần
BidRequest.imp.ext.buyer_generated_request_data.data.Bạn có thể tìm hiểu thêm về cách thể hiện tín hiệu an toàn trong tài liệu tham khảo
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 đặt giá thầu có phải là một 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
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
Bạn phải điền các trường sau trong phản hồi giá thầu:
BidResponse.seatbid.bid.adomainBidResponse.seatbid.bid.ext.billing_idBidResponse.seatbid.bid.cridBidResponse.seatbid.bid.wBidResponse.seatbid.bid.h
Ngoài ra, phản hồi giá thầu của bạn phải điền sẵn BidResponse.seatbid.bid.ext.sdk_rendered_ad bằng những thông tin sau:
- Mã SDK
Sử dụng trường
idđể cung cấp mã nhận dạng cho SDK nhằm hiển thị quảng cáo.Bạn có thể tìm thấy mã này trong
BidRequest.app.ext.installed_sdk.- Quảng cáo được 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_settingsvà đại diện cho dữ liệu hiển thị của quảng cáo. Bạn chỉ nên điền sẵn một trong các thuộc tínhhtml_snippet,video_url,video_vast_xmlhoặ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 khỏi phiên đấu giá.Bạn có thể tìm hiểu thêm về quảng cáo được khai báo trong
DeclaredAdtài liệu tham khảo.- 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 để 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.Sau đây là một ví dụ về đối tượng
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>", } }
Bạn nên sử dụng Real-time Bidding API để 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 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 về 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"
Đánh giá mẫu quảng cáo
Chúng tôi sẽ xem xét mẫu quảng cáo trước khi 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à 2 cách bạn có thể 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.createcủa API Đặt giá thầu theo thời gian thực để gửi mẫu quảng cáo đi xem xét.API này chỉ yêu cầu bạn gửi một lần 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_adcủa đối tượngSdkRenderedAdđể gửi phản hồi đặt giá thầu kèm theo mẫu quảng cáo SDK của người mua để 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 quá 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.