# Banner

Los anuncios de banner son anuncios de imagen o de texto rectangulares que ocupan un lugar dentro del diseño de una aplicación. Permanecen en la pantalla mientras los usuarios interactúan con la aplicación y pueden actualizarse automáticamente después de un cierto período de tiempo. Si eres nuevo en la publicidad móvil, son una excelente opción para comenzar.

## **Integración**

Para realizar la integración de un banner, es necesario implementar un código similar al del ejemplo que se muestra a continuación:

```csharp
// Se crea un banner
WortiseBanner bannerAd = new WortiseBanner(
    "Ad Unit ID de Wortise",
    WortiseAdSize.Height50,
    WortiseAdPosition.Top
);

// Opcional: Se establece el tiempo de auto-refresco en milisegundos
bannerAd.AutoRefreshTime = 60000;

// Se solicita la carga de un anuncio
banner.LoadAd();
```

## **Banners adaptativos**

Los banners adaptativos son un nuevo formato de banner que se caracteriza por adaptar el tamaño de los anuncios según el dispositivo y la interfaz de la aplicación, para lograr maximizar el rendimiento.

Actualmente existe soporte para dos tipos de banners adaptativos:

### Anclados

Este tipo de banner está diseñado para reemplazar a los banners tradicionales de 320x50 y ser posicionado en la parte superior o inferior de la pantalla.

Para hacer uso de este formato, se debe pasar un `WortiseAdSize` a la instancia `BannerAd` generado de la siguiente manera:

```dart
// Es necesario especificar la anchura del banner
WortiseAdSize.GetAnchoredAdaptiveBannerAdSize(width);
```

### Inline

Este otro tipo de banner, en comparación con los anclados, está diseñado para tener una altura variable y ser posicionado dentro de un contenido desplazable.

En este caso, se debe generar un `WortiseAdSize` como se muestra a continuación:

```dart
// Es necesario especificar la anchura del banner. La altura máxima es un
// parámetro opcional (pasando valor 0 o negativo)
WortiseAdSize.GetInlineAdaptiveBannerAdSize(width, maxHeight);
```

## **Configuración de listeners**

Se pueden añadir listeners para recibir los diferentes eventos que sucedan durante el ciclo de vida del intersticial. Para ello, puede hacer uso de los siguientes atributos disponibles en la clase `WortiseBanner`:

* `OnClicked`
* `OnFailedToLoad`
* `OnImpression`
* `OnLoaded`
* `OnRevenuePaid`

### Ejemplo

```csharp
bannerAd.OnClicked      += () => Debug.Log('Banner clicked');
bannerAd.OnFailedToLoad += () => Debug.Log('Banner failed to load');
bannerAd.OnImpression   += () => Debug.Log('Banner impression');
bannerAd.OnLoaded       += () => Debug.Log('Banner loaded');
bannerAd.OnRevenuePaid  += (data) => Debug.Log('Banner revenue paid');
```


---

# 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.wortise.com/unity-sdk/integracion-del-sdk/banner.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.
