# Anúncios

Existem parâmetros opcionais que podem ser usados para personalizar a veiculação de anúncios do Fluid Player.

Não são necessários parâmetros e será usado o valor padrão se não forem fornecidos.

As opções VAST relacionam-se com os anúncios veiculados e com a forma como o player os processa.

Estas opções são especificamente para quando os anúncios são exibidos no player.

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            adList:                     {},
            skipButtonCaption:          'Saltar anúncio em [seconds]',
            skipButtonClickCaption:     'Saltar anúncio <span class="skip_button_icon"></span>',
            adText:                     null,
            adTextPosition:             'top left',
            adCTAText:                  'Visite agora!',
            adCTATextPosition:          'bottom right',
            vastTimeout:                5000,
            showPlayButton:             false,
            maxAllowedVastTagRedirects: 1,

            vastAdvanced: {
                vastLoadedCallback:       (function() {}),
                noVastVideoCallback:      (function() {}),
                vastVideoSkippedCallback: (function() {}),
                vastVideoEndedCallback:   (function() {})
            }
        }
    }
);
```

### adList

Configure uma ou várias tags VAST. Para cada uma das tags existem várias opções.

Por favor, note que a resposta XML da tag VAST `Content-Type` deve ser ou `application/xml` ou `text/xml`.

* **roll (obrigatório):** As posições disponíveis na linha do tempo: *preRoll*, *midRoll*, *postRoll*, *onPauseRoll*.
* **vastTag (obrigatório):** O URL do XML VAST (consulte as tags/atributos suportados vastLinear.xml)
* **timer (apenas para mid-roll):** A propriedade timer agenda quando o anúncio deve ser exibido. Existem duas formas de definir isto:
  * **\[seconds]:** O número de segundos até o anúncio começar. Exemplo: *timer: 10*
  * **\[percentage]:** A percentagem do vídeo a ser mostrada antes de o anúncio começar. Exemplo: *timer: 50%*
* **fallbackVastTags (Opcional):** Uma matriz que contém os URLs VAST; se o URL em vastTag falhar, o player tentará usar estes.
* **adText (Opcional para anúncios lineares):** A [secção adText](#adtext) descreve a capacidade de definir texto a aparecer nos anúncios. Ao usar este parâmetro em **adList** pode especificar texto único por anúncio.
* **adTextPosition (Opcional para anúncios lineares):** Apenas relevante se **adText** estiver em uso. Isto permite-lhe definir a posição de **adText** por anúncio.
* **adClickable (Opcional para anúncios lineares):** Desative a abertura da página de destino num novo separador quando o player for clicado e mantenha a funcionalidade de reproduzir/pausar.

Podemos definir **vários&#x20;*****midRoll*****&#x20;com o mesmo valor de timer**, também **vários&#x20;*****preRoll*****,&#x20;*****postRoll*****&#x20;e&#x20;*****onPauseRoll*** podem ser definidos. Veja o exemplo abaixo:

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            adList: [
                {
                    roll: 'preRoll',
                    vastTag: 'vastPreRoll_1.xml',
                    adText: 'A publicidade apoia-nos diretamente'
                },
                {
                    roll: 'preRoll', // vários anúncios preRoll
                    vastTag: 'vastPreRoll_2.xml',
                    adText: 'A publicidade apoia-nos diretamente'
                },
                {
                    roll: 'midRoll',
                    vastTag: 'vastMidRoll_1.xml',
                    timer: 8
                },
                {
                    roll: 'midRoll',
                    vastTag: 'vastMidRoll_2.xml',
                    // Caso vastTag falhe, o player fará fallback para uma das tags válidas desta matriz
                    fallbackVastTags: ['vastMidRoll_3.xml', 'vastMidRoll_4.xml'],
                    // vários anúncios para o mesmo momento
                    timer: 8
                },
                {
                    roll: 'midRoll',
                    vastTag: 'vastMidRoll_2.xml',
                    timer: 10,
                    adClickable: false // Padrão true
                },
                {
                    roll: 'postRoll',
                    vastTag: 'vastPostRoll.xml',
                    adText: 'Obrigado por assistir',
                    adTextPosition: 'top right'
                }
            ]
        }
    }
);
```

* **vAlign** (apenas para nonLinear, opcional): As posições verticais disponíveis para anúncios nonLinear: top, middle, bottom. Padrão: bottom.
* **nonLinearDuration** (apenas para nonLinear, opcional): O número de segundos até o anúncio nonLinear ser exibido. Se não for definido, nem o atributo minSuggestedDuration do XML VAST, então não fechará até ao fim do vídeo.
* **size** (apenas para nonLinear, opcional): A dimensão do anúncio. Tamanhos suportados: 468x60, 300x250, 728x90

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            adList: [
                {
                    roll: 'onPauseRoll',
                    vastTag: 'vastNonLinear.xml',
                    vAlign: 'top',
                    nonlinearDuration: 10,
                    size: '300x250'
                }
            ]
        }
    }
);
```

### skipButtonCaption

O texto para exibir a contagem decrescente durante um anúncio. O **\[seconds]** espaço reservado é usado para a contagem decrescente dos segundos.\
(**Padrão:** "Saltar anúncio em \[seconds]")

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            skipButtonCaption: 'Espere mais [seconds] segundo(s)'
        }
    }
);
```

### skipButtonClickCaption

