

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Seguimiento de anuncios del lado del cliente
<a name="ad-reporting-client-side"></a>

Con la API de seguimiento del AWS Elemental MediaTailor lado del cliente, puedes incorporar controles de reproducción durante las pausas publicitarias en los flujos de trabajo de streaming. En el seguimiento por parte del cliente, el reproductor o el cliente emiten eventos de seguimiento, como las impresiones y las balizas publicitarias por cuartiles, al Ad Decision Server (ADS) y a otras entidades de verificación de anuncios. Estos eventos registran tanto el estado general de las pausas publicitarias como el anuncio individual disponible en cada pausa. Para obtener más información sobre la impresión y el cuartil (ADS) y otras entidades de verificación de anuncios. Para obtener más información sobre la señalización de anuncios por impresión y cuartil, consulte. [Balizamiento del lado del cliente](ad-reporting-client-side-beaconing.md) Para obtener más información sobre ADS y otras entidades de verificación de anuncios, consulte. [Integraciones de seguimiento de anuncios del lado del cliente](ad-reporting-client-side-ad-tracking-integrations.md)

Para obtener información sobre cómo transferir los parámetros de los jugadores y los datos de la sesión al ADS para su seguimiento por parte del cliente, consulte y. [MediaTailor variables de reproductor para solicitudes de ADS](variables-player.md) [MediaTailor variables de sesión para solicitudes de ADS](variables-session.md)

