Ícono y superposición de AdChoices

Todas las apps que muestran anuncios personalizados alojados en Google deben implementar el ícono y la superposición de AdChoices, cuando los proporcione Google. AdChoices (también conocido como "¿Por qué este anuncio?") es una función de transparencia que explica a los usuarios por qué se les muestra un anuncio específico y proporciona información sobre cómo se protege su privacidad.

Para obtener más información, consulta Por qué ves un anuncio.

En esta guía, se explica cómo extraer la información necesaria para implementar correctamente AdChoices a partir de la respuesta XML de VAST de tu anuncio o de la respuesta de metadatos de la transmisión de DAI.

Requisitos para la renderización de AdChoices

A fin de cumplir con los requisitos de Google para renderizar íconos de AdChoices, tu app o sitio web deben cumplir con los siguientes estándares:

  1. El ícono de AdChoices debe mostrarse superpuesto a cualquier anuncio para el que se proporcione
  2. El ícono de AdChoices debe mostrarse en la posición indicada por las propiedades "Ubicación X" y "Ubicación Y" incluidas en los datos del ícono, y en el tamaño definido por las propiedades de ancho y altura, en píxeles independientes de la densidad (DP).
  3. El ícono de Selección de anuncios no debe estar oscurecido por otras superposiciones de anuncios ni elementos de la interfaz.
  4. En las plataformas que admiten clics o equivalentes (p.ej., selección táctil o remota), se debe poder hacer clic en el ícono de AdChoices.
  5. En las plataformas compatibles con navegadores, si se hace clic en el ícono de AdChoices, se debe abrir una pestaña o ventana del navegador con la URL especificada en la propiedad "Clickthrough" o "click_data".
  6. En las plataformas que no admiten navegadores, si se hace clic en el ícono de AdChoices, se debe abrir una superposición modal que muestre una de las imágenes especificadas en la propiedad "IconClickFallbackImage" o "click_fallback_images".
  7. En plataformas sin compatibilidad con navegadores, la imagen de resguardo debe mostrarse en el tamaño especificado en la propiedad "IconClickFallbackImage" o "click_fallback_images", en píxeles independientes de la densidad (DP).

Cómo analizar AdChoices desde una respuesta XML de VAST

Cuando se trabaja con una respuesta de anuncio XML, AdChoices solo es compatible con VAST 3.0 y versiones posteriores. AdChoices se implementa como un ícono de VAST.

VAST 4.2

Si tu respuesta de anuncio XML sigue el estándar VAST 4.2, AdChoices se publica como un ícono de VAST. Si tu aplicación o sitio web son totalmente compatibles con los íconos de VAST 4.2 (sección 3.11 del estándar VAST 4.2), la compatibilidad con AdChoices no requiere más trabajo.

Si tu app no es compatible con los íconos de VAST 4.2, debes analizar de forma manual los íconos con el nombre de programa "GoogleWhyThisAd" de tu respuesta de VAST, según ese estándar. Puedes usar este ejemplo de VAST 4.2 xml para realizar pruebas adicionales en tu app.

Respuesta de muestra de VAST 4.2