Isto define o texto a mostrar quando a contagem decrescente termina e o utilizador pode saltar para o vídeo principal.\
(**Padrão:** 'Saltar anúncio ')

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            skipButtonClickCaption: 'Ver vídeo principal <span class="skip_button_icon"></span>'
        }
    }
);
```

### adText

Pode ser mostrado texto personalizado quando é reproduzido um anúncio in-stream. Este texto aparece no canto superior esquerdo do player e será definido com a cor principal.

Tem adicional `adTextPosition` parâmetro, que pode ter valores como 'top right', 'top left', 'bottom right', 'bottom left'.

O texto do anúncio e a posição também podem ser definidos numa base [por anúncio](#adlist).

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            adText: 'A publicidade ajuda-nos a manter as luzes acesas', // Padrão null,
            adTextPosition: 'top left' // Padrão 'top left'
        }
    }
);
```

![](/files/8471d6b89920021ec3e203b10c9214660f2171b5)

### adCTAText

A página de destino do anúncio será mostrada na `adCTAText` área. Pode adicionar texto personalizado acima deste URL, ou optar por desativá-lo.

A captura de ecrã abaixo mostra como aparecerá por predefinição, e o código abaixo mostra como alterá-lo ou desativá-lo.

Tem adicional `adCTATextPosition` parâmetro, que pode ter valores como 'top right', 'top left', 'bottom right', 'bottom left'.

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            // adCTAText: 'Subscreva agora!', // Padrão "Visite agora!",
            // adCTATextPosition: 'bottom left', //Padrão 'bottom right'
            adCTAText: false // Desativar adCTAText
        }
    }
);
```

O texto do CTA também pode ser obtido a partir do XML VAST definido através do `adCTATextVast` parâmetro. Assim, se este parâmetro estiver definido como true, será usado o texto fornecido no XML VAST. Caso o texto do XML VAST esteja vazio ou este parâmetro não esteja definido, recorrerá ao valor predefinido em `adCTAText`.

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            adCTAText: 'Subscreva agora!', // Padrão "Visite agora!",
            adCTATextPosition: 'bottom left', //Padrão 'bottom right',
            adCTATextVast: true, // Ativado. Para usar o texto de CTA conforme fornecido no XML VAST.
        }
    }
);
```

![](/files/1300df2aff73e2ee3dd8b6b1d6d0d90d2df5745a)

### vastTimeout

Este parâmetro permite definir o tempo, em milissegundos, para esperar que o VAST carregue. (**Padrão:** 5000)

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            vastTimeout: 1000 // Padrão 5000
        }
    }
);
```

### vastAdvanced

Podemos especificar as funções de callback nos diferentes eventos VAST.

* **vastLoadedCallback:** Quando o VAST for carregado.
* **noVastVideoCallback:** Quando não houver vídeo VAST.
* **vastVideoSkippedCallback:** Se o anúncio for saltado.
* **vastVideoEndedCallback:** Quando o anúncio terminar.

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            vastAdvanced: {
                vastLoadedCallback:       (function() { console.log("Aqui um evento") }),
                noVastVideoCallback:      (function() { console.log("Aqui outro") }),
                vastVideoSkippedCallback: (function() { console.log("Aqui mais um") }),
                vastVideoEndedCallback:   (function() { console.log("Aqui está o último") })
            }
        }
    }
);
```

### showPlayButton

Opção para mostrar o ícone do botão de reprodução depois de o vídeo do anúncio parar. Por padrão, este parâmetro será definido como **false**, mas pode ser ativado como mostrado abaixo.

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            showPlayButton: true // Padrão false
        }
    }
);
```

### maxAllowedVastTagRedirects

O Fluid Player suporta wrappers VAST através de .O `maxAllowedVastTagRedirects` define o número máximo de redirecionamentos permitidos (wrappers).

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            maxAllowedVastTagRedirects: 1 // Padrão 3
        }
    }
);
```

### adClickable

Clicar no player enquanto um anúncio in-stream está a ser exibido abrirá a página de destino num novo separador.

Se quiser desativar isto e permitir abrir a página de destino apenas através do [call to action](#adctatext), pode usar o **adClickable** parâmetro.

Isto pode ser definido para todos os anúncios in-stream ou por anúncio listado. Para detalhes sobre como adicioná-lo por anúncio, consulte a secção [adlist](#adlist) .

```javascript
fluidPlayer(
   'my-video',
    {
        vastOptions: {
            adClickable: false // Padrão true
        }
    }
);
```

### VPAID

Ao contrário dos anúncios VAST normais, o VPAID é muito dinâmico e interativo.

Para mais informações <https://www.iab.com/guidelines/digital-video-player-ad-interface-definition-vpaid-2-0/>

Para ativar o carregamento de anúncios VPAID **allowVPAID** a opção tem de ser definida como true (false por padrão).

O player suporta VPAID versão 2.0

```javascript
fluidPlayer(
    'video-vpaid-ads',
    {
        vastOptions: {
            allowVPAID: true, // Padrão false.
            adList: [
                {
                    roll: 'preRoll',
                    vastTag: './vastxmls/vpaid_linear.xml'
                },
                {
                    roll: 'midRoll',
                    vastTag: './vastxmls/vpaid_nonlinear.xml',
                    timer: 5
                },
            ]
        }
    }
);
```

### VAST tracking

Os seguintes eventos são suportados pelo Fluid Player.

* start
* firstQuartile
* midpoint
* thirdQuartile
* complete
* progress
* impression
* clickTracking
* iconClickTrough


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fluidplayer.com/portuguese/configuracao/advertisements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
