Bei Anzeigen mit Käufer-SDK werden Creatives verwendet, die von Ihrem eigenen SDK gerendert werden.
Für Inventar in mobilen Apps von Publishern, die Ihren Gebotsadapter in ihre App einbinden, können Gebote mit dem vom Käufer-SDK gerenderten Anzeigenformat akzeptiert werden. Wie sie gerendert werden, hängt von Ihrer SDK-Implementierung und dem SDKRenderedAd
ab, das Sie in der Gebotsantwort senden.
Sie können ein Gebot mit einer vom Käufer-SDK gerenderten Anzeige oder einem anderen Anzeigenformat abgeben, das vom Google Mobile Ads SDK unterstützt wird. Gebote, die beides enthalten, werden jedoch herausgefiltert.
Voraussetzungen
Anzeigen mit Käufer-SDKs sind für genehmigte Käufer verfügbar. Dieses Format erfordert zusätzliche Arbeit von dir und dem Verlag. Wenden Sie sich an Ihren Technical Account Manager, um Ihr Konto für Anzeigen mit Käufer-SDKs zu konfigurieren. Sie können dann einen Gebotsadapter implementieren, mit dem Ihr SDK mit dem Google Mobile Ads SDK kommunizieren kann. Der Publisher muss dein SDK und deinen Adapter in seine mobilen Apps einbinden.
Wir empfehlen Ihnen, Creatives zur Überprüfung einzureichen, bevor Sie sie in eine Gebotsantwort aufnehmen. Wenden Sie sich an Ihren Technical Account Manager, wenn Sie den Creative-Typ zum Zeitpunkt der Gebotsabgabe nicht kennen.
Wenn eine Gebotsanfrage dieses Anzeigenformat unterstützt, können Sie eine Anzeige angeben, die mit Ihrem SDK gerendert wird. Legen Sie dazu das Feld sdk_rendered_ad
in der Gebotsantwort fest.
Gebotsanfrage
Gebotsanfragen für Inventar in mobilen Apps enthalten Details zu den SDKs und Adaptern in der App des Publishers, die Sie in den folgenden Feldern für das Rendering verwenden können:
- SDK-ID
In der Gebotsanfrage finden Sie die SDK-ID, die Sie in der Gebotsanfrage im Feld
BidRequest.app.ext.installed_sdk.id
angeben müssen.Weitere Informationen finden Sie in der
InstalledSdk
-Referenzdokumentation.- Anzeigenblockzuordnung
Anhand der Gebotsanfrage können Sie die Anzeigenblockzuordnungen ermitteln, die dem Gebotsslot mit dem Feld
BidRequest.imp.ext.ad_unit_mapping
entsprechen.Weitere Informationen finden Sie in der
AdUnitMapping
-Referenzdokumentation.- Sichere Signale
Publisher können sichere Signale für Bieter freigeben. Sie finden sie in
BidRequest.imp.ext.buyer_generated_request_data.data
.Weitere Informationen zur Darstellung sicherer Signale finden Sie in der
BuyerGeneratedRequestData
-Referenzdokumentation.- Testanfragen
Mit dem Feld
BidRequest.test
können Sie prüfen, ob es sich bei der Gebotsanfrage um einen Test handelt.Weitere Informationen zu diesem Feld finden Sie in der
BidRequest
-Referenzdokumentation.
Beispiel für eine Gebotsanfrage
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>"
...
}
Gebotsantwort
Die folgenden Felder sind in der Gebotsantwort erforderlich:
BidResponse.seatbid.bid.adomain
BidResponse.seatbid.bid.ext.billing_id
BidResponse.seatbid.bid.crid
BidResponse.seatbid.bid.w
BidResponse.seatbid.bid.h
Außerdem muss Ihre Gebotsantwort BidResponse.seatbid.bid.ext.sdk_rendered_ad
folgende Informationen enthalten:
- SDK-ID
Geben Sie im Feld
id
die ID für das SDK an, damit die Anzeige gerendert werden kann.Sie finden die ID unter
BidRequest.app.ext.installed_sdk
.- Angekündigte Anzeige
Verwenden Sie
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
, um ein Creative bereitzustellen, das den Anforderungen inBidRequest.imp.ext.creative_enforcement_settings
entspricht und repräsentativ für die Rendering-Daten der Anzeige ist. Es sollte nur eines der folgenden Felder ausgefüllt sein:html_snippet
,video_url
,video_vast_xml
odernative_response
.Wenn Sie
declared_ad
nicht ausfüllen, können wir das Creative nicht überprüfen und alle Gebote mit dem Creative werden aus der Auktion herausgefiltert.Weitere Informationen zur angegebenen Anzeige finden Sie in der
DeclaredAd
-Referenzdokumentation.- Daten rendern
Geben Sie im Feld
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
die Daten an, die das Käufer-SDK zum Rendern Ihrer Anzeige verwenden soll.Bei Geboten für die Auslieferung einer Anzeige mit Käufer-SDK muss im Feld
declared_ad
ein Creative angegeben werden. Die deklarierte Anzeige muss dierendering_data
korrekt darstellen.Hier ein Beispiel für ein
SdkRenderedAd
-Objekt:{ "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>", } }
Wir empfehlen, die Real-time Bidding API zu verwenden, um Creatives zur Überprüfung einzureichen, bevor Sie sie in eine Gebotsantwort aufnehmen.
Weitere Informationen zu den SdkRenderedAd
-Feldern finden Sie im OpenRTB-Leitfaden.
Beispiel für eine Gebotsantwort
Hier sind Beispielgebotsantworten für jedes Anzeigenformat:
Banner
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"
Interstitial
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 mit Prämie
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"
Nativ
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"
Creative-Überprüfung
Creatives werden vor der Auslieferung überprüft, um sicherzustellen, dass sie unseren Richtlinien und den Einstellungen des Publishers entsprechen.
Es gibt zwei Möglichkeiten, Creatives zur Überprüfung einzureichen:
- Real-time Bidding API (empfohlen)
Sie können die Methode
buyers.creatives.create
der Real-time Bidding API verwenden, um Creatives zur Überprüfung einzureichen.Die API erfordert nur eine Einreichung pro Creative und Sie können den Status der Überprüfung Ihres Creatives prüfen.
- Gebotsantwort
Sie können neue Creatives direkt in der Gebotsantwort einreichen.
Sie müssen das Feld
declared_ad
desSdkRenderedAd
-Objekts verwenden, um eine Gebotsantwort mit einem Käufer-SDK-Creative zur Überprüfung einzureichen.In der Gebotsantwort eingereichte Creatives werden erst nach vielen Geboten überprüft. Alle Gebote, die vor Abschluss der Überprüfung abgegeben wurden, werden aus der Auktion herausgefiltert. Sie können den Status eines Creatives nach Beginn der Überprüfung über die Real-time Bidding-Benutzeroberfläche oder die Real-time Bidding API prüfen.
Weitere Informationen finden Sie im Creative-Leitfaden.