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.
Client-side seguimiento de anuncios
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 envían los eventos de seguimiento, como las balizas publicitarias por impresiones y cuartiles, al servidor de decisiones publicitarias (ADS) y a otras entidades de verificación de anuncios. Estos eventos registran tanto el estado general de las pausas publicitarias como la disponibilidad individual de los anuncios 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 las balizas publicitarias por impresión y cuartil, consulte. Client-side balizamiento Para obtener más información sobre ADS y otras entidades de verificación de anuncios, consulte. Client-side integraciones de seguimiento de anuncios
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 jugador para solicitudes de ADS MediaTailor variables de sesión para solicitudes de ADS
Client-side el seguimiento permite funciones como las siguientes:
-
Ad-break temporizadores de cuenta regresiva: para obtener más información, consulte. Añade un temporizador de cuenta regresiva
-
Clics en anuncios: para obtener más información, consulte. Hacer clic en el anuncio
-
Visualización de anuncios complementarios: para obtener más información, consulte. Anuncios complementarios
-
Anuncios que se pueden omitir: para obtener más información, consulte. Anuncios que se pueden omitir
-
Visualización de los iconos VAST para garantizar el cumplimiento de las normas de privacidad: para obtener más información, consulte. Iconos de Google Why This Ad (WTA)
-
Control de la limpieza de los jugadores durante la publicación de anuncios: para obtener más información, consulteFregando.
Con la API de seguimiento MediaTailor del lado del cliente, puedes enviar metadatos al dispositivo de reproducción que habiliten funciones adicionales al seguimiento del lado del cliente:
Client-side flujo de trabajo de informes
El siguiente diagrama muestra el flujo de trabajo completo de generación de informes del lado del cliente, desde la inicialización de la sesión hasta la reproducción de anuncios y la señalización:
El flujo de trabajo de elaboración de informes por parte del cliente incluye los siguientes pasos:
-
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 conmanifestUrlytrackingUrlpara la sesión. -
Solicitud de manifiesto y decisión sobre el anuncio: el jugador solicita el manifiesto personalizado desde MediaTailor. MediaTailor solicita el manifiesto de contenido original desde el origen, envía una solicitud de anuncio al servidor de decisiones publicitarias (ADS) utilizando los parámetros del reproductor, recibe una respuesta VAST con los metadatos del anuncio y envía al reproductor un manifiesto personalizado con marcadores de anuncios.
-
Recuperación de datos de seguimiento: el jugador sondea la URL de seguimiento a intervalos regulares (coincidiendo con la duración objetivo de HLS o con el período mínimo de actualización de DASH). MediaTailor devuelve metadatos de seguimiento de JSON que contienen datos sobre las ofertas, los anuncios, los eventos de seguimiento, las URL de las balizas y los datos de verificación de los anuncios.
-
Reproducción y balizas 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 cuartiles (start, FirstQuartile, midpoint, ThirdQuartile, complete) en el momento adecuado, carga y ejecuta la verificación de anuncios JavaScript si es necesaria y envía viewability/verification los eventos a servicios de verificación de terceros.
-
Sondeo continuo: el reproductor continúa sondeando 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 permite utilizar funciones avanzadas, como los temporizadores de cuenta regresiva para los anuncios, la función de hacer clic, los anuncios complementarios, los anuncios que se pueden omitir y la visualización de iconos con una gran cantidad de información para garantizar la privacidad.
Temas
Habilitar el seguimiento desde el lado del cliente
El seguimiento del lado del cliente se habilita para cada sesión. El reproductor envía un HTTP POST al punto final del prefijo de inicialización de la sesión de la MediaTailor configuración. De manera opcional, el reproductor puede enviar metadatos adicionales para usarlos MediaTailor al realizar llamadas publicitarias, llamar al origen para obtener un manifiesto e invocar o deshabilitar MediaTailor 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. }
Utilice 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 paraparam2.
https://my.ads.com/path?param1=[player_params.param1]¶m2=[player_params.param2]
Parámetros del servidor de anuncios
En el nivel superior de la estructura JSON hay un objeto adsParams JSON. Dentro de este objeto hay key/value pares que MediaTailor pueden leerse y enviarse al servidor de anuncios en todas las solicitudes de sesión. MediaTailor es compatible con los siguientes servidores de anuncios:
-
Google Ad Manager
-
SpringServe
-
FreeWheel
-
Publica
Parámetros de consulta de interacción de origen
Los key/value pares reservados que se encuentren en el nivel superior de la estructura JSON, como, y,adsParams, availSuppressionoverlayAvails, 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 se MediaTailor hace 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 tokens de acceso al origen.
Session-configured features
Usa la estructura JSON de inicialización de la sesión para habilitar, deshabilitar o anular MediaTailor funciones como, y. overlayAvails availSuppression adSignaling Cualquier configuración de funciones aprobada durante la inicialización de la sesión anula la configuración en el nivel de configuración. MediaTailor
nota
Los metadatos a los que se envía MediaTailor al inicializar la sesión son inmutables y no se pueden agregar metadatos adicionales mientras dure la sesión. Utilice SCTE-35 marcadores para incluir los datos que cambien durante la sesión. Para obtener más información, consulte MediaTailor variables de sesión para solicitudes de ADS.
ejemplo: Realizar un seguimiento de los anuncios del lado del cliente para HLS
POSTmediatailorURL/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" } }
ejemplo: Realizar un seguimiento de los anuncios del lado del cliente para DASH
POSTmediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" } }
Parámetro del modo de notificación
Puedes especificar el modo de generación de informes al inicializar una sesión si incluyes el parámetro en el cuerpo de la reportingMode solicitud. Este parámetro controla si se MediaTailor realiza un seguimiento de los anuncios de la sesión desde el lado del cliente o desde el lado del servidor.
-
client- El reproductor realiza el seguimiento de los anuncios y envía balizas al servidor de anuncios. Este es el modo predeterminado si noreportingModese especifica ninguno. -
server- MediaTailor realiza un seguimiento de los anuncios en el servidor y envía balizas directamente al servidor de anuncios.
ejemplo Inicialización de la sesión con el modo de generación de informes del lado del servidor
POSTmediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8 { "adsParams": { "deviceType": "ipad", "uid": "abdgfdyei-2283004-ueu" }, "reportingMode": "server" }
ejemplo Inicialización de la sesión con el modo de generación de informes del lado del cliente (explícito)
POSTmediatailorURL/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 URL relativas que el reproductor puede usar 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. Client-side esquema y propiedades de seguimiento de anuncios
Mejores prácticas para el seguimiento del lado del cliente
En esta sección se describen las mejores prácticas para el seguimiento del lado del cliente en los flujos de trabajo en vivo y MediaTailor de VOD.
Flujos de trabajo activos
Sondea el punto final de seguimiento con un intervalo que coincida con la duración prevista para HLS, o el período mínimo de actualización para DASH, para disponer siempre de los metadatos de seguimiento de anuncios más actualizados. 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 jugadores admiten a los oyentes de eventos, que podrían usarse como una alternativa a las encuestas. Por ejemplo, la función de decoración del identificador del MediaTailor anuncio tendría que estar habilitada en cada sesión. Para obtener más información, consulte Decoración de ID de anuncio. Al usar esta función, se coloca un identificador de intervalo de fechas (HLS) o de elemento de evento (DASH) sobre cada anuncio disponible. Los jugadores pueden usar estas etiquetas de manifiesto como un aviso para llamar al punto final MediaTailor de seguimiento de la sesión.
Flujos de trabajo de VOD
Tras iniciar la sesión correctamente y MediaTailor recibir el primer manifiesto con contenido multimedia, solo tendrá que llamar una vez al punto final de seguimiento.
Server-guided inserción de anuncios
Server-guided Las sesiones de inserción de anuncios (SGAI) no utilizan la API. GetTracking En vez de eso, cuando la usasaws.reportingMode=CLIENT, MediaTailor proporciona información de seguimiento en la TRACKING sección de cada respuesta de la lista de activos cuando los jugadores solicitan contenido publicitario. La respuesta de inicialización de la sesión no incluye untrackingUrl.
La respuesta de la lista de activos para las sesiones de SGAI rastreadas desde 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 por parte del cliente para los métodos SGAI:
-
Analice la
TRACKINGsección a partir de las respuestas de la lista de activos en lugar de llamarlaGetTracking -
Usa las URL de seguimiento que aparecen en la lista de activos para generar informes sobre eventos publicitarios
-
Activa balizas de seguimiento en función de los eventos reales de reproducción de anuncios en el reproductor
-
Gestiona el seguimiento de cada pausa publicitaria de forma independiente a medida que vayas recopilando las listas de activos
importante
La TRACKING sección solo se incluye en la lista de activos cuando aws.reportingMode=CLIENT está configurada. Si 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 incrustan los datos de la baliza en los URI del anuncio. Para obtener más información, consulte Server-side seguimiento con inserción de anuncios guiada por el servidor (SGAI).
Navegar a través de balizas publicitarias con GetTracking
Usa el GetTracking punto final para reducir el número de anuncios devueltos 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 del jugador.
GetTrackingdevuelve un NextToken valor que puedes usar para reducir el número de balizas devueltas hojeando la lista de balizas devueltas. Puedes revisar NextToken los valores para encontrar el valor deseado en el 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, incluido el valorNextTokeny el valor de cada uno de ellos. Si una
GetTrackingsolicitud no incluye unNextToken, se devuelven todos los anuncios de la ventana de manifiesto.Si una
GetTrackingsolicitud contiene un indicadorNextToken, pero no hay balizas nuevas que devolver, MediaTailor devuelve el mismo valor que elNextTokenque enviaste en la solicitud original.Cuando ya no haya más balizas correspondientes a un anuncio, lo
GetTrackingeliminará de la respuesta.Los tokens
GetTrackingcaducan después de 24 horas. Si unNextTokenvalor tiene más de 24 horas de antigüedad, la siguiente llamadaGetTrackingdevuelve un valorNextTokennulo.
Secuencia de llamadas generalizada de «del jugador» GetTracking
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 con NextToken es la siguiente:
Realice la primera llamada a
GetTracking.Se devuelven todos los anuncios y balizas y
NextTokenlos primeros de las llamadas posteriores.Si el valor de
NextTokenes nulo, MediaTailor devuelve todas las balizas publicitarias.Si ha caducado, MediaTailor devuelve un mensaje de error con el código de retorno HTTP 400.
NextTokenRealice una nueva llamada para
GetTrackingrecuperar losNextTokens. válidos.Escanee toda la respuesta para encontrar una baliza publicitaria que esté en el rango deseado.
StartTimeInSecondsRealice una nueva llamada
GetTrackingcon el valor deNextTokenasociado a la deseadaStartTimeInSeconds.Si es necesario, vuelve a revisar los anuncios devueltos hasta que encuentres exactamente los que quieres reproducir.
Ejemplo extendido
En este ejemplo se muestra cómo utilizarlos GetTracking NextToken para restringir el número de balizas publicitarias que se devuelven a un reproductor.
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 de la siguiente manera: 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: JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb.
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 identificador 9235407, además del anuncio anterior con el identificador 9935407. Las balizas del anuncio con el ID 9235407 tienen 132.41 y 70.339. StartTimeInSeconds
MediaTailor recorre todas las balizas de la sesión para seleccionar las que tienen StartTimeInSeconds más de 52,286 segundos, que son la baliza 3 y la baliza 4 del anuncio con el identificador 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 } ] }