<?xml version="1.0" encoding="UTF-8"?>
<VAST version="4.2">
  <Ad id="20011">
    <Wrapper>
      ...
      <Creatives>
        ...
        <Creative id="5480" sequence="1">
          ...
          <Linear>
            ...
            <Icons>
              ...
              <Icon program="GoogleWhyThisAd" width="40" height="30" xPosition="left" yPosition="100" duration="00:00:10" offset="00:00:00" apiFramework="VAST" altText="AdChoices icon">
                <StaticResource creativeType="image/png">
                  <![CDATA[ https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices.png ]]>
                </StaticResource>
                <IconClicks>
                  <IconClickThrough>
                    <![CDATA[ https://g.co/adsettings ]]>
                  </IconClickThrough>
                  <IconClickFallbackImages>
                    <IconClickFallbackImage width="950" height="600">
                      <AltText>
                        <![CDATA[ This ad was shown to you based on: * Google's estimation of your interests, based on your activity on Google on this device (for example, your searches) * the information on the website you were viewing. ]]>
                      </AltText>
                      <StaticResource creativeType="image/png">
                        <![CDATA[ https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices_fallback_image.png ]]>
                      </StaticResource>
                    </IconClickFallbackImage>
                    ...
                  </IconClickFallbackImages>
                </IconClicks>
              </Icon>
              ...
            </Icons>
            ...
          </Linear>
          ...
        </Creative>
        ...
      </Creatives>
      ...
    </Wrapper>
    ...
  </Ad>
</VAST>

VAST 3.0

Si tu respuesta de anuncio XML sigue el estándar de VAST 3.0, AdChoices se publica como una combinación de un ícono de VAST y una extensión de VAST personalizada. Si tu app o sitio web son totalmente compatibles con el estándar de íconos de VAST 3.0 y si la plataforma puede navegar hasta la URL de clic del ícono y mostrarla, la compatibilidad de AdChoices no requiere más trabajo.

Si tu plataforma no puede navegar a las URLs de clic ni mostrarlas (esto se aplica principalmente a los dispositivos que no tienen un navegador web integrado), debes implementar compatibilidad con la extensión "IconFallbackImages". Esta extensión contiene un conjunto de etiquetas "IconFallbackImages" en las que el atributo "program" coincide con un ícono que se incluyó en el anuncio de VAST.

Para admitir por completo AdChoices, la etiqueta IconFallbackImages con el nombre de programa "GoogleWhyThisAd" debe estar asociada con el ícono con el nombre de programa "GoogleWhyThisAd", de modo que cuando el usuario interactúe con el ícono, se muestre la imagen de resguardo asociada.

Para admitir posibles cambios futuros en el estándar de AdChoices, recomendamos que incorpores la compatibilidad con imágenes de resguardo para todos los íconos de VAST, cuando esté disponible. Puedes usar este ejemplo de XML 3.0 para realizar pruebas adicionales en tu app.

Estructura de la extensión IconFallbackImages

Etiqueta Atributos Descripción
Extensión tipo Para esta extensión, el tipo siempre contiene el valor IconClickFallbackImages.
-IconClickFallbackImages programa Este atributo siempre coincide con el atributo de programa de un ícono de VAST 3.0 asociado.
La estructura de este nodo coincide con el estándar de VAST 4.2 para IconClickFallbackImages, excepto por la adición del atributo program.
--IconClickFallbackImage ancho El ancho preferido para mostrar la imagen.
alto La altura preferida para mostrar la imagen.
---AltText Una descripción accesible de la imagen.
---StaticResource creativeType El tipo MIME de la imagen de resguardo.
Un valor CDATA que contiene la URL de la imagen de resguardo

Ejemplo de respuesta de VAST 3.0

<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
 <Ad id="123456">
  <InLine>
   ...
   <Creatives>
    ...
    <Creative id="7891011" AdID="ABCD123456EF" sequence="1">
     ...
     <Linear>
      ...
      <Icons>
       ...
       <Icon program="GoogleWhyThisAd" width="50" height="50" xPosition="20" yPosition="bottom" duration="00:00:10" offset="00:00:00" apiFramework="VAST" altText="Why This Ad?">
        <StaticResource creativeType="image/png">
         <![CDATA[https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices.png]]>
        </StaticResource>
        <IconClicks>
         ...
         <IconClickThrough><![CDATA[https://g.co/adsettings]]></IconClickThrough>
        </IconClicks>
       </Icon>
       ...
      </Icons>
     ...
     </Linear>
     ...
    </Creative>
    ...
   </Creatives>
   <Extensions>
    ...
    <Extension type="IconClickFallbackImages">
     ...
     <IconClickFallbackImages program="GoogleWhyThisAd">
      <IconClickFallbackImage width="400" height="150">
       <AltText>Alt icon fallback</AltText>
       <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/gvabox/nickchavez/media/png/wta_dialog.png]]></StaticResource>
      </IconClickFallbackImage>
      ...
     </IconClickFallbackImages>
     ...
    </Extension>
    ...
   </Extensions>
   ...
  </InLine>
  ...
 </Ad>
</VAST>

Analice AdChoices a partir de metadatos JSON de la API de DAI

Cuando se trabaja con la API de DAI, los detalles de AdChoices se pasan a través del objeto JSON que se muestra en las solicitudes a la URL de metadatos.

El objeto de metadatos JSON contiene una lista de anuncios, clasificados por el adID. Dentro de cada objeto de anuncio hay un array de íconos. Si el anuncio utiliza AdChoices, ese ícono se incluye en ese array.

Formato de ícono JSON

El formato de ícono JSON es una traducción 1:1 del estándar de íconos de VAST 4.2 (sección 3.11), siempre que sea posible. Sin embargo, para admitir el formato JSON más estricto, algunos atributos cambiaron de nombre, cuando fue necesario.

Ícono de formato JSON

programa En el caso del ícono de AdChoices, este valor siempre contiene la cadena "GoogleWhyThisAd".
x_position Indica la posición horizontal en píxeles de la esquina superior izquierda del ícono en relación con la esquina superior izquierda de la creatividad de video. Este campo también acepta los valores de posición responsivos "right" o "left".
y_position Es la posición vertical en píxeles de la esquina superior izquierda del ícono en relación con la esquina superior izquierda de la creatividad de video. Este campo también acepta los valores de posición responsiva "top" o "bottom".
ancho Es el ancho del ícono en píxeles.
alto La altura del ícono en píxeles.
creative_type El tipo MIME de la imagen proporcionada para el ícono. La configuración predeterminada es “image/png”.
recurso La URL para recuperar el ícono de AdChoices.
alt_text El texto alternativo que se renderizará para el ícono de AdChoices.
click_data Es un objeto que contiene la propiedad click_data.url, que representa la URL a la que se dirigirá a los usuarios si hacen clic en el ícono de AdChoices en una plataforma que admite la navegación web.
click_fallback_images Es un array de objetos de imagen para mostrar a los usuarios que hacen clic en el ícono de AdChoices en plataformas que no admiten la navegación web.

Formato JSON de la imagen de resguardo

ancho El ancho de la imagen de resguardo en píxeles.
alto La altura de la imagen de resguardo en píxeles.
creative_type El tipo MIME de la imagen de resguardo. La configuración predeterminada es “image/png”.
recurso La URL para recuperar la imagen de resguardo.
alt_text El texto alternativo que se renderizará para la imagen de resguardo.

JSON de metadatos de muestra

{
  ...
  "ads": {
    ...
    "0002640412_ad1": {
      ...
      "icons": [
        ...
        {
          "alt_text": "AdChoices icon",
          "click_data": {
            "url": "https://g.co/adsettings"
          },
          "click_fallback_images": [
            {
              "alt_text": "This ad was shown to you based on: * Google's
estimation of your interests, based on your activity on Google on this device
(for example, your searches) * the information on the website you were
viewing.",
              "creative_type": "image/jpg",
              "height": 600,
              "resource": "https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices_fallback_image.png",
              "width": 950
            }
          ],
          "creative_type": "image/png",
          "height": 30,
          "program": "AdChoices",
          "resource": "https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices.png",
          "type": "static",
          "width": 40,
          "x_position": "0",
          "y_position": "100"
        }
        ...
      ]
      ...
    },
    ...
  }
  ...
}