Les annonces SDK de l'acheteur utilisent des créations affichées par votre propre SDK.
L'inventaire d'applications mobiles des éditeurs qui intègrent vos enchères
de l'adaptateur à son application peut accepter les enchères.
avec le format d'annonce affiché par le SDK de l'acheteur. Leur affichage dépend de vos
L'implémentation du SDK et le SDKRenderedAd
que vous envoyez dans le
réponse à l'enchère.
Vous pouvez placer une enchère incluant une annonce affichée par le SDK de l'acheteur ou toute autre annonce format compatibles avec le SDK Google Mobile Ads. les enchères contenant les deux sont filtrées.
Conditions requises
Les annonces SDK d'acheteurs sont disponibles pour les acheteurs approuvés. Ce format nécessite des de votre part et de celle de l'éditeur. Contactez votre responsable de compte technique pour configurer votre compte pour les annonces SDK de l'acheteur. Vous pouvez ensuite implémenter une stratégie d'enchères qui permet à votre SDK de communiquer avec le SDK Google Mobile Ads. L'éditeur doit intégrer votre SDK et votre adaptateur dans leurs applis mobiles.
Nous vous recommandons d'envoyer des créations pour avis avant de les inclure dans une réponse à l'enchère. Contactez votre responsable de compte technique si vous ne connaissez pas le type de création au moment de l'enchère.
Si une demande d'enchère accepte ce format d'annonce, vous pouvez spécifier une annonce qui s'affichera
avec votre SDK en définissant le champ sdk_rendered_ad
dans l'enchère
de réponse.
Demande d'enchère
Les demandes d'enchères pour l'inventaire d'applications mobiles incluent des informations sur les SDK et adaptateurs dans l'application de l'éditeur que vous pouvez utiliser pour l'affichage dans :
- ID du SDK
Vous pouvez utiliser la demande d'enchère pour identifier l'
id
à indiquer dans l'enchère. pour une annonce affichée par le SDK de l'acheteur.Consultez les champs suivants:
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Protocole Google RTB (obsolète):
BidRequest.mobile.installed_sdk
- OpenRTB:
Pour en savoir plus sur le message
InstalledSdk
, consultez la OpenRTB et Google guides du protocole.- Mise en correspondance des blocs d'annonces
Vous pouvez utiliser la demande d'enchère pour lire les mises en correspondance de blocs d'annonces qui correspondent à l'espace d'enchère.
Consultez les champs suivants:
- OpenRTB:
BidRequest.imp.ext.ad_unit_mapping
- Protocole Google RTB (obsolète):
BidRequest.AdSlot.ad_unit_mapping
- OpenRTB:
Pour en savoir plus sur l'objet
AdUnitMapping
, consultez la OpenRTB et Google guides du protocole.- Signaux sécurisés
Les éditeurs peuvent partager des signaux sécurisés avec des enchérisseurs. Vous pouvez les lire à partir de L'objet
BuyerGeneratedRequestData
d'OpenRTB ou de l'objet Google L'objetSecureSignal
du protocole d'enchères en temps réel.Consultez les champs suivants:
- OpenRTB:
BidRequest.imp.ext.buyer_generated_request_data.data
- Protocole Google RTB (obsolète):
BidRequest.AdSlot.SecureSignal.data
- OpenRTB:
Pour en savoir plus sur la représentation des signaux sécurisés dans le document OpenRTB et Google guides du protocole.
- Requêtes de test
Vous pouvez lire le champ Demande test pour déterminer si la demande d'enchère est un test.
Consultez les champs suivants:
- OpenRTB:
BidRequest.test
- Protocole Google RTB (obsolète):
BidRequest.is_test
- OpenRTB:
Pour en savoir plus sur le champ
Test
, consultez la OpenRTB et Google guides du protocole.
Exemple de demande d'enchère
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>"
...
}
Réponse à l'enchère
Les champs suivants sont obligatoires dans la réponse à l'enchère:
- OpenRTB:
BidResponse.seatbid.bid.adomain
BidResponse.seatbid.bid.ext.billing_id
BidResponse.seatbid.bid.crid
BidResponse.seatbid.bid.w
BidResponse.seatbid.bid.h
- Protocole Google RTB (obsolète):
BidResponse.Ad.click_through_url
BidResponse.Ad.AdSlot.billing_id
BidResponse.Ad.buyer_creative_id
BidResponse.Ad.width
BidResponse.Ad.height
En outre, votre réponse à l'enchère doit inclure un élément SdkRenderedAd
avec le paramètre
suivantes:
- ID du SDK
Utilisez le champ
id
pour indiquer l'ID permettant au SDK d'afficher l'annonce.Vous pouvez trouver l'ID dans la demande d'enchère dans les champs suivants:
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Protocole Google RTB (obsolète):
BidRequest.mobile.installed_sdk
- OpenRTB:
Pour en savoir plus sur le message
InstalledSdk
, consultez la OpenRTB et Google guides du protocole.- Annonce déclarée
Utilisez un champ
declared_ad
pour fournir une création qui correspond à laCreativeEnforcementSettings
et est représentatif des des données de rendu. Un seul des éléments suivants :html_snippet
,video_url
,video_vast_xml
ounative_response
doit être renseigné.- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
- Protocole Google RTB (obsolète):
BidResponse.ad.sdk_rendered_ad.declared_ad
Si vous n'incluez pas
declared_ad
, nous ne pouvons pas examiner la création ni toutes les enchères associées à la création sont exclues de la mise en concurrence.- OpenRTB:
- Données de rendu
Utilisez le champ
rendering_data
pour indiquer les données que le SDK de l'acheteur doit pour afficher votre annonce.- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
- Protocole Google RTB (obsolète):
BidResponse.ad.sdk_rendered_ad.rendering_data
- OpenRTB:
Les enchères visant à placer une annonce SDK de l'acheteur doivent spécifier une création dans l'
declared_ad
. . L'annonce déclarée doit représenter précisément l'rendering_data
.Voici un exemple d'objet
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>", } }
Nous vous recommandons d'utiliser l'API Real-time Bidding pour envoyer des créations pour avis avant de les inclure dans une réponse à l'enchère.
Consultez le
Google et
Guides du protocole OpenRTB
pour en savoir plus sur les champs SdkRenderedAd
.
Exemple de réponse à l'enchère
Voici des exemples de réponses aux enchères pour chaque format d'annonce:
Bannière
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"
Interstitiel
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"
Annonce vidéo avec récompense
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"
Natif
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"
Vérification des créations
Les créations font l'objet d'un examen avant de pouvoir être diffusées afin de vérifier qu'elles respectent nos Règles et paramètres paramètres.
Voici deux façons d'envoyer des créations pour examen:
- API Real-time Bidding (recommandé)
Vous pouvez utiliser
buyers.creatives.create
de l'API Real-time Bidding pour envoyer vos créations pour examen.L'API ne requiert qu'un seul envoi par création et vous permet de vérifier de l'état de l'examen de votre création.
- Réponse à l'enchère
Vous pouvez envoyer de nouvelles créations directement dans la réponse à l'enchère.
Vous devez utiliser le champ
declared_ad
de l'objetSdkRenderedAd
pour envoyer une réponse à l'enchère avec une création SDK de l'acheteur pour examen.Les créations envoyées dans la réponse à l'enchère ne sont examinées qu'après un grand nombre d'enchères. Toutes les enchères placées avant la fin de l'examen sont filtrées et exclues de la mise en concurrence. Vous pouvez utiliser l'interface d'enchères en temps réel. ou les enchères en temps réel API pour vérifier l'état d'une création une fois l'examen commencé.
Consultez le guide des créations pour découvrir plus de détails.