> For the complete documentation index, see [llms.txt](https://docs.exoclick.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exoclick.com/tutorials/pt/tutoriais/tutoriais-para-editores/serve-sfw-ads.md).

# Como exibir anúncios SFW com o ExoClick

À medida que os países começam a implementar leis de verificação de idade, os editores precisam de encontrar uma forma de cumprir estas leis, minimizando também o impacto que estas leis têm nas suas receitas. É por isso que a ExoClick introduziu alguns parâmetros que podem ser adicionados às zonas de anúncios para ajudar os editores não só a bloquear produtos NSFW, mas também a acompanhar se estes utilizadores realmente conseguem verificar a sua idade. Neste tutorial, vamos mostrar-lhe como usar estes parâmetros.

## data-ex\_av

O `parâmetro data-ex_av` determina se o utilizador verificou a sua idade ou não e permite 3 valores:

* `"0"`: Sem verificação de idade (Indefinido)
* `"1"`: Verificação de idade - Verificado
* `"2"`: Verificação de idade - Não verificado (SFW)

Exemplo de código:

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
 <ins class="eas6a97888e2" data-zoneid="5209020"  data-ex_av="2"></ins> 
 <script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

## data-block-ad-types

O `data-block-ad-types` parâmetro permite bloquear dinamicamente etiquetas específicas de tipos de anúncios. Para efeitos de bloqueio de anúncios NSFW, usaremos apenas o valor `"101"` neste parâmetro.

Exemplo de código:

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
 <ins class="eas6a97888e2" data-zoneid="5209020" data-block-ad-types="101"></ins> 
 <script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

## Utilização dos parâmetros

Tendo em conta o que explicámos, se quiser veicular um anúncio que seja SFW e quiser identificar esse utilizador como alguém que ainda não verificou a sua idade, integrará os parâmetros assim:

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
 <ins class="eas6a97888e2" data-zoneid="5209020" data-ex_av="2"  data-block-ad-types="101"></ins> 
 <script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

{% hint style="info" %}
**Nota**: é importante que use ambos os parâmetros.
{% endhint %}

E se quiser veicular anúncios NSFW a um utilizador verificado, faça-o assim:

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
 <ins class="eas6a97888e2" data-zoneid="5209020" data-ex_av="1"></ins> 
 <script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

A secção seguinte inclui alguns exemplos de como pode adicionar estes parâmetros dinamicamente às suas zonas de anúncios. Dependendo da verificação de idade que estiver a utilizar, os utilizadores podem ser verificados através de um cookie, de um parâmetro de URL ou de outra coisa. Em última análise, **é da sua responsabilidade detetar o estado de verificação dos seus utilizadores e implementar os parâmetros em conformidade.**

### Exemplo 1: Alterar parâmetros com base no valor do cookie

Vamos assumir que está a atribuir um cookie de primeira parte chamado “verified\_user” com o valor “yes” aos utilizadores que conseguiram verificar a sua idade com sucesso. Neste cenário, pode adicionar dinamicamente os parâmetros ex\_av e data-block-ad-types assim:

```html
// zonas de anúncios de banner
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>
<div id=”adspot1”>
<ins class="eas6a97888e2" data-zoneid="5409832" data-block-ad-types="101" data-ex_av="2"></ins>
<div id=”adspot2”>
<ins class="eas6a97888e2" data-zoneid="5632512" data-block-ad-types="101" data-ex_av="2"></ins>
<div id=”adspot3”>
<ins class="eas6a97888e2" data-zoneid="57382911" data-block-ad-types="101" data-ex_av="2"></ins>

// zonas de anúncios fpi
<script async type="application/javascript" src="https://a.pemsrv.com/ad-provider.js"></script> 
<ins class="eas6a97888e35" data-zoneid="5045990" data-block-ad-types="101"  data-ex_av="2"></ins>

// função dinâmica com base no cookie
<script>
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}

const verifiedUser = getCookie("verified_user");
if (verifiedUser === "verifiedUser") {
const adInsElements = document.querySelectorAll("ins");
adInsElements.forEach(ins => {
ins.setAttribute("data-ex_av", "1");
ins.setAttribute("data-block-ad-types", "0");
});
}
(AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

Este script permitir-lhe-á veicular anúncios NSFW aos utilizadores que tenham o cookie “user\_verified”. Note que terá de atualizar a página depois de o utilizador ter verificado a sua idade para que o script possa detetar corretamente o cookie.

### Exemplo 2: alterar parâmetros com base no parâmetro de URL

Neste exemplo, assumimos que o URL recebe um parâmetro chamado “user\_verified=yes” quando o utilizador verifica a sua idade com sucesso.

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>
<div id="ad-container">
      <ins class="eas6a97888e20" data-zoneid="5662140" data-block-ad-types="101" data_ex_av="2"></ins>
</div>
    <script>
      (AdProvider = window.AdProvider || []).push({ serve: {} });
    </script>
    <script>
      const userVerified = new URLSearchParams(window.location.search).get(
        "user_verified"
      );
      if (userVerified === "yes") {
        let container = document.getElementById("ad-container");

        container.innerHTML = "";

        let newIns = document.createElement("ins");
        newIns.className = "eas6a97888e20";
        newIns.setAttribute("data-zoneid", "5662140");
        newIns.setAttribute("data-block-ad-types", "");
        newIns.setAttribute("data-ex_av","1");
        container.appendChild(newIns);

        (AdProvider = window.AdProvider || []).push({ serve: {} });
      }
    </script>
```

{% hint style="info" %}
**Lembre-se**: estes exemplos de código são meras sugestões. Deve discutir com a ferramenta de Verificação de Idade a forma como os utilizadores são verificados e adaptar os seus scripts em conformidade.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.exoclick.com/tutorials/pt/tutoriais/tutoriais-para-editores/serve-sfw-ads.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
