# App Open

## Integración

Para hacer uso de los anuncios App Open, es necesario solicitar su carga en algún momento de la app, siendo recomendable hacerlo lo más pronto posible.

A continuación, se muestra un ejemplo de como cargar y mostrar un anuncio:

```csharp
// Se crea un App Open
WortiseAppOpen appOpenAd = new WortiseAppOpen(
    "Ad Unit ID de Wortise"
);

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

// Se muestra el anuncio si está disponible
if (appOpenAd.IsAvailable) {
    appOpenAd.ShowAd();
}
```

Además, la clase `WortiseAppOpen` ofrece los siguientes métodos adicionales para configurar su comportamiento:

```csharp
// Establece si se debe cargar un nuevo anuncio tras cerrar el anterior
appOpenAd.AutoReload = true;

// Muestra un anuncio inmediatamente si está disponible. En caso contrario,
// solicita la carga de un nuevo anuncio
appOpenAd.TryToShowAd();
```

## **Configuración de listeners**

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

* `OnClicked`
* `OnDismissed`
* `OnFailedToLoad`&#x20;
* `OnFailedToShow`
* `OnImpression`
* `OnLoaded`
* `OnRevenuePaid`
* `OnShown`

### Ejemplo

```csharp
appOpenAd.OnClicked      += () => Debug.Log('App open clicked');
appOpenAd.OnDismissed    += () => Debug.Log('App open dismissed');
appOpenAd.OnFailedToLoad += () => Debug.Log('App open failed to load');
appOpenAd.OnFailedToShow += () => Debug.Log('App open failed to show');
appOpenAd.OnImpression   += () => Debug.Log('App open impression');
appOpenAd.OnLoaded       += () => Debug.Log('App open loaded');
appOpenAd.OnRevenuePaid  += (data) => Debug.Log('App open revenue paid');
appOpenAd.OnShown        += () => Debug.Log('App open shown');
```
