# Rewarded

## Integración

Para hacer uso de los anuncios recompensados, 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 recompensado:

```csharp
// Se crea un anuncio recompensado
WortiseRewarded rewardedAd = new WortiseRewarded(
    "Ad Unit ID de Wortise"
);

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

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

## **Configuración de listeners**

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

* `OnClicked`
* `OnCompleted`
* `OnDismissed`
* `OnFailedToLoad`
* `OnFailedToShow`
* `OnImpression`
* `OnLoaded`
* `OnRevenuePaid`
* `OnShown`

### Ejemplo

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