

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

# OUTPUT\_PERSONALIZZATO
<a name="monetization-functions-types-custom-output"></a>

## Quando utilizzare
<a name="monetization-functions-types-custom-output-when"></a>

Da utilizzare `CUSTOM_OUTPUT` quando la logica delle funzioni è puramente computazionale. I casi d'uso più comuni includono la classificazione dei dispositivi in base alle stringhe degli agenti utente, la selezione degli URL dei server di decisione degli annunci con logica di A/B test e la riformattazione dei parametri del player prima che raggiungano l'Ad Decision Server.

`CUSTOM_OUTPUT`le funzioni sono il tipo più veloce perché valutano le espressioni in memoria senza chiamate di rete. Scegli questo tipo ogni volta che puoi raggiungere il tuo obiettivo senza contattare un servizio esterno.

## Campi di configurazione
<a name="monetization-functions-types-custom-output-fields"></a>

Una `CUSTOM_OUTPUT` funzione ha due campi:
+ **Runtime**: il linguaggio delle espressioni. Imposta questo valore su`JSONATA`.
+ **Output**: una mappa di coppie chiave-valore. Ogni chiave è un nome di associazione di output (ad esempio`player_params.device_type`) e ogni valore è un'espressione che viene MediaTailor valutata in fase di esecuzione.

**Nota**  
`{%...%}`Da utilizzare per racchiudere le espressioni JSonata nei campi di stringhe. I valori senza questi delimitatori vengono trattati come stringhe statiche. Ad esempio, `"{%session.id%}"` valuta l'espressione, while `"session.id"` è il testo letterale.

## Comportamento di runtime
<a name="monetization-functions-types-custom-output-behavior"></a>

Quando MediaTailor esegue una `CUSTOM_OUTPUT` funzione, valuta ogni espressione nel blocco di output rispetto allo stato corrente della sessione. Tutte le espressioni visualizzano la stessa istantanea di input. I risultati valutati diventano gli output della funzione.

Se un'espressione non viene valutata, MediaTailor scarta l'intero output della funzione e procede come se non fosse associata alcuna funzione. La funzione non memorizza parzialmente i risultati.

## Esempio: suddivisione A/B del traffico
<a name="monetization-functions-types-custom-output-example"></a>

La seguente funzione assegna in modo casuale ogni interruzione pubblicitaria a uno dei due URL del server decisionale degli annunci. È progettato per adattarsi al ciclo di vita. `PRE_ADS_REQUEST`

```
{
    "FunctionId": "abTestAdsUrl",
    "FunctionType": "CUSTOM_OUTPUT",
    "CustomOutputConfiguration": {
        "Runtime": "JSONATA",
        "Output": {
            "adsRequest.url": "{%$random() < 0.5 ? 'https://ads.example.com/v1' : 'https://ads.example.com/v2'%}"
        }
    }
}
```

Per una panoramica completa di questo esempio, vedere. [Esempi di funzioni](monetization-functions-examples.md)