

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à.

# Funzioni: ganci per il ciclo di vita
<a name="monetization-functions-hooks"></a>

Un hook del ciclo di vita definisce quando viene eseguita la funzione durante la riproduzione. MediaTailor Questa pagina è un riferimento completo per i campi di input, i namespace di output e le regole che regolano il flusso di dati in ogni hook.

## Panoramica di
<a name="monetization-functions-hooks-overview"></a>

MediaTailor supporta due hook relativi al ciclo di vita:
+ **`PRE_SESSION_INITIALIZATION`**si attiva una volta quando uno spettatore inizia una nuova sessione. Usalo per operazioni di configurazione una tantum, ad esempio per recuperare segmenti di pubblico. A questo punto, non si è verificata alcuna interruzione pubblicitaria, quindi il contesto delle interruzioni pubblicitarie non è disponibile.
+ **`PRE_ADS_REQUEST`**viene attivato prima di ogni richiesta dell'ad decision server (ADS), una volta per interruzione dell'annuncio nello stream. Utilizzalo per personalizzare la richiesta ADS con dati di targeting, modificare l'URL ADS o aggiungere intestazioni.

La differenza fondamentale è la tempistica: `PRE_SESSION_INITIALIZATION` viene eseguita una volta e imposta dati che persistono per l'intera sessione, mentre vengono `PRE_ADS_REQUEST` eseguiti ripetutamente e possono personalizzare ogni richiesta ADS in base all'interruzione pubblicitaria specifica.

## Riferimento del campo di immissione
<a name="monetization-functions-hooks-input-ref"></a>


| Campo | Tipo | PRE\_SESSION\_INITIALIZATION | PRE\_ADS\_REQUEST | 
| --- | --- | --- | --- | 
| session.id | Long | ✓ | ✓ | 
| session.uuid | Stringa | ✓ | ✓ | 
| session.client\_ip | Stringa | ✓ | ✓ | 
| session.user\_agent | Stringa | ✓ | ✓ | 
| session.referer\* | Stringa | ✓ | ✓ | 
| session.avail\_duration\_secs | Long | ✗ | ✓ | 
| session.avail\_duration\_ms | Long | ✗ | ✓ | 
| player\_params.\* | Stringa | ✓ | ✓ | 
| event.id | Stringa | ✓ | ✓ | 
| event.hook | Stringa | ✓ | ✓ | 
| event.timestamp | Stringa | ✓ | ✓ | 
| avail.index | Int | ✗ | ✓ | 
| avail.random | Long | ✗ | ✓ | 
| avail.source\_content\_time\_epoch\_ms | Long | ✗ | ✓ | 
| scte.event\_id | Int | ✗ | ✓ | 
| scte.avail\_num | Int | ✗ | ✓ | 
| scte.segmentation\_event\_id | Int | ✗ | ✓ | 
| scte.segmentation\_type\_id | Int | ✗ | ✓ | 
| scte.segmentation\_upid | Stringa | ✗ | ✓ | 
| scte.segmentation\_upid.assetId | Stringa | ✗ | ✓ | 
| scte.segmentation\_upid.cueData.key | Stringa | ✗ | ✓ | 
| scte.segmentation\_upid.cueData.value | Stringa | ✗ | ✓ | 
| scte.unique\_program\_id | Int | ✗ | ✓ | 
| scte.archive\_allowed\_flag | Booleano | ✗ | ✓ | 
| scte.delivery\_not\_restricted\_flag | Booleano | ✗ | ✓ | 
| scte.device\_restrictions | Int | ✗ | ✓ | 
| scte.no\_regional\_blackout\_flag | Booleano | ✗ | ✓ | 
| scte.segment\_num | Int | ✗ | ✓ | 
| scte.segments\_expected | Int | ✗ | ✓ | 
| scte.sub\_segment\_num | Int | ✗ | ✓ | 
| scte.sub\_segments\_expected | Int | ✗ | ✓ | 
| scte.avails\_expected | Long | ✗ | ✓ | 
| asset.\* | Stringa | ✗ | ✓ | 
| adsRequest.url | Stringa | ✗ | ✓ | 
| adsRequest.method | Stringa | ✗ | ✓ | 
| adsRequest.headers.<key> | Stringa | ✗ | ✓ | 
| adsRequest.body | Stringa | ✗ | ✓ | 

\*  `session.referer` è presente solo quando un'intestazione Referer è inclusa nella richiesta di inizializzazione della sessione. Usalo `$exists(session.referer)` per controllare prima di accedere.