Les annonces du SDK de l'acheteur utilisent des créations affichées par votre propre SDK.
L'inventaire d'applications mobiles des éditeurs qui intègrent votre adaptateur d'enchères à leur application peuvent accepter les enchères avec le format d'annonce affiché par le SDK de l'acheteur. Leur affichage dépend de l'implémentation de votre SDK et du SDKRenderedAd
que vous envoyez dans la réponse à l'enchère.
Vous pouvez définir une enchère qui inclut soit une annonce diffusée par le SDK de l'acheteur, soit tout autre format d'annonce compatible avec le SDK Google Mobile Ads. Toutefois, toutes les enchères contenant les deux sont filtrées.
Conditions requises
Les acheteurs approuvés peuvent accéder aux annonces de SDK de l'acheteur. Ce format demande à l'éditeur et à vous-même des efforts supplémentaires. Contactez votre responsable de compte technique afin de configurer votre compte pour les annonces SDK de l'acheteur. Vous pouvez ensuite implémenter un adaptateur 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 à ses applications mobiles.
Nous vous recommandons d'envoyer les créations pour examen 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 est compatible avec ce format d'annonce, vous pouvez spécifier une annonce qui s'affiche avec votre SDK. Pour ce faire, définissez le champ sdk_rendered_ad
dans la réponse à l'enchère.
Demande d'enchère
Les demandes d'enchères pour l'inventaire d'applications mobiles incluent des informations sur les SDK et les adaptateurs de l'application de l'éditeur que vous pouvez utiliser pour l'affichage dans les champs suivants:
- ID du SDK
Vous pouvez utiliser la demande d'enchère pour trouver l'
id
que vous devez fournir dans la réponse à l'enchère d'une annonce diffusée par le SDK de l'acheteur.Consultez les champs suivants:
- Authorized Buyers:
BidRequest.mobile.installed_sdk
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Authorized Buyers:
Pour en savoir plus sur le message
InstalledSdk
, consultez les guides de protocole Google et OpenRTB.- Mappage de bloc d'annonces
Vous pouvez utiliser la demande d'enchère pour consulter les mises en correspondance de blocs d'annonces qui correspondent à l'emplacement de l'enchère.
Consultez les champs suivants:
- Authorized Buyers:
BidRequest.AdSlot.ad_unit_mapping
- OpenRTB:
BidRequest.imp.ext.ad_unit_mapping
- Authorized Buyers:
Pour en savoir plus sur l'objet
AdUnitMapping
, consultez les guides concernant les protocoles Google et OpenRTB.- Signaux sécurisés
Vous devez lire l'objet "Extended Id", qui est l'extension standard utilisée pour transmettre des signaux sécurisés choisis par l'éditeur.
Consultez les champs suivants:
- Authorized Buyers:
BidRequest.AdSlot.SecureSignal.data
- OpenRTB:
BidRequest.user.ext.eids.uids.id
- Authorized Buyers:
Pour en savoir plus sur l'objet
Extended Id
, consultez les guides concernant les protocoles Google et OpenRTB.- Requêtes de test
Vous pouvez lire le champ "Demande de test" pour savoir s'il s'agit d'un test.
Consultez les champs suivants:
- Authorized Buyers:
BidRequest.is_test
- OpenRTB:
BidRequest.test
- Authorized Buyers:
Pour en savoir plus sur le champ
Test
, consultez les guides concernant les protocoles Google et OpenRTB.
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
- Enchère pour le siège
Les champs suivants sont obligatoires dans l'objet
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
Pour en savoir plus sur le message
SeatBid
, consultez les guides de protocole Google et OpenRTB.
Votre réponse à l'enchère doit inclure un élément SdkRenderedAd
avec les éléments suivants:
- ID du SDK
Utilisez le champ
id
pour fournir l'ID permettant au SDK d'afficher l'annonce.Vous trouverez cet ID dans la demande d'enchère à l'aide des champs suivants:
- Authorized Buyers:
BidRequest.mobile.installed_sdk
- OpenRTB:
BidRequest.app.ext.installed_sdk
- Authorized Buyers:
Pour en savoir plus sur le message
InstalledSdk
, consultez les guides de protocole Google et OpenRTB.- Annonce déclarée
Utilisez un champ
declared_ad
pour fournir une création qui répond aux exigencesCreativeEnforcementSettings
de la demande d'enchère et qui soit représentative des données de rendu de l'annonce. Pour les formats d'annonces non natives, seul l'un des formatshtml_snippet
,video_url
ouvideo_vast_xml
doit être présenté. Pour le format d'annonce native, seulnative_response
doit être présenté.- Authorized Buyers:
BidResponse.ad.sdk_rendered_ad.declared_ad
- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.declared_ad
Si vous n'insérez pas le champ
declared_ad
, nous ne pouvons pas examiner la création, et toutes les enchères associées à celle-ci sont exclues de la mise aux enchères.- Authorized Buyers:
- Rendu des données
Utilisez le champ
rendering_data
pour fournir les données que le SDK de l'acheteur utilisera pour afficher votre annonce.- Authorized Buyers:
BidResponse.ad.sdk_rendered_ad.rendering_data
- OpenRTB:
BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
- Authorized Buyers:
Les enchères visant à placer une annonce de SDK de l'acheteur doivent spécifier une création dans le champ
declared_ad
. L'annonce déclarée doit représenter précisément larendering_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 les créations pour examen avant de les inclure dans une réponse à l'enchère.
Consultez les guides des protocoles Google et 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 sont examinées avant de pouvoir être diffusées, afin de vérifier qu'elles respectent nos Règles et les paramètres de l'éditeur.
Voici deux façons d'envoyer des créations pour examen:
- API Real-time Bidding (recommandé)
Vous pouvez utiliser la méthode
buyers.creatives.create
de l'API Real-time Bidding pour envoyer des créations pour examen.L'API ne nécessite qu'un seul envoi par création et vous permet de vérifier 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 exclues de la mise en concurrence. Une fois l'examen commencé, vous pouvez utiliser l'interface d'enchères en temps réel ou l'API Real-time Bidding pour vérifier l'état d'une création.
Pour en savoir plus, consultez le guide sur les créations.