Recepción de eventos de estado de la vista de anuncios en Android
En este artículo se proporcionan instrucciones sobre cómo recibir eventos de estado de la vista de anuncios desde nuestro SDK. Puedes usar estos eventos para determinar cuándo se ha hecho clic en un anuncio, si está en un estado expandido y mucho más.
Para recibir eventos de estado durante el ciclo de vida de la vista de anuncios, debes implementar la AdListener
interfaz y adjuntarla a la vista del anuncio. Sus métodos son:
void onAdClicked(AdView adView)
: se llama cuando se hace clic en un anuncio.void onAdClicked(adView, clickUrl)
: se le llama cuando se hace clic en un anuncio y le permite determinar cómo se controlará el valor de laclick_url
cadena en la respuesta de la puja.void onAdCollapsed(AdView adView)
: se llama cuando un anuncio está cerrado o sin expandir, por ejemplo, si el usuario ha dejado de interactuar con el anuncio.void onAdExpanded(AdView adView)
: se llama cuando un anuncio se expande debido a la interacción del usuario.void onAdLoaded(AdView adView)
: se llama cuando un anuncio se ha cargado correctamente desde el servidor.void onAdLoaded(NativeAdResponse nativeAdResponse)
: se llama cuando un anuncio se ha cargado correctamente desde el servidor. Se usa para anuncios nativos de Banner.void onAdRequestFailed(AdView adView, ResultCode errorCode)
: se llama cuando se produce un error en una solicitud de anuncio.- void on
AdImpression
(AdView adView
): se llama cuando se observa una impresión de anuncio durante un banner o evento de anuncio intersticial.
En el ejemplo siguiente se implementa esta interfaz:
// ... other imports ...
import com.appnexus.opensdk.*;
import com.appnexus.opensdk.utils.Clog;
// ... other code ...
// Set up a listener on this ad view that logs events.
AdListener adListener = new AdListener() {
@Override
public void onAdRequestFailed(AdView bav, ResultCode errorCode) {
if (errorCode == null) {
Clog.v("SIMPLEBANNER", "Call to loadAd failed");
} else {
Clog.v("SIMPLEBANNER", "Ad request failed: " + errorCode);
}
}
@Override
public void onAdLoaded(AdView bav) {
Clog.v("SIMPLEBANNER", "The Ad Loaded!");
}
@Override
public void onAdImpression(AdView bav) {
Clog.v("SIMPLEBANNER", "onAdImpression");
}
@Override
public void onAdLoaded(NativeAdResponse bav) {
Clog.v("SIMPLEBANNER", "The Banner Native Ad Loaded!");
}
@Override
public void onAdExpanded(AdView bav) {
Clog.v("SIMPLEBANNER", "Ad expanded");
}
@Override
public void onAdCollapsed(AdView bav) {
Clog.v("SIMPLEBANNER", "Ad collapsed");
}
@Override
public void onAdClicked(AdView bav) {
Clog.v("SIMPLEBANNER", "Ad clicked; opening browser");
}
@Override
public void onAdClicked(AdView adView, String clickUrl) {
Clog.v("SIMPLEBANNER", "Ad clicked; app should handle url:" + clickUrl);
}
};
bav.setAdListener(adListener);
Podemos ver los resultados en LogCat:
*** Filter is changed to 'SIMPLEBANNER' ***
09-04 16:48:54.181 19005 19005 V SIMPLEBANNER: The Ad Loaded!
09-04 16:48:57.059 19005 19005 V SIMPLEBANNER: Ad clicked; opening browser