El seguimiento por parte del cliente permite funciones como las siguientes: 
+ Temporizadores de cuenta regresiva Ad-Break: para obtener más información, consulte. [Agrega un temporizador de cuenta regresiva](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-countdown-timer)
+ Registro de clics de anuncios: para obtener más información, consulte. [Cómo hacer clic en el anuncio](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-clickthrough)
+ Visualización de anuncios complementarios: para obtener más información, consulte. [Anuncios complementarios](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-companion-ads)
+ Anuncios que se pueden omitir: para obtener más información, consulte. [Anuncios que se pueden omitir](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-skippable-ads)
+ Visualización de íconos VAST para garantizar el cumplimiento de las normas de privacidad: para obtener más información, consulte. [Iconos de Google ¿Por qué este anuncio? (WTA)](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-google-wta)
+ Control de la limpieza de los jugadores durante los anuncios: para obtener más información, consulte[Fregando](ad-reporting-client-side-ad-tracking-schema-player-controls.md#ad-reporting-client-side-ad-tracking-schema-player-controls-scrubbing).

Con la API de seguimiento MediaTailor del lado del cliente, puedes enviar metadatos al dispositivo de reproducción que habilitan otras funciones además del seguimiento del lado del cliente:

## Flujo de trabajo de informes del lado del cliente
<a name="ad-reporting-client-side-workflow"></a>

En el siguiente diagrama se muestra todo el flujo de trabajo de elaboración de informes por parte del cliente, desde el inicio de la sesión hasta la reproducción de anuncios y la señalización:

![\[MediaTailor Diagrama secuencial de generación de informes del lado del cliente que muestra la interacción entre el reproductor de vídeo, el servidor de decisiones publicitarias MediaTailor, el origen del contenido y los servicios de verificación de anuncios durante todo el flujo de trabajo, desde el inicio de la sesión hasta la reproducción de anuncios y la baliza.\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/images/tracking_flow.png)


El flujo de trabajo de elaboración de informes del lado del cliente incluye los siguientes pasos:

1. **Inicialización de la sesión**: el reproductor de vídeo envía una solicitud POST al punto final de la MediaTailor sesión con metadatos JSON`adsParams`, incluidos los tokens de origen y las funciones de la sesión. MediaTailor responde con `manifestUrl` y `trackingUrl` para la sesión.

1. **Solicitud de manifiesto y decisión sobre el anuncio**: el jugador solicita el manifiesto personalizado a MediaTailor. MediaTailor solicita el manifiesto de contenido original desde el origen, envía una solicitud de anuncio al Ad Decision Server (ADS) utilizando los parámetros del reproductor, recibe una respuesta de VAST con metadatos del anuncio y entrega al reproductor un manifiesto personalizado con marcadores de anuncios.

1. **Recuperación de datos de seguimiento**: el jugador consulta la URL de seguimiento a intervalos regulares (coincidiendo con la duración objetivo para HLS o con el período mínimo de actualización para DASH). MediaTailor devuelve metadatos de seguimiento en formato JSON que contienen datos de disponibilidad, anuncios, eventos de seguimiento URLs, balizas y datos de verificación de anuncios.

1. **Reproducción y baliza de anuncios: durante las pausas publicitarias, el reproductor analiza los metadatos de seguimiento, activa balizas** de impresión cuando los anuncios comienzan a mostrarse, activa balizas de cuartil (inicio, primer cuartil, punto medio, tercer cuartil, completo) en el momento adecuado, carga y ejecuta la verificación de anuncios si es necesario, y envía los eventos a servicios de verificación de terceros. JavaScript viewability/verification 

1. **Sondeo continuo**: el jugador sigue consultando la URL de seguimiento durante toda la sesión para recibir metadatos actualizados sobre las próximas pausas publicitarias y contenido dinámico.

Este flujo de trabajo incluye funciones avanzadas, como los temporizadores de la cuenta regresiva de los anuncios, la función de seguimiento de los clics, los anuncios complementarios, los anuncios que se pueden omitir y la visualización de iconos VAST para garantizar el cumplimiento de las normas de privacidad.

**Topics**
+ [Flujo de trabajo de informes del lado del cliente](#ad-reporting-client-side-workflow)
+ [Habilita el seguimiento por parte del cliente](#ad-reporting-client-side-enabling)
+ [Parámetros del servidor de anuncios](#ad-reporting-client-side-ad-server-parameters)
+ [Parámetros de consulta de interacción de Origin](#ad-reporting-client-side-origin-interaction-query-parameters)
+ [Funciones configuradas por sesión](#ad-reporting-client-side-session-configured-features)
+ [Prácticas recomendadas para el seguimiento del lado del cliente](#ad-reporting-client-side-best-practices)
+ [Esquema y propiedades del seguimiento de anuncios del lado del cliente](ad-reporting-client-side-ad-tracking-schema.md)
+ [Cronología de la actividad de seguimiento de anuncios](ad-reporting-client-side-ad-tracking-schema-activity-timing.md)
+ [Controles del reproductor y funciones para el seguimiento de anuncios del lado del cliente](ad-reporting-client-side-ad-tracking-schema-player-controls.md)
+ [Balizamiento del lado del cliente](ad-reporting-client-side-beaconing.md)
+ [Modo híbrido con balizas publicitarias del lado del servidor](ad-reporting-hybrid-mode.md)
+ [Integraciones de seguimiento de anuncios del lado del cliente](ad-reporting-client-side-ad-tracking-integrations.md)
+ [Navegando a través de balizas publicitarias con GetTracking](#gettracking)

## Habilita el seguimiento por parte del cliente
<a name="ad-reporting-client-side-enabling"></a>

Habilitas el seguimiento por parte del cliente para cada sesión. El reproductor crea un HTTP en el punto final del `POST` prefijo de inicialización de la sesión de la MediaTailor configuración. Si lo desea, el reproductor puede enviar metadatos adicionales MediaTailor para utilizarlos cuando realice anuncios publicitarios, llame al origen de un manifiesto e invoque o MediaTailor deshabilite funciones a nivel de sesión.

En el siguiente ejemplo, se muestra la estructura de los metadatos de JSON:

```
{
  "adsParams": {                  # 'adsParams' is case sensitive
    "param1": "value1",           # key is not case sensitive
    "param2": "value2",           # Values can contain spaces. For example, 'value 2' is an allowed value. 
    },
  "origin_access_token":"abc123", # this is an example of a query parameter designated for the origin
  "overlayAvails":"on"            # 'overlayAvails' is case sensitive. This is an example of a feature that is enabled at the session level.
}
```

Use la MediaTailor consola o la API para configurar la URL de la plantilla de solicitud de ADS para hacer referencia a estos parámetros. En el siguiente ejemplo, `player_params.param1` son los parámetros del reproductor para `param1` y `player_params.param2` son los parámetros del reproductor para`param2`.

```
https://my.ads.com/path?param1=[player_params.param1]&param2=[player_params.param2]
```

## Parámetros del servidor de anuncios
<a name="ad-reporting-client-side-ad-server-parameters"></a>

En el nivel superior de la estructura JSON hay un objeto JSON. `adsParams` Dentro de este objeto hay key/value pares que se MediaTailor pueden leer y enviar al servidor de anuncios en todas las solicitudes de sesión. MediaTailor admite los siguientes servidores de anuncios:
+ Administrador de anuncios de Google 
+ SpringServe 
+ FreeWheel 
+ Publica 

## Parámetros de consulta de interacción de Origin
<a name="ad-reporting-client-side-origin-interaction-query-parameters"></a>

Los key/value pares reservados que se encuentren en el nivel superior de la estructura JSON, como, y `adsParams` `availSuppression``overlayAvails`, no se agregan a la URL de la solicitud de origen en forma de parámetros de consulta. Cada solicitud de manifiesto de sesión que MediaTailor se envía al origen contiene estos parámetros de consulta. El origen ignora los parámetros de consulta ajenos. Por ejemplo, MediaTailor puede usar los key/value pares para enviar los tokens de acceso al origen.

## Funciones configuradas por sesión
<a name="ad-reporting-client-side-session-configured-features"></a>

Utilice la estructura JSON de inicialización de sesión para habilitar, deshabilitar o anular MediaTailor funciones como, y. `overlayAvails` `availSuppression` `adSignaling` Cualquier configuración de funciones que se apruebe durante la inicialización de la sesión anula la configuración a nivel de configuración. MediaTailor 

**nota**  
Los metadatos enviados MediaTailor al inicializar la sesión son inmutables y no se pueden agregar metadatos adicionales mientras dure la sesión. Utilice los marcadores SCTE-35 para almacenar los datos que cambien durante la sesión. Para obtener más información, consulte [MediaTailor variables de sesión para solicitudes de ADS](variables-session.md).

**Example : Realizar un seguimiento de anuncios del lado del cliente para HLS**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8

        {
            "adsParams": {
               "deviceType": "ipad"   # This value does not change during the session.
               "uid": "abdgfdyei-2283004-ueu"                     
           }
        }
```

**Example : Realizar un seguimiento de anuncios del lado del cliente para DASH**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd

        {
            "adsParams": {
               "deviceType": "androidmobile",
               "uid": "xjhhddli-9189901-uic" 
           }
        }
```

### Parámetro del modo de informes
<a name="session-initialization-reporting-mode"></a>

Puedes especificar el modo de generación de informes al inicializar una sesión incluyendo el parámetro en el cuerpo de la `reportingMode` solicitud. Este parámetro controla si se MediaTailor realiza el seguimiento de los anuncios de la sesión desde el lado del cliente o del lado del servidor.
+ `client`- El reproductor realiza un seguimiento de los anuncios y envía balizas al servidor de anuncios. Si no se especifica ningún modo, este `reportingMode` es el modo predeterminado.
+ `server`- MediaTailor realiza un seguimiento de los anuncios del lado del servidor y envía balizas directamente al servidor de anuncios.

**Example Inicialización de la sesión con el modo de generación de informes del lado del servidor**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8

        {
            "adsParams": {
               "deviceType": "ipad",
               "uid": "abdgfdyei-2283004-ueu"                     
           },
           "reportingMode": "server"
        }
```

**Example Inicialización de la sesión con el modo de generación de informes del lado del cliente (explícito)**  

```
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd

        {
            "adsParams": {
               "deviceType": "androidmobile",
               "uid": "xjhhddli-9189901-uic" 
           },
           "reportingMode": "client"
        }
```

**nota**  
El `reportingMode` parámetro se establece en el momento de la inicialización de la sesión y no se puede cambiar durante la sesión. Si no `reportingMode` se especifica, se establece de MediaTailor forma predeterminada la generación de informes del lado del cliente para mantener la compatibilidad con versiones anteriores.

Una respuesta correcta es un HTTP `200` con un cuerpo de respuesta. El cuerpo contiene un objeto JSON con una `manifestUrl` y una `trackingUrl` clave. Los valores son relativos y URLs el reproductor puede utilizarlos tanto para la reproducción como para el seguimiento de eventos publicitarios.

```
{
  "manifestUrl": "/v1/dashmaster/hashed-account-id/origin-id/asset-id.m3u8?aws.sessionId=session-id",
  "trackingUrl": "/v1/tracking/hashed-account-id/origin-id/session-id"
}
```

Para obtener más información sobre el esquema de seguimiento del lado del cliente, consulte. [Esquema y propiedades del seguimiento de anuncios del lado del cliente](ad-reporting-client-side-ad-tracking-schema.md)

## Prácticas recomendadas para el seguimiento del lado del cliente
<a name="ad-reporting-client-side-best-practices"></a>

En esta sección se describen las mejores prácticas para el seguimiento del lado del cliente, tanto para los flujos de trabajo en directo como MediaTailor para los de vídeo a la carta.

### Flujos de trabajo activos
<a name="ad-reporting-client-side-best-practices-live"></a>

Sondea el punto final de seguimiento en un intervalo que coincida con la duración objetivo de HLS o el período mínimo de actualización en el caso de DASH, a fin de disponer siempre de los metadatos de seguimiento de anuncios más recientes. Hacer coincidir este intervalo es especialmente importante en los flujos de trabajo en los que las creatividades pueden tener un componente interactivo o superpuesto. 

**nota**  
Algunos reproductores apoyan a los oyentes de los eventos, lo que podría utilizarse como alternativa a las votaciones. Por ejemplo, la función de decoración de los identificadores de MediaTailor anuncios tendría que estar habilitada para cada sesión. Para obtener más información, consulte [Decoración de ID de anuncio](ad-id-decoration.md). Al usar esta función, se coloca un identificador de intervalo de fechas (HLS) o elemento de evento (DASH) sobre cada anuncio disponible. Los jugadores pueden usar estas etiquetas de manifiesto como mensaje para llamar al punto final MediaTailor de seguimiento de la sesión.

### Flujos de trabajo de VOD
<a name="ad-reporting-client-side-best-practices-vod"></a>

Una vez inicializada correctamente la sesión y tras MediaTailor recibir el primer manifiesto que contenga contenido multimedia, solo tendrá que llamar al punto final de seguimiento una vez.

![\[Flujo de llamadas para flujos de trabajo de VOD. Llame al punto final de seguimiento del lado del cliente una vez inicializada la sesión y MediaTailor reciba el primer manifiesto que contiene contenido multimedia.\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/images/vod-workflow-best-practice.png)


### Inserción de anuncios guiada por el servidor
<a name="ad-reporting-client-side-best-practices-sgai"></a>

Las sesiones de inserción de anuncios guiada por el servidor (SGAI) no utilizan la API. `GetTracking` En su lugar, cuando la utilizas`aws.reportingMode=CLIENT`, MediaTailor proporciona información de seguimiento en la `TRACKING` sección de la respuesta de cada lista de activos cuando los jugadores solicitan contenido publicitario. La respuesta de inicialización de la sesión no incluye un`trackingUrl`.

La respuesta de la lista de activos para las sesiones SGAI rastreadas por el lado del cliente tiene la siguiente estructura:

```
{
  "ASSETS": [
    { "DURATION": 20.0, "URI": "https://cdn.example.com/ad1/master.m3u8" },
    { "DURATION": 10.0, "URI": "https://cdn.example.com/ad2/master.m3u8" }
  ],
  "TRACKING": {
    ...VAST tracking events and beacon URLs for each ad...
  }
}
```

Al implementar el seguimiento del lado del cliente para los métodos de la SGAI:
+ Analice la `TRACKING` sección a partir de las respuestas de la lista de activos en lugar de llamar `GetTracking`
+ Usa el seguimiento que URLs se proporciona en la lista de activos para generar informes sobre eventos publicitarios
+ Activa balizas de rastreo basadas en los eventos reales de reproducción de anuncios en el reproductor
+ Gestione el seguimiento de cada pausa publicitaria de forma independiente a medida que vaya recopilando las listas de activos

**importante**  
La `TRACKING` sección solo se incluye en la lista de activos cuando `aws.reportingMode=CLIENT` está configurada. Cuando se utilizan los informes del lado del servidor (la opción predeterminada para SGAI), se MediaTailor omite la `TRACKING` sección y, en su lugar, se incorporan los datos de las balizas en el anuncio. URIs Para obtener más información, consulte [Seguimiento del lado del servidor con inserción de anuncios guiada por el servidor (SGAI)](ad-reporting-server-side-sgai.md).

# Esquema y propiedades del seguimiento de anuncios del lado del cliente
<a name="ad-reporting-client-side-ad-tracking-schema"></a>

Con la función de seguimiento de anuncios MediaTailor del lado del cliente, puedes integrar datos detallados del seguimiento de anuncios del lado del cliente en tu entorno de jugador. En las siguientes secciones se describe el esquema general de seguimiento de anuncios, así como las propiedades y valores específicos que lo componen.

## Esquema
<a name="ad-reporting-client-side-ad-tracking-schema-table"></a>

La siguiente estructura de JSON muestra el esquema de seguimiento de anuncios del MediaTailor lado del cliente. Esta representación ilustra la estructura de anidación del esquema para ayudarte a entender las relaciones entre las distintas partes.

Para obtener información detallada sobre cada propiedad, consulte[Propiedades](#ad-reporting-client-side-ad-tracking-schema-properties).

```
{
  "avails": [
    {
      "ads": [
        {
          "adID": "string",
          "adParameters": "string",
          "adSystem": "string",
          "adTitle": "string",
          "adVerifications": [
            {
              "executableResource": [
                {
                  "apiFramework": "string",
                  "type": "string",
                  "uri": "string",
                  "language": "string"
                }
              ],
              "javaScriptResource": [
                {
                  "apiFramework": "string",
                  "browserOptional": "string",
                  "uri": "string"
                }
              ],
              "trackingEvents": [
                {
                  "event": "string",
                  "uri": "string"
                }
              ],
              "vendor": "string",
              "verificationParameters": "string"
            }
          ],
          "companionAds": [
            {
              "adParameters": "string",
              "altText": "string",
              "attributes": {
                "adSlotId": "string",
                "apiFramework": "string",
                "assetHeight": "string",
                "assetWidth": "string",
                "expandedHeight": "string",
                "expandedWidth": "string",
                "height": "string",
                "id": "string",
                "pxratio": "string",
                "renderingMode": "string",
                "width": "string"
              },
              "companionClickThrough": "string",
              "companionClickTracking": "string",
              "htmlResource": "string",
              "iFrameResource": "string",
              "sequence": "string",
              "staticResource": "string",
              "trackingEvents": [
                {
                  "event": "string",
                  "uri": "string"
                }
              ]
            }
          ],
          "creativeId": "string",
          "creativeSequence": "string",
          "duration": "string",
          "durationInSeconds": number,
          "extensions": [
            {
              "type": "string",
              "content": "string"
            }
          ],
          "icons": [
            {
              "attributes": {
                "apiFramework": "string",
                "duration": "string",
                "height": "string",
                "offset": "string",
                "program": "string",
                "pxratio": "string",
                "width": "string",
                "xPosition": "string",
                "yPosition": "string"
              },
              "htmlResource": "string",
              "iconClicks": {
                "iconClickThrough": "string",
                "iconClickTracking": {
                  "id": "string"
                },
                "iconClickFallbackImages": [
                  {
                    "altText": "string",
                    "height": "string",
                    "width": "string",
                    "staticResource": {
                      "creativeType": "string",
                      "uri": "string"
                    }
                  }
                ]
              },
              "iconViewTracking": "string",
              "iFrameResource": "string",
              "staticResource": {
                "creativeType": "string",
                "uri": "string"
              }
            }
          ],
          "mediaFiles": {
            "adParameters": "string",
            "duration": "string",
            "durationInSeconds": number,
            "mediaFilesList": [
              {
                "apiFramework": "string",
                "delivery": "string",
                "height": "string",
                "maintainAspectRatio": "string",
                "mediaFileUri": "string",
                "mediaType": "string",
                "scalable": "string",
                "width": "string",
                "bitrate": "string"
              }
            ],
            "mezzanine": "string",
            "startTime": "string",
            "startTimeInSeconds": number,
            "trackingEvents": [
              {
                "beaconUrls": ["string"],
                "duration": "string",
                "durationInSeconds": number,
                "dateTime": "string",
                "eventId": "string",
                "eventType": "string",
                "startTime": "string",
                "startTimeInSeconds": number
              }
            ]
          },
          "startTime": "string",
          "startTimeInSeconds": number,
          "dateTime": "string",
          "adBreakTrackingEvents": [...],
          "vastAdId": "string"
        }
      ],
      "adType": "string",
      "availID": "string",
      "duration": "string",
      "durationInSeconds": number,
      "startTime": "string",
      "startTimeInSeconds": number,
      "dateTime": "string",
      "adMarkerDuration": "string",
      "adProgramDateTime": "string",
      "dashAvailabilityStartTime": "string",
      "hlsAnchorMediaSequenceNumber": "string"
    }
  ],
  "nonLinearAvails": [
    {
      "nonLinearAds": [...],
      "nonLinearAdsList": [...]
    }
  ],
  "nextToken": "string",
  "meta": {}
}
```

## Propiedades
<a name="ad-reporting-client-side-ad-tracking-schema-properties"></a>

En la siguiente tabla se enumeran las propiedades de la API de seguimiento del lado del cliente, sus definiciones, tipos de valores y ejemplos.


****  

| Propiedad | Definición | Tipo de valor | Ejemplo | 
| --- | --- | --- | --- | 
|   adID  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html) Ruta: `/avails/ads/adId` Mapeo VAST: ninguno  | Cadena | 10 | 
|   adBreakTrackingEvents  |  Matriz que contiene los eventos de seguimiento de VMAP de la respuesta VAST. Para obtener más información, consulte la sección 2.3.3 de la especificación [VMAP 1.0](https://www.iab.com/guidelines/vmap/). Ruta: `/avails/ads/adBreakTrackingEvents`  | Matriz |  []  | 
|   adMarkerDuration  |  El tiempo de disponibilidad observado a partir del marcador publicitario del manifiesto.  | Cadena |  30  | 
|   adParameters  |  Cadena de parámetros del anuncio, del VAST VPAID, que se MediaTailor transfiere al reproductor. Ruta: `/avails/ads/adParameters` Mapeo VAST: `VAST/Ad/InLine/Creatives/Creative/Linear/AdParameters`  | Cadena |  | 
|   adProgramDateTime  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html)  | Cadena |  | 
|   ads  |  Una matriz que contiene los objetos de anuncios que componen la oferta. Los anuncios se muestran en el orden en que aparecen en el manifiesto. Ruta: `/avails/ads`  | Matriz |  []  | 
|   adSystem  |  El nombre del sistema que publica el anuncio.  Asegúrese de proporcionar un valor. Si no proporciona un valor, pueden surgir problemas.   | Cadena |  myADS  | 
|   adTitle  |  El título del anuncio.  | Cadena |  ad1  | 
|   adVerifications  |  Contiene los recursos y los metadatos necesarios para ejecutar el código de medición de terceros a fin de verificar la reproducción creativa. Para obtener más información sobre esta propiedad, consulte la sección 3.16 de la [especificación VAST 4.2](https://iabtechlab.com/standards/vast/). MediaTailor admite `adVerifications` como nodos de extensión VAST 3. Ruta: `/avails/ads/adVerifications` Mapeo VAST: `VAST/Ad/InLine/AdVerifications`  | Matriz |  []  | 
|   altText  |  El texto alternativo de una imagen de un anuncio complementario. Este texto permite a los jugadores con soporte de audio descriptivo para personas con discapacidad visual leer una descripción de la imagen. Ruta: `/avails/ads/companionAds/altText`  | Cadena |  video sequence advertising sneakers  | 
|   apiFramework  |  Se configura para indicar `VPAID` al jugador que este anuncio es un anuncio VPAID. Puede aparecer en varias ubicaciones del esquema.  | Cadena |  VPAID  | 
|   availID  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html) Ruta: `/avails/availID`  | Cadena |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html)  | 
|   avails  |  Matriz que contiene objetos publicitarios, o *paquetes,* que aparecen en la ventana del manifiesto activa. Los artículos disponibles se muestran en el orden en que aparecen en el manifiesto. Ruta: `/avails`  | Matriz |  []  | 
|   adType  |  El tipo de anuncio. Ruta: `/avails/adType` y `/avails/ads/adType`  | Cadena |  | 
|   dateTime  |  Programe la fecha y hora, en formato ISO 8601 segundos, para el inicio del anuncio o anuncio. Ruta: y `/avails/dateTime` `/avails/ads/dateTime`  | Cadena |  | 
|   duration  |  Longitud, en formato ISO 8601 segundos. La respuesta incluye la duración de todo el anuncio disponible y de cada anuncio y baliza, aunque la duración de las balizas siempre es cero. Ruta: y `/avails/duration` `/avails/ads/duration`  | Cadena | 15.015 | 
|   durationInSeconds  |  Longitud, en formato de segundos. Ruta: `/avails/durationInSeconds` y `/avails/ads/durationInSeconds`  | Número |  | 
|   extensions  |  Extensiones personalizadas de VAST que utilizan los servidores de anuncios. Para obtener más información sobre las extensiones, consulta la sección 3.18 de la [especificación VAST 4.2](https://iabtechlab.com/standards/vast/). Ruta: `/avails/ads/extensions` Mapeo VAST: `VAST/Ad/InLine/Extensions`  | Matriz | [] | 
|   icons  |  Elementos de icono para el anuncio. Ruta: `/avails/ads/icons` Mapeo VAST: `VAST/Ad/InLine/Creatives/Creative/Linear/Icons`  | Matriz |  | 
|   mediaFiles  |  El vídeo y otros recursos que el jugador necesita para el anuncio están disponibles. Ruta: `/avails/ads/mediaFiles`  | Objeto |  | 
|   nonLinearAvails  |  Conjunto de objetos no lineales y disponibles. Ruta: `/nonLinearAvails`  | Matriz |  | 
|   executableResource  |  Recursos ejecutables para la verificación. Ruta: `/avails/ads/adVerifications/executableResource` Mapeo VAST: `VAST/Ad/InLine/AdVerifications/Verification/ExecutableResource`  | Matriz |  | 
|   javaScriptResource  |  JavaScript recursos para la verificación. Ruta: `/avails/ads/adVerifications/javaScriptResource` Cartografía VAST: `VAST/Ad/InLine/AdVerifications/Verification/JavaScriptResource`  | Matriz |  | 
|   trackingEvents  |  Seguimiento de eventos para su verificación o anuncios complementarios. Ruta: `/avails/ads/adVerifications/trackingEvents` o `/avails/ads/companionAds/trackingEvents`  | Matriz |  | 
|   vendor  |  Proveedor de verificación. Ruta: `/avails/ads/adVerifications/vendor` Mapeo VAST: `VAST/Ad/InLine/AdVerifications/Verification/@vendor`  | Cadena |  | 
|   uri  |  URI que apunta a un activo ejecutable, a un activo de vídeo o a un punto final de seguimiento. Ruta: varias ubicaciones del esquema Mapeo VAST: varios elementos de CDATA en VAST  | Cadena | https://tracking.example.com/impression | 
|   verificationParameters  |  Parámetros de verificación. Ruta: `/avails/ads/adVerifications/verificationParameters` Mapeo VAST: `VAST/Ad/InLine/AdVerifications/Verification/VerificationParameters`  | Cadena |  | 
|   attributes  |  Atributos de anuncios complementarios, como las dimensiones y el modo de renderizado. Ruta: `/avails/ads/companionAds/attributes`  | Objeto |  | 
|   companionClickThrough  |  URL de la página del anunciante que el reproductor multimedia abre cuando el espectador hace clic en el anuncio complementario. Ruta: `/avails/ads/companionAds/companionClickThrough` Amplio mapeo: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/CompanionClickThrough`  | Cadena | https://aws.amazon.com/ | 
|   companionClickTracking  |  La URL de seguimiento de la `companionClickThrough` propiedad. Ruta: `/avails/ads/companionAds/companionClickTracking` Mapeo VAST: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/CompanionClickTracking`  | Cadena | https://myads.com/beaconing/event=clicktracking | 
|   htmlResource  |  El HTML codificado en CDATA que se inserta directamente en la página HTML del proveedor de streaming. Ruta: `/avails/ads/companionAds/htmlResource` Mapeo VAST: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/HTMLResource`  | Cadena | <\$1[CDATA[<\$1doctype html><html><head><meta name=\$1"viewport\$1" content=\$1"width=1, initial-scale=1.0, minimum-scale=1.0,...]]> | 
|   iFrameResource  |  La URL de un archivo de recursos HTML que el proveedor de streaming carga en un iframe. Ruta: `/avails/ads/companionAds/iFrameResource` Mapeo VAST: `VAST/Ad/InLine/Creatives/Creative/CompanionAds/Companion/iFrameResource`  | Cadena |  | 
|   sequence  |  El valor de secuencia especificado para la creatividad en la respuesta VAST. Ruta: `/avails/ads/companionAds/sequence`  | Cadena | 1 | 
|   startTime  |  La posición temporal, en formato ISO 8601 segundos. En el caso del HLS, es relativa al inicio de la sesión de reproducción. En el caso de DASH, esto es relativo a la AST (hora de inicio de disponibilidad) del manifiesto. La respuesta incluye las horas de inicio de todo el espacio publicitario y de cada anuncio y baliza. Ruta: `/avails/startTime` y `/avails/ads/startTime`  | Cadena | PT18.581355S | 
|   startTimeInSeconds  |  La posición temporal, en formato de segundos. En el caso del HLS, es relativa al inicio de la sesión de reproducción. En el caso de DASH, esto es relativo a la AST (hora de inicio de disponibilidad) del manifiesto. La respuesta incluye las horas de inicio de todo el espacio publicitario y de cada anuncio y baliza. Ruta: `/avails/startTimeInSeconds` y `/avails/ads/startTimeInSeconds`  | Número | 18.581 | 
|   eventId  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/ad-reporting-client-side-ad-tracking-schema.html)  | Cadena |  | 
|   event  |  El nombre del evento de seguimiento. Ruta: `/avails/ads/adVerifications/trackingEvents/event` o `/avails/ads/companionAds/trackingEvents/event`  | Cadena | impression, start, firstQuartile, midpoint, thirdQuartile, complete | 
|   beaconUrls  |  La URL a la que se MediaTailor envía la baliza publicitaria. Ruta: `/avails/ads/mediaFiles/trackingEvents/beaconUrls`  | Matriz |  | 
|   bitrate  |  La velocidad de bits del recurso de vídeo. Esta propiedad no suele incluirse en los activos ejecutables.  | Cadena | 2048 | 
|   companionAds  |  Una o varias especificaciones complementarias de contenido publicitario, cada una de las cuales especifica el archivo de recursos que se va a utilizar. Los anuncios complementarios acompañan al anuncio y proporcionan contenido, como un marco alrededor del anuncio o un banner, para mostrarlo cerca del vídeo. Ruta: `/avails/ads/companionAds`  | Matriz | [] | 
|   creativeId  |  El valor del `Id` atributo de la `Creative` etiqueta del anuncio.  | Cadena | creative-1 | 
|   creativeSequence  |  La secuencia en la que debe reproducirse un anuncio, según el `Ad@id` valor de la respuesta de VAST.  | Cadena | 1 | 
|   dashAvailabilityStartTime  |  En el caso `MPD@availabilityStartTime` de live/dynamic DASH, el manifiesto de origen.  | Cadena | 2022-10-05T19:38:39.263Z | 
|   delivery  |  Indica si se está utilizando un `streaming` protocolo `progressive` o.  | Cadena | progressive | 
|   eventType  |  El tipo de baliza. Ruta: `/avails/ads/mediaFiles/trackingEvents/eventType`  | Cadena | impression | 
|   height  |  La altura, en píxeles, del recurso de vídeo.  | Cadena | 360 | 
|   hlsAnchorMediaSequenceNumber  |  El número de secuencia multimedia de la secuencia first/oldest multimedia que aparece en el manifiesto de origen del HLS.  | Cadena | 77 | 
|   maintainAspectRatio  |  Indica si se debe mantener la relación de aspecto del vídeo mientras se escala.  | Booleano | true | 
|   mediaFilesList  |  Especifica el vídeo y otros recursos que el reproductor necesita para que el anuncio esté disponible. Ruta: `/avails/ads/mediaFiles/mediaFilesList`  | Matriz | [] | 
|   mediaFileUri  |  URI que apunta a un recurso ejecutable o a un recurso de vídeo.  | Cadena | https://myad.com/ad/ad134/vpaid.js | 
|   mediaType  |  El tipo MIME de la creatividad o el activo complementario.  | Cadena | video/mp4 | 
|   meta  |  Metadatos adicionales para el anuncio.  | Objeto |  | 
|   mezzanine  |  La URL del MP4 recurso intermedio, que se especifica si el anuncio VPAID incluye uno. Ruta: `/avails/ads/mediaFiles/mezzanine`  | Cadena | https://gcdn.2mdn.net/videoplayback/id/itag/ck2/file/file.mp4 | 
|   nextToken  |  El valor del token que apunta a la siguiente página de resultados, cuando ese valor existe.  | Cadena | UFQzOS44NzNTXzIwMjMtMDctMzFUMTY6NTA6MDYuMzUwNjI2ODQ1Wl8x | 
|   nonLinearAds  |  Anuncios no lineales que aparecen junto al contenido del vídeo.  | Matriz | [] | 
|   nonLinearAdsList  |  Lista de anuncios no lineales.  | Matriz | [] | 
|   scalable  |  Indica si se debe escalar el vídeo a otras dimensiones.  | Booleano | true | 
|   skipOffset  |  El valor de tiempo que identifica el momento en que el reproductor pone los controles de salto a disposición del usuario.  | Cadena | 00:00:05 | 
|   staticResource  |  La URL de un archivo creativo estático que se utiliza para el componente publicitario. Ruta: `/avails/ads/companionAds/staticResource`  | Cadena | https://very-interactive-ads.com/campaign1/file.json?c=1019113602 | 
|   vastAdId  |  El valor del `Id` atributo de la `Ad` etiqueta.  | Cadena | ad1 | 
|   width  |  El ancho, en píxeles, del recurso de vídeo.  | Cadena | 640 | 
|   xPosition  |  La posición horizontal de un icono dentro del reproductor de vídeo. Puede ser un valor de píxel específico o una posición como «izquierda» o «derecha». Ruta: `/avails/ads/icons/attributes/xPosition`  | Cadena | left o 10 | 
|   yPosition  |  La posición vertical de un icono en el reproductor de vídeo. Puede ser un valor de píxel específico o una posición como «arriba» o «abajo». Ruta: `/avails/ads/icons/attributes/yPosition`  | Cadena | top o 10 | 
|   iconClicks  |  Contiene información sobre los clics y el seguimiento de un icono. Ruta: `/avails/ads/icons/iconClicks`  | Objeto |  | 
|   iconClickThrough  |  Una URL de la página del anunciante que el reproductor multimedia abre cuando el espectador hace clic en el icono. Ruta: `/avails/ads/icons/iconClicks/iconClickThrough`  | Cadena | https://advertiser.com/landing-page | 
|   iconClickTracking  |  La URL de seguimiento de la `iconClickThrough` propiedad. Ruta: `/avails/ads/icons/iconClicks/iconClickTracking`  | Objeto |  | 
|   iconClickFallbackImages  |  Conjunto de imágenes alternativas que se mostrarán si no se puede mostrar el icono. Ruta: `/avails/ads/icons/iconClicks/iconClickFallbackImages`  | Matriz |  | 
|   iconViewTracking  |  La URL para rastrear cuándo se ve un icono. Ruta: `/avails/ads/icons/iconViewTracking`  | Cadena | https://tracking.example.com/icon-view | 
|   offset  |  El intervalo de tiempo durante el que debe aparecer un icono durante la reproducción de un anuncio. Ruta: `/avails/ads/icons/attributes/offset`  | Cadena | 00:00:05 | 
|   program  |  El programa o la iniciativa asociados al icono, como "AdChoices». Ruta: `/avails/ads/icons/attributes/program`  | Cadena | AdChoices | 
|   pxratio  |  La proporción de píxeles del icono o del anuncio complementario, que se utiliza en pantallas con un DPI alto. Ruta: `/avails/ads/icons/attributes/pxratio` o `/avails/ads/companionAds/attributes/pxratio`  | Cadena | 1 o 2 | 
|   type  |  El tipo de recurso o extensión. Ruta: `/avails/ads/extensions/type` o `/avails/ads/adVerifications/executableResource/type`  | Cadena | text/javascript | 
|   content  |  El contenido de una extensión. Ruta: `/avails/ads/extensions/content`  | Cadena |  | 
|   language  |  El lenguaje de programación de un recurso ejecutable. Ruta: `/avails/ads/adVerifications/executableResource/language`  | Cadena | javascript | 
|   browserOptional  |  Indica si se requiere la compatibilidad con el navegador para el JavaScript recurso. Ruta: `/avails/ads/adVerifications/javaScriptResource/browserOptional`  | Cadena | true o false | 
|   id  |  Un identificador de varios elementos del esquema. Ruta: `/avails/ads/companionAds/attributes/id` o `/avails/ads/icons/iconClicks/iconClickTracking/id`  | Cadena | companion-1 | 
|   assetHeight  |  La altura del elemento publicitario complementario. Ruta: `/avails/ads/companionAds/attributes/assetHeight`  | Cadena | 250 | 
|   assetWidth  |  El ancho del activo publicitario complementario. Ruta: `/avails/ads/companionAds/attributes/assetWidth`  | Cadena | 300 | 
|   expandedHeight  |  La altura del anuncio complementario cuando se expande. Ruta: `/avails/ads/companionAds/attributes/expandedHeight`  | Cadena | 600 | 
|   expandedWidth  |  El ancho del anuncio complementario cuando está expandido. Ruta: `/avails/ads/companionAds/attributes/expandedWidth`  | Cadena | 600 | 
|   renderingMode  |  El modo de renderización del anuncio complementario. Ruta: `/avails/ads/companionAds/attributes/renderingMode`  | Cadena | default o transparent | 
|   adSlotId  |  El ID del espacio publicitario en el que debe mostrarse el anuncio complementario. Ruta: `/avails/ads/companionAds/attributes/adSlotId`  | Cadena | banner-1 | 
|   creativeType  |  El tipo MIME del recurso creativo. Ruta: `/avails/ads/icons/staticResource/creativeType`  | Cadena | image/png | 

# Cronología de la actividad de seguimiento de anuncios
<a name="ad-reporting-client-side-ad-tracking-schema-activity-timing"></a>

Con los informes del lado del cliente, el jugador debe emitir eventos de seguimiento (balizas) con un nivel de precisión. Al utilizar el esquema de seguimiento MediaTailor del lado del cliente, puedes asegurarte de que, en todos los casos, haya información sobre anuncios, eventos complementarios, superpuestos y de seguimiento, así como información sobre el tiempo y la duración, y en diferentes formatos.

Usa los siguientes pares MediaTailor clave/valor para que el reproductor pueda conciliar con precisión las actividades de los eventos publicitarios, como el seguimiento de los eventos, con la posición de reproducción:
+ [startTime](ad-reporting-client-side-ad-tracking-schema.md#property-starttime) 
+  [startTimeInSeconds](ad-reporting-client-side-ad-tracking-schema.md#property-starttimeinseconds) 
+  [adProgramDateTime](ad-reporting-client-side-ad-tracking-schema.md#property-adprogramdatetime) 
+  [adID](ad-reporting-client-side-ad-tracking-schema.md#property-adid)/[eventId](ad-reporting-client-side-ad-tracking-schema.md#property-eventid) 

HLS y DASH implementan el valor de y de manera diferente: `startTime` `startTimeInSeconds`
+ HLS: los `startTime` valores son relativos al inicio de la sesión de reproducción. El inicio de la sesión de reproducción se define como tiempo cero. El anuncio `startTime` es la suma de los valores acumulados de todas las duraciones de los `EXT-INF` segmentos anteriores a su publicación. El número de secuencia multimedia del segmento en el que se encuentra el anuncio o el evento de seguimiento también corresponde a la respuesta de seguimiento del cliente `adId` o de la respuesta `eventId` de seguimiento.
+ DASH:
  + Manifiestos activos o dinámicos: `startTime` los valores son relativos a los del manifiesto de DASH. `MPD@availabilityStartTime` `MPD@avaibilityStartTime`Es un indicador de temporización para todas las MediaTailor sesiones que consumen la transmisión.
  + Manifiestos VOD/estáticos: los `startTime` valores son relativos al inicio de la sesión de reproducción. El inicio de la sesión de reproducción se define como tiempo cero. Cada anuncio incluido en Avail está contenido dentro de su propio `Period` elemento. El `Period` elemento tiene un `@start` atributo con un valor que es igual a los `startTime` valores de la carga útil de seguimiento del lado del cliente. `PeriodId`También corresponde a la `adId` o `eventId` en la respuesta de seguimiento del lado del cliente.

**Example HLS:**  
En el siguiente ejemplo, se inició la MediaTailor sesión y el siguiente manifiesto es el primero que se envía al cliente:  

```
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:4603263
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:23.295678Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_34.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:27.306345Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_35.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:31.317012Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_36.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:35.327679Z
#EXTINF:4.010667,
https://123.cloudfront.net/out/v1/index_1_37.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:39.338346Z
#EXTINF:2.538667,
https://123.cloudfront.net/out/v1/index_1_38.ts
#EXT-X-DISCONTINUITY
#EXT-X-KEY:METHOD=NONE
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:41.453Z
#EXTINF:2.0,
https://123.cloudfront.net/tm/asset_1080_4_8_00001.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:43.453Z
#EXTINF:2.0,
https://123.cloudfront.net/tm/asset_1080_4_8_00002.ts
#EXT-X-PROGRAM-DATE-TIME:2023-05-03T21:24:45.453Z
#EXTINF:2.0,
https://123.cloudfront.net/tm/asset_1080_4_8_00003.ts
```
En la carga útil JSON de seguimiento del lado del cliente, se aplican los siguientes valores:  
+  `startTime`: `"PT18.581355S"` 
+  `startTimeInSeconds`: `18.581` 
+  `availProgramDateTime`: `"2023-05-03T21:24:41.453Z"` 
+  `adId`: `4603269` 

**Example DASH:**  
En el siguiente ejemplo, la MediaTailor sesión ocupa un lugar central en el manifiesto. Ten en cuenta que el valor del `@start` atributo del segundo período, que es el período publicitario, tiene un valor relativo al `MPD@availabilityStartTime` valor. Este valor es el que se incluye en MediaTailor los `startTime` campos de respuesta al seguimiento del lado del cliente, para todas las sesiones.  

```
<?xml version="1.0" encoding="UTF-8"?>
<MPD availabilityStartTime="2022-10-05T19:38:39.263Z" minBufferTime="PT10S" minimumUpdatePeriod="PT2S" profiles="urn:mpeg:dash:profile:isoff-live:2011" publishTime="2023-05-03T22:06:48.411Z" suggestedPresentationDelay="PT10S" timeShiftBufferDepth="PT1M30S" type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:scte35="urn:scte:scte35:2013:xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd">
    <BaseURL>https://123.channel-assembly.mediatailor.us-west-2.amazonaws.com/v1/channel/my-channel/</BaseURL>
    <Location>https://123.cloudfront.net/v1/dash/94063eadf7d8c56e9e2edd84fdf897826a70d0df/MediaTailor-Live-HLS-DASH/channel/channel1/dash.mpd?aws.sessionId=794a15e0-2a7f-4941-a537-9d71627984e5</Location>
    <Period id="1683151479166_1" start="PT5042H25M59.903S" xmlns="urn:mpeg:dash:schema:mpd:2011">
        <BaseURL>https://123.cloudfront.net/out/v1/f1a946be8efa45b0931ea35c9055fb74/ddb73bf548a44551a0059c346226445a/eaa5485198bf497284559efb8172425e/</BaseURL>
        <AdaptationSet ...>
            ...
        </AdaptationSet>
    </Period>
    <Period id="1683151599194_1_1" start="PT5042H27M59.931S">
        <BaseURL>https://123.cloudfront.net/tm/94063eadf7d8c56e9e2edd84fdf897826a70d0df/fpc5omz5wzd2rdepgieibp23ybyqyrme/</BaseURL>
        <AdaptationSet ...>
            ...
        </AdaptationSet>
    </Period>
</MPD>
```
En la carga útil JSON de seguimiento del lado del cliente, se aplican los siguientes valores:  
+  `startTime`: `"PT5042H27M59.931S"` 
+  `startTimeInSeconds`: `18152879.931` 
+  `availProgramDateTime`: *null* 
+  `adId`: `1683151599194_1_1` 

# Controles del reproductor y funciones para el seguimiento de anuncios del lado del cliente
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls"></a>

MediaTailor Los metadatos de seguimiento del lado del cliente admiten varios controles y funciones del reproductor. En la siguiente lista se describen los controles de reproductor más populares.

**Topics**
+ [Fregando](#ad-reporting-client-side-ad-tracking-schema-player-controls-scrubbing)
+ [Agrega un temporizador de cuenta regresiva](#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-countdown-timer)
+ [Anuncios que se pueden omitir](#ad-reporting-client-side-ad-tracking-schema-player-controls-skippable-ads)
+ [Cómo hacer clic en el anuncio](#ad-reporting-client-side-ad-tracking-schema-player-controls-ad-clickthrough)
+ [Anuncios complementarios](#ad-reporting-client-side-ad-tracking-schema-player-controls-companion-ads)
+ [Anuncios interactivos (SIMID)](#ad-reporting-client-side-ad-tracking-schema-player-controls-simid-ads)
+ [Anuncios interactivos (VPAID)](#ad-reporting-client-side-ad-tracking-schema-player-controls-vpaid-ads)
+ [Iconos de Google ¿Por qué este anuncio? (WTA)](#ad-reporting-client-side-ad-tracking-schema-player-controls-google-wta)

## Fregando
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-scrubbing"></a>

Para mejorar la experiencia de reproducción, el reproductor puede mostrar las posiciones de los anuncios en la línea de tiempo de reproducción. MediaTailor hace que estas posiciones de anuncios estén disponibles en forma de `startTimeInSeconds` valores en la respuesta de seguimiento del cliente.

**nota**  
Algunos proveedores de streaming impiden eliminar la posición de un anuncio.

![\[Captura de pantalla que muestra MediaTailor las posiciones marcadas en la cronología del vídeo en las que se reproducen los anuncios.\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/images/scrubbing.png)


La siguiente respuesta JSON de la carga útil de seguimiento del lado del cliente muestra la hora de inicio disponible (pausa publicitaria) dentro del objeto JSON raíz de la matriz avails. El jugador utiliza estos datos para mostrar la ubicación de la pausa publicitaria en la cronología del jugador, a los 28 segundos.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [...],
      "availId": "7",
      "availProgramDateTime": null,
      "duration": "PT30S",
      "durationInSeconds": 30,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT28S",
      "startTimeInSeconds": 28
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMk0zNC44NjhTXzIwMjMtMDctMjFUMjA6MjM6MDcuNzc1NzE2MzAyWl8x",
  "nonLinearAvails": []
}
```

## Agrega un temporizador de cuenta regresiva
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-ad-countdown-timer"></a>

Con él MediaTailor , puedes usar un temporizador de cuenta regresiva para anuncios para ayudar a mantener a tu audiencia interesada durante las pausas publicitarias. El público puede usar el temporizador para saber cuándo termina la pausa publicitaria y cuándo se reanuda su programa.

![\[Captura de pantalla en la que se MediaTailor muestra un temporizador de cuenta regresiva para anuncios, que indica a la audiencia el tiempo que queda hasta que se reanude el programa.\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/images/ad-countdown-timer.png)


Los elementos de los metadatos de seguimiento del lado del cliente que intervienen en el temporizador de cuenta regresiva de los anuncios son`startTime`,, y. `startTimeInSeconds` `duration` `durationInSeconds` El reproductor utiliza estos metadatos, junto con el tiempo transcurrido de la sesión, del que realiza un seguimiento por separado, para determinar cuándo mostrar el temporizador y el valor a partir del cual se debe realizar la cuenta regresiva.

La siguiente respuesta JSON de la carga útil de seguimiento del lado del cliente muestra la información necesaria para mostrar el temporizador de cuenta regresiva de un anuncio.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [...],
      "availId": "7",
      "availProgramDateTime": null,
      "duration": "PT30S",
      "durationInSeconds": 30,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT28S",
      "startTimeInSeconds": 28
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMk0zNC44NjhTXzIwMjMtMDctMjFUMjA6MjM6MDcuNzc1NzE2MzAyWl8x",
  "nonLinearAvails": []
}
```

Cuando el tiempo transcurrido por la sesión alcanza la hora de inicio de la sesión, el jugador muestra un temporizador de cuenta regresiva con un valor que coincide con la duración de la sesión. El valor del temporizador de cuenta regresiva disminuye a medida que el tiempo transcurrido supera la hora de inicio de la partida.

**Example fórmula: temporizador de cuenta regresiva para HLS (en vivo y VOD) y DASH (VOD)**  
+ `session_start_time`= la suma de todos los valores de `EXT-INF` duración: el valor de duración de las tres secuencias multimedia más recientes `EXT-INF`
+ valor del temporizador = `duration` - (`session_elapsed_time`-`startTime`)

![\[Diagrama que muestra el cálculo del temporizador de la cuenta regresiva de los anuncios, en función de la hora de inicio de la sesión y la hora de inicio de la sesión, para los manifiestos HLS (en directo y VOD) y DASH (VOD).\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/images/ad-countdown-timer-hls-dash-vod.png)


**Example fórmula: temporizador de cuenta regresiva para DASH (en vivo)**  
+ `session_start_time`= (el segmento más reciente `startTime` \$1`duration`)/- `timescale` `MPD@suggestedPresentationDelay`
+ valor del temporizador = `duration` - (`session_elapsed_time`-`startTime`)

![\[Diagrama que muestra el cálculo del temporizador de la cuenta regresiva de los anuncios, en función de la hora de inicio de la sesión y la hora de inicio de la sesión, para los manifiestos de DASH en vivo.\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/images/ad-countdown-timer-dash-live.png)


## Anuncios que se pueden omitir
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-skippable-ads"></a>

Los *anuncios que se pueden omitir* son espacios publicitarios que permiten al espectador saltarse parte del anuncio para volver a ver el programa. En VAST, el `Linear@skipOffset` atributo identifica un anuncio que se puede omitir. 

La siguiente respuesta de VAST muestra cómo utilizar un anuncio que se puede omitir:

```
<?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>
    <InLine>
      ...
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear skipoffset="00:00:05">
            <Duration>00:00:15</Duration>
            <MediaFiles>
              <MediaFile id="EMT" delivery="progressive" width="640" height="360" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
      ...
    </InLine>
  </Ad>
</VAST>
```

La siguiente respuesta JSON de la carga útil de seguimiento del lado del cliente muestra los metadatos del anuncio dentro de la matriz. `ads` La matriz contiene el `skipOffset` valor MediaTailor obtenido de la respuesta VAST.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:11:40.693Z",
          "adSystem": "2.0",
          "adTitle": "AD-skiing-15",
          "adVerifications": [],
          "companionAds": [...],
          "creativeId": "1",
          "creativeSequence": "1",
          "duration": "PT15.015S",
          "durationInSeconds": 15.015,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": "00:00:05",
          "startTime": "PT9.943S",
          "startTimeInSeconds": 9.943,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://adserverbeaconing.com/v1/impression"
              ],
              "duration": "PT15.015S",
              "durationInSeconds": 15.015,
              "eventId": "2697726",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT9.943S",
              "startTimeInSeconds": 9.943
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2697726",
      "availProgramDateTime": "2023-07-31T16:11:40.693Z",
      "duration": "PT15.015S",
      "durationInSeconds": 15.015,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT9.943S",
      "startTimeInSeconds": 9.943
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "",
  "nonLinearAvails": []
}
```

## Cómo hacer clic en el anuncio
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-ad-clickthrough"></a>

Los clics URIs permiten a los anunciantes medir el éxito de un anuncio a la hora de captar la atención de los espectadores. Cuando un espectador hace clic en el fotograma de vídeo activo de un anuncio en curso, un navegador web abre el URI de la página de inicio o de la página de destino de la campaña del anunciante. El desarrollador del reproductor determina el comportamiento de los clics, por ejemplo, superponiendo un botón o una etiqueta en el vídeo del anuncio con un mensaje para hacer clic y obtener más información. Los desarrolladores de reproductores suelen pausar el vídeo del anuncio después de que los espectadores hagan clic en el fotograma de vídeo activo.

![\[Captura de pantalla de un reproductor de vídeo en el que se hace clic en un anuncio. Los espectadores hacen clic en el fotograma del vídeo. El reproductor detiene el vídeo y, a continuación, abre un navegador web para dirigir al espectador a la página de inicio o a la página de destino de la campaña del anunciante.\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/images/ad-clickthrough.png)


MediaTailor puede analizar y hacer que esté disponible cualquier evento lineal en el que se produzca un clic en un vídeo que aparezca en la respuesta de URLs VAST. La siguiente respuesta de VAST muestra un ejemplo de cómo se ha hecho clic en un anuncio.

```
<?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>
    <InLine>
      ...
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear>
            <Duration>00:00:15</Duration>
            <MediaFiles>
              <MediaFile id="EMT" delivery="progressive" width="1280" height="720" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile>
            </MediaFiles>
            <VideoClicks>
              <ClickThrough id="EMT"><![CDATA[https://aws.amazon.com]]></ClickThrough>
              <ClickTracking id="EMT"><![CDATA[https://myads.com/beaconing/event=clicktracking]]></ClickTracking>
            </VideoClicks>
          </Linear>
        </Creative>
      </Creatives>
      ...
    </InLine>
  </Ad>
</VAST>
```

La siguiente respuesta JSON de la carga útil de seguimiento del lado del cliente MediaTailor muestra cómo se muestran los clics y el seguimiento de los clics dentro de la matriz. URLs `trackingEvents` El tipo de `clickThrough` evento representa el anuncio que recibe los clics y el tipo de evento representa la URL de seguimiento de los clics. `clickTracking`

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:53:40.577Z",
          "adSystem": "2.0",
          "adTitle": "1",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "00006",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT39.339S",
          "startTimeInSeconds": 39.339,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://aws.amazon.com"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "clickThrough",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=clicktracking"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698795",
              "eventProgramDateTime": null,
              "eventType": "clickTracking",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2698188",
      "availProgramDateTime": "2023-07-31T16:53:40.577Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT39.339S",
      "startTimeInSeconds": 39.339
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x",
  "nonLinearAvails": []
}
```

## Anuncios complementarios
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-companion-ads"></a>

*Aparece un anuncio complementario* junto a una creatividad lineal. Utiliza anuncios complementarios para aumentar la eficacia de un anuncio publicitario al mostrar información sobre el producto, el logotipo y la marca. El anuncio gráfico puede incluir códigos de respuesta rápida (QR) y áreas en las que se pueda hacer clic para fomentar la participación de la audiencia.

MediaTailor admite anuncios complementarios en la respuesta de VAST. Puede pasar por los metadatos de `StaticResource` los `HTMLResource` nodos y de los nodos, respectivamente. `iFrameResource`

La siguiente respuesta de VAST muestra un ejemplo de ubicación y formato del anuncio lineal y del anuncio complementario.

```
<?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>
    <InLine>
      ...
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear>
            <Duration>00:00:10</Duration>
            <MediaFiles>
              <MediaFile id="EMT" delivery="progressive" width="640" height="360" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
        <Creative id="2" sequence="1">
          <CompanionAds>
            <Companion id="2" width="300" height="250">
              <StaticResource creativeType="image/png"><![CDATA[https://emt.com/companion/9973499273]]></StaticResource>
              <TrackingEvents>
                <Tracking event="creativeView"><![CDATA[https://beacon.com/1]]></Tracking>
              </TrackingEvents>
              <CompanionClickThrough><![CDATA[https://beacon.com/2]]></CompanionClickThrough>
            </Companion>
            <Companion id="3" width="728" height="90">
              <StaticResource creativeType="image/png"><![CDATA[https://emt.com/companion/1238901823]]></StaticResource>
              <TrackingEvents>
                <Tracking event="creativeView"><![CDATA[https://beacon.com/3]]></Tracking>
              </TrackingEvents>
              <CompanionClickThrough><![CDATA[https://beacon.com/4]]></CompanionClickThrough>
            </Companion>
          </CompanionAds>
        </Creative>
      </Creatives>
      ...
    </InLine>
  </Ad>
</VAST>
```

Los datos aparecen en la respuesta de seguimiento del cliente de la `/avail/x/ads/y/companionAds` lista. Cada creatividad lineal puede contener hasta 6 anuncios complementarios. Como se muestra en el ejemplo siguiente, los anuncios complementarios aparecen en una lista

**nota**  
Como práctica recomendada, los desarrolladores de aplicaciones deberían implementar una lógica para eliminar o descargar de forma explícita el anuncio complementario al final de la creatividad.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "0",
          "adParameters": "",
          "adProgramDateTime": null,
          "adSystem": "EMT",
          "adTitle": "sample",
          "adVerifications": [],
          "companionAds": [
            {
              "adParameters": null,
              "altText": null,
              "attributes": {
                "adSlotId": null,
                "apiFramework": null,
                "assetHeight": null,
                "assetWidth": null,
                "expandedHeight": null,
                "expandedWidth": null,
                "height": "250",
                "id": "2",
                "pxratio": null,
                "renderingMode": null,
                "width": "300"
              },
              "companionClickThrough": "https://beacon.com/2",  
              "companionClickTracking": null,
              "htmlResource": null,
              "iFrameResource": null,
              "sequence": "1",
              "staticResource": "https://emt.com/companion/9973499273",
              "trackingEvents": [
                {
                  "beaconUrls": [
                    "https://beacon.com/1"
                  ],
                  "eventType": "creativeView"
                }
              ]
            },
            {
              "adParameters": null,
              "altText": null,
              "attributes": {
                "adSlotId": null,
                "apiFramework": null,
                "assetHeight": null,
                "assetWidth": null,
                "expandedHeight": null,
                "expandedWidth": null,
                "height": "90",
                "id": "3",
                "pxratio": null,
                "renderingMode": null,
                "width": "728"
              },
              "companionClickThrough": "https://beacon.com/4",
              "companionClickTracking": null,
              "htmlResource": null,
              "iFrameResource": null,
              "sequence": "1",
              "staticResource": "https://emt.com/companion/1238901823",
              "trackingEvents": [
                {
                  "beaconUrls": [
                    "https://beacon.com/3"
                  ],
                  "eventType": "creativeView"
                }
              ]
            }
          ],
          "creativeId": "1",
          "creativeSequence": "1",
          "duration": "PT10S",
          "durationInSeconds": 10,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT0S",
          "startTimeInSeconds": 0,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://beacon.com/impression/1"
              ],
              "duration": "PT10S",
              "durationInSeconds": 10,
              "eventId": "0",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT0S",
              "startTimeInSeconds": 0
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "0",
      "availProgramDateTime": null,
      "duration": "PT10S",
      "durationInSeconds": 10,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT0S",
      "startTimeInSeconds": 0
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMFNfMjAyMy0wNy0wNlQyMToxMDowOC42NzQ4NDA1NjJaXzE%3D",
  "nonLinearAvails": []
}
```

## Anuncios interactivos (SIMID)
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-simid-ads"></a>

*SecureInteractive La definición de interfaz multimedia* (SIMID) es un estándar para la publicidad interactiva que se introdujo en el estándar VAST 4.x de la Oficina de Publicidad Interactiva (IAB). SIMID desvincula la carga de elementos interactivos de la creatividad lineal principal en el reproductor, y hace referencia a ambas en la respuesta de VAST. MediaTailor incorpora la creatividad principal para mantener la experiencia de reproducción y coloca los metadatos de los componentes interactivos en la respuesta de seguimiento del lado del cliente.

En el siguiente ejemplo de respuesta VAST 4, la carga útil SIMID está dentro del nodo. `InteractiveCreativeFile`

```
<?xml version="1.0"?>
<VAST xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad id="1234567">
    <InLine>
      <AdSystem>SampleAdSystem</AdSystem>
      <AdTitle>Linear SIMID Example</AdTitle>
      <Description>SIMID example</Description>
      <Error>https://www.beacons.com/error</Error>
      <Impression>https://www.beacons.com/impression</Impression>
      <Creatives>
        <Creative sequence="1">
          <Linear>
            <Duration>00:00:15</Duration>
            <TrackingEvents>
                ...
            </TrackingEvents>
            <VideoClicks>
              <ClickThrough id="123">https://aws.amazon.com</ClickThrough>
              <ClickTracking id="123">https://www.beacons.com/click</ClickTracking>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" type="video/mp4">
                                https://interactive-ads.com/interactive-media-ad-sample/media/file.mp4
                            </MediaFile>
              <InteractiveCreativeFile type="text/html" apiFramework="SIMID" variableDuration="true">
                                https://interactive-ads.com/interactive-media-ad-sample/sample_simid.html
                            </InteractiveCreativeFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>
```

En la siguiente respuesta del VAST 3, la carga útil SIMID está dentro del nodo. `Extensions`

```
<?xml version="1.0"?>
<VAST xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad id="1234567">
    <InLine>
      <AdSystem>SampleAdSystem</AdSystem>
      <AdTitle>Linear SIMID Example</AdTitle>
      <Description>SIMID example</Description>
      <Impression>https://www.beacons.com/impression</Impression>
      <Creatives>
        <Creative id="1" sequence="1">
          <Linear>
            <Duration>00:00:15</Duration>
            <TrackingEvents>
                ...
            </TrackingEvents>
            <VideoClicks>
              <ClickThrough id="123">https://aws.amazon.com</ClickThrough>
              <ClickTracking id="123">https://myads.com/beaconing/event=clicktracking</ClickTracking>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" type="video/mp4">
                                https://interactive-ads.com/interactive-media-ad-sample/media/file.mp4
                            </MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
      <Extensions>
        <Extension type="InteractiveCreativeFile">
          <InteractiveCreativeFile type="text/html" apiFramework="SIMID" variableDuration="true">
            https://interactive-ads.com/interactive-media-ad-sample/sample_simid.html
          </InteractiveCreativeFile>
        </Extension>
      </Extensions>
    </InLine>
  </Ad>
</VAST>
```

En la siguiente respuesta de seguimiento del lado del cliente, los datos del SIMID aparecen en la lista. `/avails/x/ads/y/extensions`

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:53:40.577Z",
          "adSystem": "2.0",
          "adTitle": "Linear SIMID Example",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "1",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [
            {
              "content": "<InteractiveCreativeFile type=\"text/html\" apiFramework=\"SIMID\" variableDuration=\"true\">\nhttps://interactive-ads.com/interactive-media-ad-sample/sample_simid.html</InteractiveCreativeFile>",
              "type": "InteractiveCreativeFile"
            }
          ],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT39.339S",
          "startTimeInSeconds": 39.339,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://aws.amazon.com"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "clickThrough",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=clicktracking"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698795",
              "eventProgramDateTime": null,
              "eventType": "clickTracking",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2698188",
      "availProgramDateTime": "2023-07-31T16:53:40.577Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT39.339S",
      "startTimeInSeconds": 39.339
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x",
  "nonLinearAvails": []
}
```

## Anuncios interactivos (VPAID)
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-vpaid-ads"></a>

La *definición de interfaz de anuncios del reproductor de vídeo* (VPAID) especifica el protocolo entre el anuncio y el reproductor de vídeo que permite la interactividad del anuncio y otras funciones. En el caso de las retransmisiones en directo, MediaTailor es compatible con el formato VPAID, ya que agrupa los segmentos de la lista durante la emisión y coloca los metadatos de las creatividades VPAID en la respuesta de seguimiento del cliente que consume el reproductor de vídeo. El reproductor descarga los archivos VPAID, reproduce la creatividad lineal y ejecuta los guiones del cliente. El jugador *no* debería reproducir nunca los segmentos de la lista.

**nota**  
VPAID está en desuso a partir de VAST 4.1.

![\[Diagrama de reproducción de anuncios en VPAID. MediaTailor agrupa segmentos de pizarra durante el tiempo disponible en la cronología del contenido. El reproductor pasa al activo VPAID durante el tiempo que dure la disponibilidad.\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/images/interactive-ads-vpaid.png)


En el siguiente ejemplo, se muestra el contenido de VPAID de la respuesta VAST.

```
<?xml version="1.0"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
  <Ad id="1234567">
    <InLine>
      <AdSystem>GDFP</AdSystem>
      <AdTitle>VPAID</AdTitle>
      <Description>Vpaid Linear Video Ad</Description>
      <Error>http://www.example.com/error</Error>
      <Impression>http://www.example.com/impression</Impression>
      <Creatives>
        <Creative sequence="1">
          <Linear>
            <Duration>00:00:00</Duration>
            <TrackingEvents>
              <Tracking event="start">http://www.example.com/start</Tracking>
              <Tracking event="firstQuartile">http://www.example.com/firstQuartile</Tracking>
              <Tracking event="midpoint">http://www.example.com/midpoint</Tracking>
              <Tracking event="thirdQuartile">http://www.example.com/thirdQuartile</Tracking>
              <Tracking event="complete">http://www.example.com/complete</Tracking>
              <Tracking event="mute">http://www.example.com/mute</Tracking>
              <Tracking event="unmute">http://www.example.com/unmute</Tracking>
              <Tracking event="rewind">http://www.example.com/rewind</Tracking>
              <Tracking event="pause">http://www.example.com/pause</Tracking>
              <Tracking event="resume">http://www.example.com/resume</Tracking>
              <Tracking event="fullscreen">http://www.example.com/fullscreen</Tracking>
              <Tracking event="creativeView">http://www.example.com/creativeView</Tracking>
              <Tracking event="acceptInvitation">http://www.example.com/acceptInvitation</Tracking>
            </TrackingEvents>
            <AdParameters><![CDATA[ {"videos":[ {"url":"https://my-ads.com/interactive-media-ads/media/media_linear_VPAID.mp4","mimetype":"video/mp4"}]} ]]></AdParameters>
            <VideoClicks>
              <ClickThrough id="123">http://google.com</ClickThrough>
              <ClickTracking id="123">http://www.example.com/click</ClickTracking>
            </VideoClicks>
            <MediaFiles>
              <MediaFile delivery="progressive" apiFramework="VPAID" type="application/javascript" width="640" height="480"> https://googleads.github.io/googleads-ima-html5/vpaid/linear/VpaidVideoAd.js </MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>
```

El siguiente ejemplo muestra la información de seguimiento.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "1",
          "adParameters": "",
          "adProgramDateTime": "2023-07-31T16:53:40.577Z",
          "adSystem": "2.0",
          "adTitle": "1",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "00006",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT39.339S",
          "startTimeInSeconds": 39.339,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://aws.amazon.com"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698188",
              "eventProgramDateTime": null,
              "eventType": "clickThrough",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            },
            {
              "beaconUrls": [
                "https://myads.com/beaconing/event=clicktracking"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "2698795",
              "eventProgramDateTime": null,
              "eventType": "clickTracking",
              "startTime": "PT39.339S",
              "startTimeInSeconds": 39.339
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "2698188",
      "availProgramDateTime": "2023-07-31T16:53:40.577Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT39.339S",
      "startTimeInSeconds": 39.339
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x",
  "nonLinearAvails": []
}{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "2922274",
          "adParameters": "",
          "adProgramDateTime": "2023-08-14T19:49:53.998Z",
          "adSystem": "Innovid Ads",
          "adTitle": "VPAID",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "",
          "creativeSequence": "",
          "duration": "PT16.016S",
          "durationInSeconds": 16.016,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [
              {
                "apiFramework": "VPAID",
                "bitrate": 0,
                "codec": null,
                "delivery": "progressive",
                "height": 9,
                "id": "",
                "maintainAspectRatio": false,
                "maxBitrate": 0,
                "mediaFileUri": "http://my-ads.com/mobileapps/js/vpaid/1h41kg?cb=178344c0-8e67-281a-58ca-962e4987cd60&deviceid=&ivc=",
                "mediaType": "application/javascript",
                "minBitrate": 0,
                "scalable": false,
                "width": 16
              }
            ],
            "mezzanine": "http://my-ads.com/mobileapps/js/vpaid/1h41kg?cb=178344c0-8e67-281a-58ca-962e4987cd60&deviceid=&ivc="
          },
          "skipOffset": null,
          "startTime": "PT8M42.289S",
          "startTimeInSeconds": 522.289,
          "trackingEvents": [
            {
              "beaconUrls": [
                "about:blank"
              ],
              "duration": "PT16.016S",
              "durationInSeconds": 16.016,
              "eventId": "2922274",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT8M42.289S",
              "startTimeInSeconds": 522.289
            }
          ],
          "vastAdId": "1h41kg"
        }
      ],
      "availId": "2922274",
      "availProgramDateTime": "2023-08-14T19:49:53.998Z",
      "duration": "PT16.016S",
      "durationInSeconds": 16.016,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT8M42.289S",
      "startTimeInSeconds": 522.289
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQ4TTQyLjI4OVNfMjAyMy0wOC0xNFQxOTo1MDo0MS4zOTc5MjAzODVaXzE%3D",
  "nonLinearAvails": []
}
```

## Iconos de Google ¿Por qué este anuncio? (WTA)
<a name="ad-reporting-client-side-ad-tracking-schema-player-controls-google-wta"></a>

*AdChoices*es un estándar del sector que proporciona a los espectadores información sobre los anuncios que ven, incluida la forma en que los segmentaron.

![\[Logotipo de Google Why This Ad (WTA). La WTA informa a los espectadores sobre los anuncios que ven, incluida la forma en que se orientaron a ellos.\]](http://docs.aws.amazon.com/es_es/mediatailor/latest/ug/images/google-wta.png)


La API de seguimiento MediaTailor del lado del cliente admite los metadatos de los iconos incluidos en el nodo de extensiones VAST de la respuesta VAST. Para obtener más información sobre la WTA en la respuesta VAST, consulta [este ejemplo de respuesta XML de VAST](https://storage.googleapis.com/interactive-media-ads/ad-tags/ima_wta_sample_vast_3.xml).

**nota**  
MediaTailor actualmente solo es compatible con la versión 3 de VAST.

```
<VAST>
    <Ad>  
    <InLine>  
       ...
      <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/interactive-media-ads/images/wta_dialog.png]]></StaticResource>
            </IconClickFallbackImage>
          </IconClickFallbackImages>
          <IconClickFallbackImages program="AdChoices">
            <IconClickFallbackImage width="400" height="150">
              <AltText>Alt icon fallback</AltText>
              <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=1x]]></StaticResource>
            </IconClickFallbackImage>
            <IconClickFallbackImage width="800" height="300">
              <AltText>Alt icon fallback</AltText>
              <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=2x]]></StaticResource>
            </IconClickFallbackImage>
          </IconClickFallbackImages>
        </Extension>
      </Extensions>
    </InLine>
  </Ad>
</VAST>
```

El siguiente ejemplo muestra la respuesta de seguimiento del lado del cliente en la `/avails/x/ads/y/extensions` lista.

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "0",
          "adParameters": "",
          "adProgramDateTime": null,
          "adSystem": "GDFP",
          "adTitle": "Google Why This Ad VAST 3 Sample",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "7891011",
          "creativeSequence": "1",
          "duration": "PT10S",
          "durationInSeconds": 10,
          "extensions": [
            {
              "content": "<IconClickFallbackImages program=\"GoogleWhyThisAd\">      
                          <IconClickFallbackImage height=\"150\" width=\"400\">      
                          <AltText>Alt icon fallback</AltText>      
                          <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png]]>
                          </StaticResource>     
                          </IconClickFallbackImage>    
                          </IconClickFallbackImages>     
                          <IconClickFallbackImages program=\"AdChoices\">     
                          <IconClickFallbackImage height=\"150\" width=\"400\">     
                          <AltText>Alt icon fallback</AltText>       
                          <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=1x]]>
                          </StaticResource>      
                          </IconClickFallbackImage>      
                          <IconClickFallbackImage height=\"300\" width=\"800\">       
                          <AltText>Alt icon fallback</AltText>       
                          <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=2x]]>
                          </StaticResource>      
                          </IconClickFallbackImage>     
                          </IconClickFallbackImages>",
              "type": "IconClickFallbackImages"
            }
          ],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": "00:00:03",
          "startTime": "PT0S",
          "startTimeInSeconds": 0,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://example.com/view"
              ],
              "duration": "PT10S",
              "durationInSeconds": 10,
              "eventId": "0",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT0S",
              "startTimeInSeconds": 0
            }
          ],
          "vastAdId": "123456"
        }
      ],
      "availId": "0",
      "availProgramDateTime": null,
      "duration": "PT10S",
      "durationInSeconds": 10,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT0S",
      "startTimeInSeconds": 0
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMFNfMjAyMy0wNy0wNlQyMDo0MToxNy45NDE4MDM0NDhaXzE%3D",
  "nonLinearAvails": []
}
```

# Balizamiento del lado del cliente
<a name="ad-reporting-client-side-beaconing"></a>

El `startTimeInSeconds` elemento de seguimiento del lado del cliente se puede utilizar para facilitar la sincronización de las balizas. MediaTailor 

La siguiente respuesta de JSON muestra los principales tipos de balizas: impresiones, inicio, cuartiles y finalización.

**nota**  
Las directrices de medición de la impresión de vídeo de la Interactive Advertising Bureau (IAB) establecen que una impresión requiere que el contenido del anuncio se cargue en el lado del cliente y, como mínimo, comience a renderizarse en el reproductor. Para obtener más información, consulte la [plantilla de publicación de anuncios de vídeo digital (VAST)](https://www.iab.com/guidelines/vast/) en el sitio web de la IAB.

```
{
  "avails": [
    {
      "ads": [
        {
          "adId": "8104385",
          "duration": "PT15.100000078S",
          "durationInSeconds": 15.1,
          "startTime": "PT17.817798612S",
          "startTimeInSeconds": 17.817,
          "trackingEvents": [
          {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=impression"
              ],
              "duration": "PT15.100000078S",
              "durationInSeconds": 15.1,
              "eventId": "8104385",
              "eventType": "impression",
              "startTime": "PT17.817798612S",
              "startTimeInSeconds": 17.817
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=start"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104385",
              "eventType": "start",
              "startTime": "PT17.817798612S",
              "startTimeInSeconds": 17.817
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=firstQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104386",
              "eventType": "firstQuartile",
              "startTime": "PT21.592798631S",
              "startTimeInSeconds": 21.592
            },
             {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=midpoint"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104387",
              "eventType": "midpoint",
              "startTime": "PT25.367798651S",
              "startTimeInSeconds": 25.367
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=thirdQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104388",
              "eventType": "thirdQuartile",
              "startTime": "PT29.14279867S",
              "startTimeInSeconds": 29.142
            },
            {
              "beaconUrls": [
                "http://exampleadserver.com/tracking?event=complete"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0.0,
              "eventId": "8104390",
              "eventType": "complete",
              "startTime": "PT32.91779869S",
              "startTimeInSeconds": 32.917
            }
          ]
        }
      ],
      "availId": "8104385",
      "duration": "PT15.100000078S",
      "durationInSeconds": 15.1,
      "startTime": "PT17.817798612S",
      "startTimeInSeconds": 17.817
    }
  ]
}
```

# Modo híbrido con balizas publicitarias del lado del servidor
<a name="ad-reporting-hybrid-mode"></a>

MediaTailor admite un modo híbrido para el seguimiento de las sesiones. En este modo, el servicio emite eventos de seguimiento de anuncios relacionados con la reproducción, pero pone a disposición de la sesión toda la carga útil de seguimiento del lado del cliente

Para habilitar el seguimiento híbrido mediante prefijos de reproducción, inicie desde el reproductor una nueva sesión de MediaTailor reproducción mediante una solicitud en uno de los siguientes formatos, según su protocolo:

**Example : formato HLS**  

```
POST master.m3u8
    {
        "adsParams": {
           "deviceType": "ipad"
       },
       "reportingMode":"server"
    }
```

**Example : Formato DASH**  

```
POST manifest.mpd
    {
        "adsParams": {
           "deviceType": "ipad"
       },
       "reportingMode":"server"
    }
```

MediaTailor mantiene los siguientes eventos de seguimiento en modo híbrido:
+ Impresión
+ Inicio
+ Primer cuartil
+ Midpoint
+ Tercer cuartil
+ Completado
+ `breakStart`(vmap)
+ `breakEnd`(vmap)

# Integraciones de seguimiento de anuncios del lado del cliente
<a name="ad-reporting-client-side-ad-tracking-integrations"></a>

En esta sección se describen las integraciones entre varios servidores de seguimiento de anuncios del lado del cliente MediaTailor y entre ellos.

**Topics**
+ [Abra el SDK de medición](#ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk)
+ [Reproductor gratuito Datazoom SDKs](#ad-reporting-client-side-ad-tracking-integrations-dz)
+ [Roku Advertising Framework (RAF)](#ad-reporting-client-side-ad-tracking-integrations-raf)
+ [TheoPlayer](#ad-reporting-client-side-ad-tracking-integrations-theoplayer)
+ [MediaTailor SDK](#ad-reporting-client-side-ad-tracking-integrations-mediatailor-sdk)

## Abra el SDK de medición
<a name="ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk"></a>

El SDK Open Measurement (OM SDK) de la Oficina de Publicidad Interactiva (IAB) facilita la medición de la visibilidad y la verificación por parte de terceros de los anuncios publicados en entornos de vídeo web y aplicaciones nativas.

En el caso de los documentos antiguos de la versión 3 de VAST, el código de verificación debe cargarse con el nodo de extensión, con el tipo de extensión. `AdVerifications` La raíz del nodo de extensión es un `AdVerifications` nodo con el mismo esquema que el elemento VAST 4.1.

Para facilitar la adopción del SDK OM, se MediaTailor ha asociado con Datazoom para ofrecer SDKs reproductores gratuitos configurados y verificados para Open Measurement. Para obtener más información, consulte [Reproductor gratuito Datazoom SDKs](#ad-reporting-client-side-ad-tracking-integrations-dz).

**nota**  
MediaTailor actualmente solo es compatible con la versión 3 de VAST.

**Example : nodo de verificación en VAST 3, anterior a la versión 4.1**  

```
...
<Extensions>
    <Extension type="AdVerifications">
        <AdVerifications>
            <Verification vendor="company.com-omid">
                <JavaScriptResource apiFramework="omid" browserOptional="true">
                    <![CDATA[https://verification.com/omid_verification.js]]>
                </JavaScriptResource>
                <TrackingEvents>
                    <Tracking event="verificationNotExecuted">
                        <![CDATA[https://verification.com/trackingurl]]>
                    </Tracking>
                </TrackingEvents>
                <VerificationParameters>
                    <![CDATA[verification params key/value pairs]]>
                </VerificationParameters>
            </Verification>
        </AdVerifications>
    </Extension>
</Extensions>
```

MediaTailor extrae los `AdVerifications` datos del `<Extensions>` nodo y los coloca en la `adVerifications` matriz en la respuesta de seguimiento del lado del cliente.

**Example : matriz de AdVerifications en la respuesta de seguimiento del lado del cliente**  

```
{
  "avails": [
    {
      "adBreakTrackingEvents": [],
      "adMarkerDuration": null,
      "ads": [
        {
          "adId": "3062770",
          "adParameters": "",
          "adProgramDateTime": "2023-08-23T16:25:40.914Z",
          "adSystem": "2.0",
          "adTitle": "AD-polarbear-15",
          "adVerifications": [
            {
              "executableResource": [],
              "javaScriptResource": [
                {
                  "apiFramework": "omid",
                  "browserOptional": "true",
                  "uri": "https://verification.com/omid_verification.js"
                }
              ],
              "trackingEvents": [
                {
                  "event": "verificationNotExecuted",
                  "uri": "https://verification.com/trackingurl"
                }
              ],
              "vendor": "company.com-omid",
              "verificationParameters": "verification params key value pairs"
            }
          ],
          "companionAds": [],
          "creativeId": "00006",
          "creativeSequence": "1",
          "duration": "PT14.982S",
          "durationInSeconds": 14.982,
          "extensions": [
            {
              "content": "<AdVerifications>\n\t\t\t\t\t\t<Verification vendor=\"company.com-omid\">\n\t\t\t\t\t\t\t<JavaScriptResource apiFramework=\"omid\" browserOptional=\"true\"><![CDATA[https://verification.com/omid_verification.js;]]></JavaScriptResource>\n\t\t\t\t\t\t\t<TrackingEvents>\n\t\t\t\t\t\t\t\t<Tracking event=\"verificationNotExecuted\"><![CDATA[;https://verification.com/trackingurl;]]></Tracking>\n\t\t\t\t\t\t\t</TrackingEvents>\n\t\t\t\t\t\t\t<VerificationParameters><![CDATA[verification params key/value pairs;]]></VerificationParameters>\n\t\t\t\t\t\t</Verification>\n\t\t\t\t\t</AdVerifications>",
              "type": "AdVerifications"
            }
          ],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "skipOffset": null,
          "startTime": "PT10.11S",
          "startTimeInSeconds": 10.11,
          "trackingEvents": [
            {
              "beaconUrls": [
                "https://n8ljfs0h09.execute-api.us-west-2.amazonaws.com/v1/impression"
              ],
              "duration": "PT14.982S",
              "durationInSeconds": 14.982,
              "eventId": "3062770",
              "eventProgramDateTime": null,
              "eventType": "impression",
              "startTime": "PT10.11S",
              "startTimeInSeconds": 10.11
            }
          ],
          "vastAdId": ""
        }
      ],
      "availId": "3062770",
      "availProgramDateTime": "2023-08-23T16:25:40.914Z",
      "duration": "PT14.982S",
      "durationInSeconds": 14.982,
      "meta": null,
      "nonLinearAdsList": [],
      "startTime": "PT10.11S",
      "startTimeInSeconds": 10.11
    }
  ],
  "dashAvailabilityStartTime": null,
  "hlsAnchorMediaSequenceNumber": null,
  "nextToken": "UFQxMC4xMVNfMjAyMy0wOC0yM1QxNjoyNjoyNC4yNDYxMDIxOTBaXzE%3D",
  "nonLinearAvails": []
}
```

**nota**  
Póngase en contacto con el laboratorio tecnológico de la IAB para garantizar que las solicitudes se certifiquen anualmente para garantizar su conformidad.

Para obtener más información sobre el OM SDK, consulte [Open Measurement SDK](https://iabtechlab.com/standards/open-measurement-sdk/) en el sitio web del IAB Tech Lab.

## Reproductor gratuito Datazoom SDKs
<a name="ad-reporting-client-side-ad-tracking-integrations-dz"></a>

Para facilitar la adopción del reproductor SDKs, se MediaTailor ha asociado con Datazoom para ofrecer un reproductor gratuito SDKs que se configura y prueba con la [AWS Elemental MediaTailor Integración del lado del cliente con Google Ad Manager](gam-integration-pal.md) tecnología de IAB. [Abra el SDK de medición](#ad-reporting-client-side-ad-tracking-integrations-open-measurement-sdk)

El SDK del reproductor Datazoom es compatible con las siguientes funciones:
+ Listas de reproducción en directo y VOD
+ Especificaciones de DASH y HLS
+ Los fabricantes de reproductores admiten Bitmovin, exoplayer, reproductor multimedia Android, Apple AVPlayer, Brightcove, Chromecast Receiver, Dash.js, hls.js, Shaka player, THEO player, JWPlayer Video.js, Roku y más
+ La certificación de medición abierta del IAB Tech Lab, si está disponible en dispositivos seleccionados
+ Gestión de eventos mediante clics
+ Distribuidores de eventos publicitarios, como temporizadores de cuenta regresiva de anuncios, eventos no lineales y superpuestos de anuncios, inicio y finalización de pausas publicitarias
+ Del lado del cliente y balizamiento
+ El SDK de la biblioteca de acceso programático (PAL) de Google, como ajuste de configuración opcional

Datazoom también ofrece un servicio de telemetría y análisis de pago compatible con el jugador. SDKs Los clientes pueden activar y controlar la telemetría del SDK del reproductor desde la consola de administración de Datazoom. [Para acceder al reproductor Datazoom SDKs y obtener más información sobre el servicio de telemetría y análisis de valor añadido, utilice la información de contacto del sitio de Datazoom.](https://www.datazoom.io/partner-aws) 

## Roku Advertising Framework (RAF)
<a name="ad-reporting-client-side-ad-tracking-integrations-raf"></a>

El Roku Ad Framework (RAF) mantiene una experiencia publicitaria uniforme en toda la plataforma Roku. Todos los canales, incluidos los anuncios de vídeo, deben cumplir los requisitos de certificación de Roku para la RAF. En particular, la aplicación siempre debe utilizar la transmisión de eventos del lado del cliente a través de la RAF. MediaTailor, como proveedor de inserción de anuncios en el servidor (SSAI), admite la activación de eventos en el lado del cliente. Los adaptadores SSAI de RAFX proporcionan interfaces tanto para los servidores de manifiestos de SSAI, o Stitchers, como para RAF. Estas interfaces incluyen:
+ Analizar la `masterURL` respuesta y extraer `playURL` y `AdURL` añadir metadatos.
+ Transformar los metadatos de los anuncios del MediaTailor SSAI en metadatos de anuncios utilizables en RAF y configurar el RAF para su reproducción.
+ Observar los eventos de la transmisión y los metadatos cronometrados.
+ Hacer coincidir los eventos de la transmisión, los metadatos de los anuncios y los píxeles del evento de disparo a tiempo.
+ Haga ping o sondee`AdURL`, según lo requiera el servidor de manifiestos del MediaTailor SSAI, y, a continuación, analice y reconfigure la RAF.

Para obtener más información sobre los adaptadores SSAI para RAF, consulte [Implementación de la inserción de anuncios en el lado del servidor mediante adaptadores Roku](https://developer.roku.com/docs/developer-program/advertising/ssai-adapters.md) en el sitio web de Roku.

## TheoPlayer
<a name="ad-reporting-client-side-ad-tracking-integrations-theoplayer"></a>

TheoPlayer la integración con MediaTailor hace lo siguiente:
+ Proporciona una funcionalidad que permite el seguimiento de eventos por MediaTailor parte del cliente para HLS y DASH, tanto para flujos de trabajo a la carta como en directo.
+ Admite el envío de balizas de seguimiento solo para anuncios lineales.
+ Desactiva la búsqueda durante un anuncio. Sin embargo, no existe ninguna lógica para reproducir un anuncio cuando el usuario busca más allá de la pausa publicitaria.

Para obtener más información sobre SSAI y revisar la web, Android, iOS y tvOS SDKs MediaTailor, consulte el [MediaTailor](https://docs.theoplayer.com/how-to-guides/01-ads/12-mediatailor.md) TheoPlayer sitio web. TheoPlayer

## MediaTailor SDK
<a name="ad-reporting-client-side-ad-tracking-integrations-mediatailor-sdk"></a>

AWS Elemental mantiene un kit de desarrollo de software (SDK) JavaScript basado en él. AWS Elemental proporciona el SDK tal cual, sin garantía implícita. Usa el SDK como demostración de referencia para simplificar tu proceso de iniciación y uso. MediaTailor El SDK muestra cómo interactuar con la API de seguimiento del MediaTailor lado del cliente. El SDK implementa el seguimiento de anuncios y la elaboración de informes desde el lado del cliente para los jugadores basados en Internet. HTML5 El SDK inicia una sesión de informes por MediaTailor parte del cliente y, a continuación, solicita periódicamente información sobre el seguimiento de los anuncios. Durante la reproducción, el SDK emite eventos de seguimiento de anuncios cuando se detectan nuevos eventos publicitarios.

El MediaTailor SDK admite estas funciones:
+ Listas de reproducción en directo y VOD
+ Especificaciones de DASH y HLS
+ Gestión de eventos mediante un clic
+ Despachadores de eventos publicitarios
+ Ganchos para eventos personalizados
+ Balizamiento y balizamiento del lado del cliente. Para obtener más información sobre el envío de balizas publicitarias, consulte. [Balizamiento del lado del cliente](ad-reporting-client-side-beaconing.md)

**nota**  
Envía un ticket de AWS Support para recibir un JavaScript SDK de muestra MediaTailor. Recibirás un enlace de descarga para el paquete y sus archivos.

## Navegando a través de balizas publicitarias con GetTracking
<a name="gettracking"></a>

Usa el `GetTracking` punto final para reducir el número de anuncios que se devuelven a un reproductor. Por ejemplo, si la ventana de un manifiesto es amplia y dura mucho tiempo, la cantidad de balizas publicitarias devueltas puede afectar al rendimiento de los jugadores. 

`GetTracking`devuelve un `NextToken` valor que puedes usar para reducir el número de balizas devueltas consultando la lista de balizas devueltas. Puedes revisar los `NextToken` valores para encontrar el valor deseado del campo de una baliza publicitaria. `StartTimeInSeconds` 
+ En la primera llamada a`GetTracking`, se muestran todos los anuncios posibles que aparecen en la ventana del manifiesto, incluidos los valores a `NextToken` y de cada uno. 
+ Si una `GetTracking` solicitud *no* incluye un`NextToken`, se devuelven todos los anuncios de la ventana del manifiesto.
+ Si una `GetTracking` solicitud contiene un `NextToken` indicador pero no hay balizas nuevas que devolver, MediaTailor devuelve el mismo valor que el `NextToken` que enviaste en la solicitud original.
+ Cuando no haya más balizas correspondientes a un anuncio, `GetTracking` elimina el anuncio de su respuesta.
+ Los tokens `GetTracking` caducan después de 24 horas. Si un `NextToken` valor tiene más de 24 horas, la siguiente llamada a `GetTracking` devuelve un valor `NextToken` nulo.

### Secuencia de llamadas generalizada del jugador GetTracking
<a name="gettracking.generalsequence"></a>

Desde el reproductor cliente, una `GetTracking` solicitud es un POST con un cuerpo de solicitud que contiene los anuncios `NextToken` y balizas relacionados con el token.

```
https://YouMediaTailorUrl/v1/tracking
{

     "NextToken": "value"
     .
     .
     .
}
```

La secuencia general para usar `GetTracking` with `NextToken` es la siguiente:

1. Realice la primera llamada a`GetTracking`.

   Se devolverán todos los anuncios y balizas y el primero `NextToken` de las llamadas posteriores. 

1. Si el valor de `NextToken` es nulo, MediaTailor devuelve todos los balizas publicitarias.

1. Si `NextToken` está caducado, MediaTailor devuelve un mensaje de error HTTP con el código 400 de retorno.

   Realice una nueva llamada a `GetTracking` para recuperar un `NextToken` s. válido.

1. Escanea toda la respuesta para encontrar una baliza publicitaria que se encuentre en el rango deseado. `StartTimeInSeconds`

1. Realiza una nueva llamada a `GetTracking` con el valor de `NextToken` asociado al deseado`StartTimeInSeconds`. 

1. Si es necesario, vuelve a revisar los anuncios devueltos hasta que encuentres exactamente los que quieres reproducir.

#### Ejemplo extendido
<a name="gettracking.extendedexample"></a>

En este ejemplo, se muestra cómo `GetTracking` utilizarlos `NextToken` para limitar el número de balizas publicitarias que se devuelven a un jugador.

MediaTailor recibe una `GetTracking` solicitud. La respuesta contiene un anuncio con el identificador 9935407 y dos balizas con `StartTimeInSeconds` valores de 52,286 y 48,332 segundos. 

MediaTailor envía la respuesta JSON con lo siguiente: `NextToken`

```
  {
  "NextToken": JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb
  "avails": [
    {
      "ads": [
        {
          "adId": "9935407",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "",
          "creativeSequence": "",
          "duration": "PT15S",
          "durationInSeconds": 15,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "startTime": "PT30S",
          "StartTimeInSeconds": 45,
          "trackingEvents": [
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=Impression "
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "9935414",
              "eventType": "secondQuartile",
              "startTime": "PT52.286S",
              "StartTimeInSeconds": 52.286
            },
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=firstQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "9935412",
              "eventType": "firstQuartile",
              "startTime": "PT48.332S",
              "StartTimeInSeconds": 48.332
            }
          ],
          "vastAdId": ""
        }
      ],
      "startTime": "PT46.47S",
      "StartTimeInSeconds": 46.47
    }
  ]
}
```

En la siguiente `GetTracking` solicitud, MediaTailor responde con el `NextToken` valor: JF57 ITe48t1441mv7 Tm LKu ZLrox DzfIslp 6Bi SNL1 IJmz PVMDN0lqr BYycg MbKEb.

MediaTailor responde con anuncios y balizas que coinciden con los `StartTimeInSeconds` configurados en `NextToken` la llamada anterior.

Supongamos que ahora la respuesta incluye otro anuncio con el ID 9235407 además del anuncio anterior con el ID 9935407. Las balizas del ID de anuncio 9235407 tienen s 132.41 y 70.339. `StartTimeInSeconds`

MediaTailor recorre todas las balizas de la sesión para seleccionar las que tengan `StartTimeInSeconds` más de 52,286 segundos, que son la baliza 3 y la baliza 4 del anuncio con el ID 9235407:

```
{
  "NextToken": ZkfknvbfsdgfbsDFRdffg12EdffecFRvhjyjfhdfhnjtsg5SDGN
  "avails": [
    {
      "ads": [
        {
          "adId": "9235407",
          "adVerifications": [],
          "companionAds": [],
          "creativeId": "",
          "creativeSequence": "",
          "duration": "PT15.816S",
          "durationInSeconds": 19.716,
          "extensions": [],
          "mediaFiles": {
            "mediaFilesList": [],
            "mezzanine": ""
          },
          "startTime": "PT2M0S",
          "StartTimeInSeconds": 120.0,
          "trackingEvents": [
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=complete"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "8935414",
              "eventType": "firstQuartile",
              "startTime": "PT1M10.330S",
              "StartTimeInSeconds": 70.339
            },
            {
              "beaconUrls": [
                "http://adserver.com/tracking?event=thirdQuartile"
              ],
              "duration": "PT0S",
              "durationInSeconds": 0,
              "eventId": "8935412",
              "eventType": "secondQuartile",
              "startTime": "PT2M12.41S",
              "StartTimeInSeconds": 132.41
            }
          ],
          "vastAdId": ""
        },   
      ],
      "startTime": "PT36.47S",
      "StartTimeInSeconds": 36.47
    }
  ]
}
```