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.
Guía de inicio rápido de funciones
En esta guía se explica cómo crear la primera función, adjuntarla a una configuración de reproducción y comprobar que se ha ejecutado. Al final, dispondrás de una función funcional que clasifica el tipo de dispositivo de cada usuario (ctv,mobile, odesktop) y lo almacena como un parámetro del reproductor disponible en cada solicitud de ADS.
Requisitos previos
Antes de empezar, asegúrate de que tienes una configuración de MediaTailor reproducción existente. Si no dispone de una, consulte Cómo empezar con MediaTailor.
Paso 1: Crear una función de
En este paso, se crea una función que clasifica el tipo de dispositivo del usuario en función de la cadena del agente de usuario y almacena el resultado en los parámetros del reproductor. La función utiliza un tipo de salida personalizado (sin llamadas a la API externas) con una JSONatareferencia de expresión expresión para evaluar el agente de usuario.
-
Abra la consola de MediaTailor
. -
Seleccione Funciones en el panel de navegación.
-
Seleccione Creación de función.
-
En el modo del asistente de creación, seleccione Crear desde cero y, a continuación, elija Continuar.
-
En Tipo de función, selecciona el mosaico de salida personalizado.
-
En Detalles de la función, introduce lo siguiente:
-
ID de función:
myFirstFunction -
Description:
Classify device type from user agent
-
-
En Configuración de salida personalizada, en la sección Salida, agrega una fila:
-
Clave:
player_params.deviceType -
Valor:
{% $contains(session.user_agent, 'CTV') ? 'ctv' : $contains(session.user_agent, 'Mobile') ? 'mobile' : 'desktop' %}
-
-
Seleccione Creación de función.
Una notificación de éxito confirma que la función se ha creado y se te redirige a la página de detalles de la función.
La configuración de la función resultante es:
{ "FunctionId": "myFirstFunction", "FunctionType": "CUSTOM_OUTPUT", "Description": "Classify device type from user agent", "CustomOutputConfiguration": { "Runtime": "JSONATA", "Output": { "player_params.deviceType": "{% $contains(session.user_agent, 'CTV') ? 'ctv' : $contains(session.user_agent, 'Mobile') ? 'mobile' : 'desktop' %}" } } }
Paso 2: Adjunte la función a una configuración de reproducción
Asigne la función a un enlace del ciclo de vida de su configuración de reproducción. El mapeo indica MediaTailor cuándo ejecutar la función.
-
En el panel de navegación, elija Configuraciones.
-
Elija la configuración de reproducción que desea actualizar.
-
Elija Edit (Edición de).
-
Amplíe la sección de configuración de funciones.
-
Para ver el enlace de inicialización de sesión, selecciónelo
myFirstFunctionen el menú desplegable. -
Seleccione Save.
Esto se adjunta al enlace del ciclo myFirstFunction de vida. Pre-session inicialización El mapeo de funciones resultante es:
{ "FunctionMapping": { "PRE_SESSION_INITIALIZATION": "myFirstFunction" } }
MediaTailor ejecuta la función una vez al inicio de cada nueva sesión en esta configuración de reproducción.
Paso 3: Inicie una sesión y verifique que la función se haya ejecutado
Inicie una nueva sesión de reproducción para activar la función. Utilice una solicitud de inicialización de sesión para el punto final de inicialización de sesión de su configuración de reproducción.
MediaTailor publica automáticamente CloudWatch las métricas de cada ejecución de una función, sin necesidad de darse de alta. Tras iniciar una sesión, comprueba las siguientes métricas en el espacio de AWS/MediaTailor nombres para confirmar que la función se ha ejecutado:
-
PreSessionInitHook.Invocations— Confirma que se disparó el anzuelo. -
PreSessionInitHook.Errors— Debe ser 0 si la función se ha realizado correctamente. -
Function.Invocations— Confirma la función individual ejecutada. Esta métrica incluyeFunctionIdyFunctionTypeHookTypedimensiones para que puedas filtrarla demyFirstFunctionforma específica.
Si la función falla, MediaTailor emite los eventos del registro de errores a Manifest Logs de forma predeterminada (no es necesaria ninguna configuración):
-
PRE_SESSION_INIT_HOOK_ERROR— Hook-level error conerrorTypey.cause -
PRE_SESSION_INIT_FUNCTION_ERROR— Function-level fallo con los detalles específicosfunctionIdy del error.
El ejemplo siguiente muestra un PRE_SESSION_INIT_FUNCTION_ERROR evento relacionado con un error de sintaxis en la expresión de la función:
{ "eventTimestamp": "2024-01-01T12:00:00.076000000Z", "eventType": "PRE_SESSION_INIT_FUNCTION_ERROR", "eventDescription": "Function execution failed", "awsAccountId": "123456789012", "originId": "my-config", "sessionId": "session-123", "requestId": "req-abc", "eventId": "5dc6f040-0f72-4e8c-a64e-25eeef62708c", "functionId": "myFirstFunction", "functionType": "CUSTOM_OUTPUT", "executionTimeMs": 2, "errorType": "SYNTAX_ERROR", "cause": "Expected \")\" before end of expression", "input": {} }
Utilice el eventId campo para correlacionar los eventos de error de enlace y función para la misma ejecución. El errorType campo indica la clase de error. Consulte Solución de problemas y supervisión para obtener una lista completa de los tipos de errores y las soluciones.
nota
Para registrar los errores de forma detallada, opta por incluir PRE_SESSION_INIT_HOOK_SUMMARY los PRE_SESSION_INIT_FUNCTION_COMPLETED eventos en la configuración del registro de manifiestos. Los eventos resumidos muestran el resultado de cada ejecución. Los eventos completados muestran los request/response detalles de entrada, salida y HTTP de cada función. Están deshabilitados de forma predeterminada para minimizar los costos de registro. Para obtener más información, consulte Solución de problemas y supervisión.
¿Qué sucede entre bastidores
Este es el flujo de solicitud completo para la función que acabas de crear:
-
El jugador inicia una sesión con MediaTailor.
-
MediaTailor activa el gancho del
PRE_SESSION_INITIALIZATIONciclo de vida y se ejecutamyFirstFunction. -
La función evalúa el
session.user_agentcampo y escribectvmobile, odesktopen.player_params.deviceType -
MediaTailor crea la sesión y devuelve el manifiesto al jugador.
-
El reproductor encuentra una pausa publicitaria durante la reproducción.
-
MediaTailor activa el enlace
PRE_ADS_REQUESTdel ciclo de vida y, a continuación, construye la solicitud ADS. ComodeviceTypese almacena en los parámetros del reproductor, está disponible para su inclusión en la URL de la solicitud de ADS mediante la sustitución dinámica de variables. -
El ADS utiliza el tipo de dispositivo para mostrar creatividades publicitarias segmentadas.
-
MediaTailor incorpora los anuncios al manifiesto y se lo devuelve al jugador.
Si la función falla por cualquier motivo, MediaTailor descarta el resultado y procede como si no hubiera ninguna función adjunta. El espectador sigue viendo anuncios, pero sin segmentar por tipo de dispositivo.
Temas sugeridos
Ahora tiene una función funcional asociada a una configuración de reproducción. Desde aquí:
-
Para saber qué campos de entrada y espacios de nombres de salida están disponibles en cada enlace del ciclo de vida, consulte. Enlaces de ciclo de vida
-
Para obtener más información sobre los distintos tipos de funciones y cómo encadenarlos, consulte. Tipos de funciones y composición
-
Para ver ejemplos de funcionamiento completos, consulteEjemplos de funciones.