View a markdown version of this page

Guida rapida alle funzioni - AWS Elemental MediaTailor

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Guida rapida alle funzioni

Questa guida illustra come creare la prima funzione, collegarla a una configurazione di riproduzione e verificarne il funzionamento. Alla fine, avrai una funzione funzionante che classifica il tipo di dispositivo di ogni spettatore (ctv,mobile, odesktop) e lo memorizza come parametro del lettore disponibile in ogni richiesta ADS.

Prerequisiti

Prima di iniziare, assicurati di avere una configurazione di MediaTailor riproduzione esistente. Se non lo hai, consultare Guida introduttiva a MediaTailor.

Fase 1: Creare una funzione

In questo passaggio, crei una funzione che classifica il tipo di dispositivo del visualizzatore in base alla stringa dello user agent e memorizza il risultato nei parametri del giocatore. La funzione utilizza un tipo di output personalizzato (nessuna chiamata API esterna) con un'JSONatariferimento all'espressioneespressione per valutare lo user agent.

  1. Apri la MediaTailor console.

  2. Nel riquadro di navigazione, seleziona Funzioni.

  3. Scegli Crea funzione.

  4. Nella modalità di creazione guidata, seleziona Crea da zero, quindi scegli Continua.

  5. In Tipo di funzione, seleziona il riquadro Output personalizzato.

  6. In Dettagli della funzione, inserisci quanto segue:

    • ID della funzione: myFirstFunction

    • Descrizione: Classify device type from user agent

  7. In Configurazione di output personalizzata, nella sezione Output, aggiungi una riga:

    • Chiave: player_params.deviceType

    • Value (Valore): {% $contains(session.user_agent, 'CTV') ? 'ctv' : $contains(session.user_agent, 'Mobile') ? 'mobile' : 'desktop' %}

  8. Scegli Crea funzione.

Una notifica di successo conferma che la funzione è stata creata e l'utente viene reindirizzato alla pagina dei dettagli della funzione.

La configurazione della funzione risultante è:

{ "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' %}" } } }

Passaggio 2: collegare la funzione a una configurazione di riproduzione

Associa la funzione a un gancio del ciclo di vita sulla tua configurazione di riproduzione. La mappatura indica MediaTailor quando eseguire la funzione.

  1. Nel pannello di navigazione, scegli Configurazioni.

  2. Scegli la configurazione di riproduzione che desideri aggiornare.

  3. Scegli Modifica.

  4. Espandi la sezione di configurazione delle funzioni.

  5. Per l'hook di inizializzazione della sessione, seleziona myFirstFunction dal menu a discesa.

  6. Selezionare Salva.

Questo si collega myFirstFunction all'hook del ciclo di vita. Pre-session inizializzazione La mappatura delle funzioni risultante è:

{ "FunctionMapping": { "PRE_SESSION_INITIALIZATION": "myFirstFunction" } }

MediaTailor esegue la funzione una volta all'inizio di ogni nuova sessione su questa configurazione di riproduzione.

Fase 3: Avvia una sessione e verifica che la funzione sia stata eseguita

Avvia una nuova sessione di riproduzione per attivare la funzione. Utilizzate una richiesta di inizializzazione della sessione sull'endpoint di inizializzazione della sessione della configurazione di riproduzione.

MediaTailor pubblica automaticamente le CloudWatch metriche per ogni esecuzione di funzione, senza bisogno di opt-in. Dopo aver avviato una sessione, controlla le seguenti metriche nel AWS/MediaTailor namespace per confermare che la funzione è stata eseguita:

  • PreSessionInitHook.Invocations— Conferma che l'hook è stato attivato.

  • PreSessionInitHook.Errors— Dovrebbe essere 0 se la funzione ha avuto successo.

  • Function.Invocations— Conferma la singola funzione eseguita. Questa metrica includeFunctionId, e HookType le dimensioniFunctionType, in modo da poterle filtrare in modo myFirstFunction specifico.

Se la funzione fallisce, per impostazione predefinita MediaTailor invia gli eventi del registro degli errori a Manifest Logs (non è necessaria alcuna configurazione):

  • PRE_SESSION_INIT_HOOK_ERROR— Hook-level errore con errorType e. cause

  • PRE_SESSION_INIT_FUNCTION_ERROR— Function-level mancata indicazione dei dettagli specifici functionId e dell'errore.

L'esempio seguente mostra un PRE_SESSION_INIT_FUNCTION_ERROR evento relativo a un errore di sintassi nell'espressione della funzione:

{ "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": {} }

Utilizzate il eventId campo per correlare gli eventi di errore relativi agli hook e alle funzioni per la stessa esecuzione. Il errorType campo indica la classe di errore: vedi Risoluzione dei problemi e monitoraggio per un elenco completo dei tipi di errore e delle correzioni.

Nota

Per una registrazione dettagliata del successo, accedi PRE_SESSION_INIT_HOOK_SUMMARY e aggiungi PRE_SESSION_INIT_FUNCTION_COMPLETED gli eventi nella tua configurazione di Manifest Log. Gli eventi di riepilogo mostrano il risultato dell'hook per ogni esecuzione. Gli eventi completati mostrano i request/response dettagli di input, output e HTTP di ciascuna funzione. Questi sono disabilitati per impostazione predefinita per ridurre al minimo i costi di registro. Per ulteriori informazioni, consulta Risoluzione dei problemi e monitoraggio.

Cosa succede dietro le quinte

Ecco il flusso completo di richieste per la funzione appena creata:

  1. Il giocatore inizia una sessione con MediaTailor.

  2. MediaTailor attiva il gancio del PRE_SESSION_INITIALIZATION ciclo di vita e corre. myFirstFunction

  3. La funzione valuta il session.user_agent campo e scrivectv, mobile o su. desktop player_params.deviceType

  4. MediaTailor crea la sessione e restituisce il manifesto al giocatore.

  5. Il giocatore incontra un'interruzione pubblicitaria durante la riproduzione.

  6. MediaTailor attiva il PRE_ADS_REQUEST lifecycle hook, quindi crea la richiesta ADS. Poiché deviceType è memorizzato nei parametri del player, è disponibile per l'inclusione nell'URL di richiesta ADS tramite la sostituzione dinamica delle variabili.

  7. L'ADS utilizza il tipo di dispositivo per restituire annunci creativi mirati.

  8. MediaTailor inserisce gli annunci nel manifesto e lo restituisce al giocatore.

Se la funzione fallisce per qualsiasi motivo, MediaTailor scarta l'output e procede come se non fosse associata alcuna funzione. Lo spettatore continua a visualizzare gli annunci, ma senza il targeting per tipo di dispositivo.

Argomenti suggeriti

Ora hai una funzione funzionante associata a una configurazione di riproduzione. Da qui: