# 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:

```typescript
import { RNWortiseAppOpen } from '@wortise/react-native-sdk';

RNWortiseAppOpen.setAdUnitId('Ad Unit ID de Wortise');
RNWortiseAppOpen.loadAd();
```

A continuación, para mostrar el anuncio en el momento deseado, se pueden usar los métodos `showAd()` y `isAvailable` tal y como se muestra en el siguiente ejemplo:

```typescript
if (await RNWortiseAppOpen.isAvailable) {
    RNWortiseAppOpen.showAd();
}
```

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

{% hint style="info" %}
Estos métodos deben ser invocados después de llamar al método `setAdUnitId()`
{% endhint %}

```typescript
// Establece si se debe cargar un nuevo anuncio tras cerrar el anterior
RNWortiseAppOpen.setAutoReload(true);

// Muestra un anuncio inmediatamente si está disponible. En caso contrario,
// solicita la carga de un nuevo anuncio
RNWortiseAppOpen.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, es necesario usar el método `addEventListener` y especificar el tipo de evento que se desea recibir, el cual debe ser alguno de los siguientes:

* `onAppOpenClicked`
* `onAppOpenDismissed`
* `onAppOpenFailedToLoad`
* `onAppOpenFailedToShow`
* `onAppOpenImpression`
* `onAppOpenLoaded`
* `onAppOpenRevenuePaid`
* `onAppOpenShown`

### Ejemplo

```typescript
RNWortiseAppOpen.addEventListener('onAppOpenLoaded', () => {
  // El callback será invocado cuando se haya cargado un anuncio
});
```
