Gli annunci SDK dell'acquirente utilizzano creatività visualizzate dal tuo SDK.
L'inventario per app mobile dei publisher che integrano l'adattatore
offerta nella propria app può accettare offerte
con il formato dell'annuncio visualizzato tramite l'SDK dell'acquirente. Il modo in cui vengono visualizzati si basa sull'implementazione dell'SDK e sul SDKRenderedAd
specificato nella risposta all'offerta.
Puoi fare un'offerta che include un annuncio visualizzato con l'SDK dell'acquirente o qualsiasi altro formato di annuncio supportato dall'SDK Google Mobile Ads, ma tutte le offerte contenenti entrambi vengono filtrate.
Requisiti
Gli annunci SDK degli acquirenti sono disponibili per gli acquirenti approvati. Questo formato richiede un maggiore impegno da parte tua e del publisher. Contatta il tuo Technical Account Manager per configurare il tuo account per gli annunci SDK dell'acquirente. Puoi quindi implementare un adattatore offerte che consente al tuo SDK di comunicare con l'SDK Google Mobile Ads. Il publisher deve integrare l'SDK e l'adattatore nelle app mobile.
Ti consigliamo di inviare le creatività per la revisione prima di includerle in una risposta all'offerta. Contatta il tuo Technical Account Manager se non conosci il tipo di creatività al momento dell'offerta.
Se una richiesta di offerta supporta questo formato dell'annuncio, puoi specificare un annuncio che viene visualizzato con il tuo SDK impostando il campo sdk_rendered_ad
nella risposta all'offerta.
Richiesta di offerta
Le richieste di offerta per l'inventario per app mobile includono dettagli sugli SDK e sugli adattatori nell'app del publisher che puoi utilizzare per il rendering nei seguenti campi:
- ID SDK
Puoi utilizzare la richiesta di offerta per trovare il
id
da fornire nella risposta all'offerta per un annuncio visualizzato dall'SDK dell'acquirente.Esamina i seguenti campi:
- Authorized Buyers:
BidRequest.mobile.installed_sdk
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Authorized Buyers:
Puoi scoprire di più sul messaggio
InstalledSdk
nelle guide sui protocolli Google e OpenRTB.- Mappatura delle unità pubblicitarie
Puoi utilizzare la richiesta di offerta per leggere le mappature delle unità pubblicitarie che corrispondono all'area dell'offerta.
Esamina i seguenti campi:
- Authorized Buyers:
BidRequest.AdSlot.ad_unit_mapping
- OpenRTB:
BidRequest.imp.ext.ad_unit_mapping
- Authorized Buyers:
Puoi scoprire di più sull'oggetto
AdUnitMapping
nelle guide ai protocolli Google e OpenRTB.- Indicatori sicuri
Dovresti leggere l'oggetto ID esteso, che è l'estensione standard utilizzata per il passaggio di indicatori sicuri scelti dal publisher.
Esamina i seguenti campi:
- Authorized Buyers:
BidRequest.AdSlot.SecureSignal.data
- OpenRTB:
BidRequest.user.ext.eids.uids.id
- Authorized Buyers:
Puoi scoprire di più sull'oggetto
Extended Id
nelle guide ai protocolli Google e OpenRTB.- Richieste di test
Puoi leggere il campo Richiesta di test per capire se la richiesta di offerta è un test.
Esamina i seguenti campi:
- Authorized Buyers:
BidRequest.is_test
- OpenRTB:
BidRequest.test
- Authorized Buyers:
Puoi trovare ulteriori informazioni sul campo
Test
nelle guide sui protocolli Google e OpenRTB.
Esempio di richiesta di offerta
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>"
...
}
Risposta all'offerta
- Offerta per utenze
I seguenti campi sono obbligatori nell'oggetto
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
Puoi scoprire di più sul messaggio
SeatBid
nelle guide sui protocolli Google e OpenRTB.
La risposta all'offerta deve includere un SdkRenderedAd
con quanto segue:
- ID SDK
Utilizza il campo
id
per fornire l'ID dell'SDK per il rendering dell'annuncio.Puoi trovare l'ID nella richiesta di offerta con i seguenti campi:
- Authorized Buyers:
BidRequest.mobile.installed_sdk
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Authorized Buyers:
Puoi scoprire di più sul messaggio
InstalledSdk
nelle guide sui protocolli Google e OpenRTB.- Annuncio dichiarato
Utilizza un campo
declared_ad
per fornire una creatività che soddisfi i requisitiCreativeEnforcementSettings
della richiesta di offerta e che sia rappresentativa dei dati di rendering dell'annuncio. Per i formati di annunci non nativi, deve essere presentato solo uno trahtml_snippet
,video_url
ovideo_vast_xml
. Per il formato dell'annuncio nativo, deve essere presentato solonative_response
.- Authorized Buyers:
BidResponse.ad.sdk_rendered_ad.declared_ad
- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
Se non compili
declared_ad
, non siamo in grado di esaminare la creatività e tutte le offerte contenenti la creatività vengono filtrate dall'asta.- Authorized Buyers:
- Dati di rendering
Utilizza il campo
rendering_data
per fornire i dati che l'SDK dell'acquirente utilizza per visualizzare l'annuncio.- Authorized Buyers:
BidResponse.ad.sdk_rendered_ad.rendering_data
- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
- Authorized Buyers:
Le offerte per posizionare un annuncio SDK dell'acquirente devono specificare una creatività nel campo
declared_ad
. L'annuncio dichiarato deve rappresentare con precisionerendering_data
.Ecco un oggetto
SdkRenderedAd
di esempio:{ "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>", } }
Ti consigliamo di utilizzare l'API Real-time Bidding per inviare le creatività per la revisione prima di includerle in una risposta all'offerta.
Per ulteriori dettagli sui campi SdkRenderedAd
, consulta le guide sui protocolli Google e OpenRTB.
Esempio di risposta all'offerta
Di seguito sono riportati esempi di risposte all'offerta per ciascun formato di annuncio:
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 con premio
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"
Nativo
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"
Verifica delle creatività
Le creatività vengono esaminate prima di poter essere pubblicate per garantire che siano conformi alle nostre norme e alle impostazioni del publisher.
Puoi inviare le creatività per la revisione in due modi:
- API Real-time Bidding (consigliata)
Puoi usare il metodo
buyers.creatives.create
dell'API Real-time Bidding per inviare le creatività per la revisione.L'API richiede un solo invio per creatività e consente di controllare lo stato della verifica della creatività.
- Risposta all'offerta
Puoi inviare nuove creatività direttamente nella risposta all'offerta.
Devi utilizzare il campo
declared_ad
dell'oggettoSdkRenderedAd
per inviare una risposta all'offerta con una creatività SDK dell'acquirente per la revisione.Le creatività inviate nella risposta all'offerta vengono esaminate solo dopo molte offerte. Tutte le offerte fatte prima del completamento della revisione vengono escluse dall'asta. Puoi utilizzare l'interfaccia delle offerte in tempo reale o l'API delle offerte in tempo reale per controllare lo stato di una creatività dopo l'inizio della revisione.
Consulta la guida alle creatività per ulteriori dettagli.