Configura una subasta de anuncios en la página del publicador

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:

  1. 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 .
  2. 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.
  3. 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.