

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

# Post-ads risposta
<a name="monetization-functions-hooks-post-ads"></a>

## Quando si accende
<a name="monetization-functions-hooks-post-ads-when"></a>

MediaTailor esegue la funzione mappata `POST_ADS_RESPONSE` dopo aver ricevuto e analizzato una risposta dall'ADS, inclusa la risoluzione dei reindirizzamenti del wrapper VAST. La funzione vede gli annunci analizzati prima di MediaTailor selezionare gli annunci da inserire, pertanto le modifiche apportate qui influiscono sugli annunci che riempiono l'intervallo pubblicitario.

L'hook funziona per tutti i protocolli di streaming (HLS e DASH) e tutte le modalità di riproduzione (live, VOD e pre-roll). In genere viene attivato una volta per interruzione dell'annuncio. Per le risposte ADS che coprono più interruzioni pubblicitarie contemporaneamente (come le risposte VMAP) e per le risposte agli annunci precaricate, l'hook si attiva quando MediaTailor elabora la risposta e il namespace di `avail` input non è presente. `$exists(avail)`Da utilizzare per verificare prima di accedere ai campi disponibili.

## Input
<a name="monetization-functions-hooks-post-ads-input"></a>

`event.*`,`session.*`, e `adsRequest.*``adsResponse.*`, plus `avail.*` quando la risposta si applica a una singola interruzione pubblicitaria. Per tutti i campi disponibili, consulta[Riferimento al campo di immissione](monetization-functions-hooks.md#monetization-functions-hooks-input-ref).

## Namespace di output consentito
<a name="monetization-functions-hooks-post-ads-output"></a>


| Namespace | Tipi accettati | Come viene utilizzato l'output | 
| --- | --- | --- | 
| adsResponse.ads | Matrice di oggetti pubblicitari | Sostituisce l'elenco di annunci analizzato per questa risposta. MediaTailor abbina ogni annuncio restituito agli annunci originali di adId e procede alla selezione degli annunci con l'elenco restituito. | 
| temp.\* | Qualsiasi | Dati temporanei per il passaggio di valori tra le fasi di un esecutore. Non persistente. | 

Riscrivi l'elenco degli annunci modificato in. `adsResponse.ads` Puoi:
+ **Filtro**: restituisce un sottoinsieme degli annunci originali. Gli annunci omessi non vengono considerati per l'inserimento e la durata occupata diventa disponibile per la compilazione di altri annunci.
+ **Riordina**: restituisci gli annunci in un ordine diverso. L'ordine influisce sugli annunci che riempiono per primi l'interruzione pubblicitaria.
+ **Modifica**: modifica`durationSeconds`,`adSystem`, `adTitle``mediaFiles`, o `trackingEvents` su un annuncio. Gli annunci restituiti invariati mantengono tutti i metadati VAST originali.
+ **Inietta**: aggiungi annunci che non erano presenti nella risposta originale. Una nuova voce deve includere`adId`,`durationSeconds`, e`mediaFiles`. Gli annunci recuperati con una `VAST_REQUEST` funzione nella stessa invocazione dell'hook sono un'eccezione: `adId` è sufficiente aggiungere un annuncio di questo tipo per riga, perché MediaTailor ripristina i dati VAST completi analizzati dell'annuncio. Per ulteriori informazioni, consulta [Richiesta VASTA](monetization-functions-types-vast-request.md).

**Importante**  
Usa sempre un costruttore di array JSonata o una coercizione dell'array durante il filtraggio. Un'espressione di filtro, ad esempio, `adsResponse.ads[adSystem != 'BLOCKED']` produce un singolo oggetto quando corrisponde esattamente un annuncio. Non produce alcun valore quando zero annunci corrispondono. In tal caso la chiave di output viene omessa e il filtro non ha effetto. Racchiudi l'espressione tra parentesi o aggiungi: `[]`  

```
{
    "Output": {
        "adsResponse.ads": "{%adsResponse.ads[adSystem != 'BLOCKED'][]%}"
    }
}
```

Le seguenti regole si applicano all'elenco di annunci restituito:
+ Se due post condividono uno`adId`, vince la prima.
+ Le iscrizioni non valide vengono rifiutate singolarmente. Le voci valide nello stesso output sono ancora valide.
+ Se una voce inserita `adId` coincide con un annuncio della risposta ADS, l'annuncio originale viene utilizzato come base e le modifiche apportate ai campi vengono applicate sopra di esso.

## Cosa non vede questo gancio
<a name="monetization-functions-hooks-post-ads-scope"></a>

Questo hook viene eseguito prima della selezione degli annunci, quindi non visualizza gli annunci pubblicati in un secondo momento da altre MediaTailor funzionalità e non può determinare quali annunci verranno infine inseriti, poiché le decisioni relative allo stato e al riempimento della transcodifica avvengono dopo. Per gli annunci prefetch, l'hook si attiva quando MediaTailor elabora la risposta prefetch stessa. In una successiva interruzione dell'annuncio, gli annunci precedentemente precaricati vengono uniti dopo l'esecuzione di questo hook, in modo che l'hook non li veda lì. Per agire sul set di annunci finale, usa. `PRE_MANIFEST_INSERTION`

## Casi d'uso tipici
<a name="monetization-functions-hooks-post-ads-use-cases"></a>
+ Filtra gli annunci in base ai metadati, ad esempio rimuovendo gli annunci dai sistemi pubblicitari concorrenti in modo che non vengano visualizzati nella stessa interruzione pubblicitaria (separazione competitiva).
+ Recupera annunci aggiuntivi da un server pubblicitario secondario con una `VAST_REQUEST` funzione quando la risposta principale è breve e aggiungili all'elenco degli annunci.
+ Riordina gli annunci in modo che gli annunci preferiti riempiano per primi l'interruzione pubblicitaria.
+ Modifica gli eventi di tracciamento o i metadati degli annunci prima dell'inserimento.

## Comportamento di errore
<a name="monetization-functions-hooks-post-ads-failure"></a>

Se una funzione collegata a `POST_ADS_RESPONSE` fallisce per qualsiasi motivo, ad esempio un timeout, un errore di espressione o un output non valido, MediaTailor ignora l'output della funzione. La richiesta procede con la risposta ADS originale, come se non fosse allegata alcuna funzione. Se l'input serializzato supera il limite di dimensione dell'input, MediaTailor salta completamente l'invocazione dell'hook. Per i limiti applicabili, vedere. [Limits](monetization-functions-limits.md)