> For the complete documentation index, see [llms.txt](https://docs.wortise.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wortise.com/flutter-sdk/integracion-del-sdk/app-open.md).

# App Open

## Integración

A continuación se muestran unos sencillos ejemplos para realizar la implementación de los anuncios App Open siguiendo las dos posibles vías de integración:

### Manual

```dart
import 'package:wortise/app_open_ad.dart';

AppOpenAd _appOpenAd;

// Se crea un anuncio App Open
_appOpenAd = AppOpenAd('Ad Unit ID de Wortise', listener: (event, args) {
  // Este listener será invocado cuando se produzca algún evento
});

// Se solicita la carga de un anuncio
await _appOpenAd.loadAd();

/* ... */

// Se muestra el anuncio si está disponible
if (await _appOpenAd.isAvailable) {
  await _appOpenAd.showAd();
}
```

El constructor de la clase `AppOpenAd` permite especificar los siguientes parámetros opcionales para configurar su comportamiento:

```dart
// Establece si se debe cargar un nuevo anuncio tras cerrar el anterior 
autoReload: true
```

Alternativamente, se puede utilizar el método `tryToShowAd()` para realizar el mostrado del anuncio con la diferencia que, si no hay uno disponible, automáticamente se solicita la carga de un nuevo anuncio:

```dart
await _appOpenAd.tryToShowAd();
```

### Vía Manager

```dart
import 'package:wortise/app_open_ad.dart';
import 'package:wortise/app_open_manager.dart';

// Se crea un anuncio App Open
AppOpenAd appOpenAd = AppOpenAd('Ad Unit ID de Wortise')..loadAd();

// Se registra el anuncio en el manager
AppOpenManager.register(appOpenAd);
```

En esta integración, los anuncios serán mostrados automáticamente cuando se produzca una transición de la aplicación de segundo a primer plano. Igualmente, se puede seguir haciendo uso de los métodos ofrecidos por `AppOpenAd` para realizar un mostrado manual.

## **Eventos del listener**

El listener asignado a un `AppOpenAd` puede recibir los siguientes eventos:

```dart
// El anuncio ha sido clickeado
AppOpenAdEvent.CLICKED
// El anuncio ha sido cerrado
AppOpenAdEvent.DISMISSED
// El anuncio no se ha podido cargar
AppOpenAdEvent.FAILED_TO_LOAD
// El anuncio no se ha podido mostrar
AppOpenAdEvent.FAILED_TO_SHOW
// El anuncio ha generado una impresión
AppOpenAdEvent.IMPRESSION
// El anuncio ha sido cargado
AppOpenAdEvent.LOADED
// El anuncio ha generado un ingreso
AppOpenAdEvent.REVENUE_PAID
// El anuncio ha sido mostrado
AppOpenAdEvent.SHOWN
```
