Aprende a configurar una subasta de la API de Protected Audience.
Subastas integradas en el dispositivo ejecutadas por vendedores
Una subasta de Protected Audience integrada en el dispositivo se ejecuta en un sitio que vende espacios publicitarios, y referirse a la parte que ejecuta la subasta como el vendedor. Muchas partes pueden actuar como vendedores: un sitio puede ejecutar su propia subasta de anuncios o incluir secuencia de comandos para ejecutar la subasta, o puede usar una SSP que combine la ejecución de subasta integrada en el dispositivo con otras actividades de subasta de anuncios del servidor. Los vendedores tienen tres trabajos básicos en la subasta de anuncios en el dispositivo:
- Los vendedores deciden (a) qué compradores pueden participar y (b) cuáles de las ofertas. de las interacciones con los compradores grupos de interés son aptos para participar en la subasta. Esto permite el vendedor aplica las reglas del sitio acerca de qué anuncios pueden aparecer en la .
- Los vendedores son responsables de la lógica empresarial de la subasta: JavaScript. que considera el precio y los metadatos de cada oferta, y calcula “deseable” de calidad. La oferta con la puntuación de deseabilidad más alta gana la subasta.
- Los vendedores realizan informes sobre el resultado de la subasta, incluida información sobre el precio y cualquier otro pago. Los compradores ganadores y perdedores también obtienen para que hagan sus propios informes.
En este documento, se explica cómo iniciar y configurar una subasta integrada en el dispositivo.
Configura una subasta de anuncios de la API de Protected Audience
Para ejecutar una subasta de anuncios de la API de Protected Audience, el primer paso es
configurar la subasta. Para ello, se debe crear un objeto auctionConfig
.
A continuación, se muestra un ejemplo de una de estas configuraciones:
const auctionConfig = {
seller: 'https://seller.example',
decisionLogicUrl: ...,
trustedScoringSignalsUrl: ...,
interestGroupBuyers: ['https://buyer-1.example', 'https://buyer-2.example', ...],
auctionSignals: {...},
sellerSignals: {...},
sellerTimeout: 100,
perBuyerSignals: {
'https://buyer-1.example': {...},
'https://buyer-2.example': {...},
...
},
perBuyerTimeouts: {
'https://buyer-1.example': 50,
'https://buyer-2.example': 200,
'*': 150,
...
},
componentAuctions: [
{
'seller': 'https://component-seller.example',
'decisionLogicUrl': ...,
...
},
...
],
resolveToConfig: [true|false],
};
AuctionConfig
propiedades
Propiedades obligatorias
Las únicas propiedades obligatorias para auctionConfigs
son seller
,
decisionLogicUrl
y interestGroupBuyers
.
Propiedad | Ejemplo | Rol |
---|---|---|
vendedor | https://seller.example | Origen del vendedor |
decisionLogicUrl | https://seller.example/decision-logic.js | URL del worklet de lógica de decisión de JavaScript de subastas. Este campo debe tener el mismo origen que el campo de vendedor. |
interestGroupBuyers | [https://buyer-1.example, https://buyer-2.example, ...] |
Orígenes de todos los propietarios de grupos de interés a los que se les solicitó ofertar en la subasta |
Propiedades opcionales
Las propiedades restantes de auctionConfigs
son opcionales.
Propiedad | Ejemplo | Rol |
---|---|---|
trustedScoringSignalsUrl | https://seller.example/scoring-signals | Es la URL del servidor de par clave-valor del vendedor. Se consultará durante el proceso de puntuación de anuncios usando la URL de renderización de la creatividad como clave. Este campo debe tener el mismo origen que el campo de vendedor. |
auctionSignals | {"category":"news"} | Es un objeto serializable JSON que representa los indicadores disponibles para todos los compradores y vendedores que participan en la subasta. |
sellerSignals | {…} | Es un objeto serializable JSON que representa indicadores disponibles solo para los vendedores. |
perBuyerSignals | {https://dsp.example: {...}, https://another-buyer.example: {...}, ... } |
Indicadores disponibles para un comprador específico. Los indicadores pueden provenir de los vendedores y también de los propios compradores. |
perBuyerTimeouts | {https://www.example-dsp.com: 50, https://www.another-buyer.com: 200. *: 150, ...}, |
Tiempo de ejecución máximo en milisegundos de la secuencia de comandos generateBid() de un comprador específico. Se aplicará un símbolo de comodín a cada comprador que no tenga definido un tiempo de espera específico. |
sellerTimeout | 100 | Tiempo de ejecución máximo en milisegundos de la secuencia de comandos scoreAd() de un vendedor. |
componentAuctions | [{seller: https://www.some-other-ssp.com, decisionLogicUrl: ..., ...}, ...] | Configuraciones adicionales para las subastas de componentes. |
resolveToConfig | verdadero|falso | Es un valor booleano que dirige la promesa que se muestra desde runAdSubasta() para resolverse en un FencedFrameConfig si es verdadero (para usarlo en un <fencedframe>) o en una URL opaca de urn:uuid si es falso (para usar en un <iframe>). La configuración predeterminada es "false". |
Cómo proporcionar indicadores de forma asíncrona
Los valores de algunos indicadores (los configurados por auctionSignals
)
sellerSignals
, perBuyerSignals
y perBuyerTimeouts
) pueden
de forma opcional, no como valores concretos, sino como promesas. Esto permite
algunas partes de la subasta, como la carga de secuencias de comandos y de indicadores de confianza.
lanzamiento de procesos de worklet aislados, para superponer el procesamiento (o
recuperación) de esos valores. Las secuencias de comandos del worklet solo verán el archivo
valores; Si se rechaza alguna de estas Promesas, se anulará la subasta, a menos que
ya lograron fallar o se anularon de otras maneras.
Cómo configurar una subasta con varios vendedores
En algunos casos, es posible que varios vendedores deseen participar en una subasta y que
los ganadores de subastas independientes se pasan a otra subasta, dirigida por otro
vendedor. Estas subastas independientes que se rechazan se denominan subastas de componentes.
Para facilitar las subastas de estos componentes, el objeto componentAuctions
puede contener
configuraciones de subasta adicionales para la subasta de componentes de cada vendedor. El
la oferta ganadora de cada una de las subastas de estos componentes se pasará al
“nivel superior” subasta, lo que hace la determinación final de la subasta. El
Es posible que el auctionConfig
de las subastas de componentes no tenga las suyas
componentAuctions
Cuando componentAuctions
no está vacío,
El campo interestGroupBuyers
debe estar vacío. Es decir, para cualquier instancia de Protected Audience
Subasta de público, ya sea con un solo vendedor y sin subastas de componentes
De lo contrario, todas las ofertas provienen de subastas de componentes, y la subasta de nivel superior solo puede
elige una de las subastas de componentes ganadores.
Cómo ejecutar la subasta
El vendedor solicita al navegador del usuario que inicie una subasta de anuncios. Para ello, debe hacer lo siguiente:
llamando a navigator.runAdAuction()
.
try {
const auctionResultPromise = navigator.runAdAuction(auctionConfig);
} catch (error) {
// Handle error.
}
La llamada a runAdAuction()
muestra una promesa que da como resultado el anuncio. No es
posible que cualquier código de la página del publicador inspeccione el anuncio ganador o
De lo contrario, obtendrás información sobre su contenido a partir del resultado de runAdAuction()
. Si el botón
La marca resolveToConfig
se estableció como verdadera en AuctionConfig
, un
Se muestra un objeto FencedFrameConfig
, que solo puede renderizarse en un entorno aislado
marco. Si la marca se estableció en false, se devuelve un URN opaco que puede
renderizado en un iframe. Es posible que runAdSubasta muestre un valor nulo,
lo que indica que no se seleccionó ningún anuncio. En este caso, el vendedor podría elegir
mostrar un anuncio de orientación contextual.