Bei Anzeigen mit Käufer-SDK werden Creatives verwendet, die von Ihrem eigenen SDK gerendert werden.
App-Inventar von Publishern, die Ihren Bidding-Adapter in ihre App einbinden, kann Gebote mit dem vom Käufer-SDK gerenderten Anzeigenformat annehmen. Die Art des Renderings hängt von Ihrer
SDK-Implementierung und der SDKRenderedAd ab, die Sie in der
Gebotsantwort senden.
Sie können ein Gebot abgeben, das entweder eine vom Käufer-SDK gerenderte Anzeige oder ein anderes Anzeigen format enthält, das vom Google Mobile Ads SDK unterstützt wird. Gebote, die beides enthalten, werden herausgefiltert.
Voraussetzungen
Anzeigen mit Käufer-SDK sind für genehmigte Käufer verfügbar. Dieses Format erfordert zusätzlichen Aufwand von Ihnen und dem Publisher. Wenden Sie sich an Ihren Technical Account Manager, um Ihr Konto für Anzeigen mit Käufer-SDK zu konfigurieren. Anschließend können Sie einen Gebotsadapter implementieren, mit dem Ihr SDK mit dem Google Mobile Ads SDK kommunizieren kann. Der Publisher muss Ihr SDK und Ihren Adapter in seine mobilen Apps einbinden.
Wir empfehlen, 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. Dazu legen Sie das Feld sdk_rendered_ad in der Gebotsantwort fest.
Gebotsanfrage
Gebotsanfragen für Inventar mobiler Apps enthalten Details zu den SDKs und Adaptern in der App des Publishers, die Sie für das Rendering verwenden können. Diese Details finden Sie in den folgenden Feldern:
- SDK-ID
In der Gebotsanfrage finden Sie die SDK-ID, die Sie in der Gebotsantwort im Feld
BidRequest.app.ext.installed_sdk.idangeben müssen.Weitere Informationen finden Sie in der
InstalledSdkReferenzdokumentation.- Anzeigenblockzuordnung
In der Gebotsanfrage finden Sie die Anzeigenblockzuordnungen, die mit dem Gebotsplatz übereinstimmen. Sie sind im Feld
BidRequest.imp.ext.ad_unit_mappingangegeben.Weitere Informationen finden Sie in der
AdUnitMappingReferenzdokumentation.- Sichere Signale
Publisher können sichere Signale für Bieter freigeben. Sie finden diese in
BidRequest.imp.ext.buyer_generated_request_data.data.Weitere Informationen zur Darstellung sicherer Signale finden Sie in der
BuyerGeneratedRequestDataReferenzdokumentation.- Testanfragen
Mit dem Feld
BidRequest.testkönnen Sie prüfen, ob es sich bei der Gebotsanfrage um einen Test handelt.Weitere Informationen zu diesem Feld finden Sie in der
BidRequestReferenzdokumentation.
Beispiel einer 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.adomainBidResponse.seatbid.bid.ext.billing_idBidResponse.seatbid.bid.cridBidResponse.seatbid.bid.wBidResponse.seatbid.bid.h
Außerdem muss in der Gebotsantwort
BidResponse.seatbid.bid.ext.sdk_rendered_ad
mit den folgenden Informationen gefüllt werden:
- SDK-ID
Geben Sie im Feld
iddie ID für das SDK an, mit dem die Anzeige gerendert werden soll.Sie finden die ID in
BidRequest.app.ext.installed_sdk.- Deklarierte Anzeige
Geben Sie mit
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_adein Creative an, das die Anforderungen inBidRequest.imp.ext.creative_enforcement_settingserfüllt und repräsentativ für die Renderingdaten der Anzeige ist. Nur eines der Felderhtml_snippet,video_url,video_vast_xmlodernative_responsesollte gefüllt sein.Wenn Sie
declared_adnicht ausfüllen, können wir das Creative nicht überprüfen. Alle Gebote mit dem Creative werden dann herausgefiltert.Weitere Informationen zur deklarierten Anzeige finden Sie in der
DeclaredAdReferenzdokumentation.- Renderingdaten
Geben Sie im Feld
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_datadie Daten an, die das Käufer-SDK zum Rendern Ihrer Anzeige verwenden soll.Bei Geboten für eine Anzeige mit Käufer-SDK muss im Feld
declared_adein Creative angegeben werden. Die deklarierte Anzeige muss dierendering_datakorrekt darstellen.Hier ist 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, Creatives mit der Real-time Bidding API zur Überprüfung einzureichen, bevor Sie sie in eine Gebotsantwort aufnehmen.
Weitere Informationen zu den
Feldern finden Sie im
OpenRTB-Leitfaden SdkRenderedAd.
Beispiel einer Gebotsantwort
Hier sind Beispiel-Gebotsantworten für die einzelnen Anzeigenformate:
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 überprüft, bevor sie ausgeliefert werden können. So soll sichergestellt werden, dass sie unseren Richtlinien und den Publisher Einstellungen entsprechen.
Sie haben zwei Möglichkeiten, Creatives zur Überprüfung einzureichen:
- Real-time Bidding API (empfohlen)
Mit der
buyers.creatives.createMethode der Echtzeitgebote API können Sie Creatives zur Überprüfung einreichen.Die API erfordert nur eine Einreichung pro Creative und ermöglicht es Ihnen, den Status der Creative-Überprüfung zu prüfen.
- Gebotsantwort
Sie können neue Creatives direkt in der Gebotsantwort einreichen.
Sie müssen das Feld
declared_addes ObjektsSdkRenderedAdverwenden, um eine Gebotsantwort mit einem Creative des Käufer-SDK 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 werden, werden aus der Auktion herausgefiltert. Sie können die Echtzeitgebote-Benutzeroberfläche oder die Echtzeitgebote API verwenden, um den Status eines Creatives nach Beginn der Überprüfung zu prüfen.
Weitere Informationen finden Sie im Leitfaden zu Creatives für mehr Details.
Weitere Google Mobile Ads SDK-Integrationen
Authorized Buyers haben mehrere Möglichkeiten, sich direkt in das Google Mobile Ads SDK zu integrieren, darunter Mediation, Bieteradapter und sichere Signale. Weitere Informationen zu diesen Integrationspunkten oder zu anderen Integrationen von On-Device-Signalen oder -Verarbeitung mit dem Google Mobile Ads SDK zur Verbesserung der Anzeigenrelevanz oder -Messung erhalten Sie von Ihrem Technical Account Manager.