La función Mantener oculto este anuncio brinda a los usuarios la posibilidad de cerrar o dejar de ver anuncios y señalar cuáles no les parecen interesantes. Este es el aspecto de la versión predeterminada (no personalizada):
Con GADNativeAd
, puedes implementar tu propia interfaz para permitir que los usuarios oculten los anuncios nativos. Este es el procedimiento que debes seguir:
Solicitar la versión personalizada de Mantener oculto este anuncio
Primero, debes solicitar la función personalizada de Mantener oculto este anuncio utilizando la clase GADNativeMuteThisAdLoaderOptions
.
Swift
adLoader = GADAdLoader(adUnitID: "[AD_UNIT_ID]", rootViewController: self, adTypes: [ .native ], options: [GADNativeMuteThisAdLoaderOptions()]) adLoader.delegate = self adLoader.load(GADRequest())
Objective‑C
GADNativeMuteThisAdLoaderOptions *muteOptions = [GADNativeMuteThisAdLoaderOptions new]; self.adLoader = [[GADAdLoader alloc] initWithAdUnitID:"[AD_UNIT_ID]" rootViewController:self adTypes:@[ kGADAdLoaderAdTypeNative ] options:@[ muteOptions ]]; self.adLoader.delegate = self; [self.adLoader loadRequest:[GADRequest request]];
Comprobar si es posible personalizar Mantener oculto este anuncio
Cuando se haya cargado el anuncio nativo, verifica su propiedad isCustomMuteThisAdAvailable
. Si está disponible, se mostrará el botón personalizado.
Swift
func adLoader(_ adLoader: GADAdLoader, didReceive nativeAd: GADNativeAd){ nativeAdView.nativeAd = nativeAd if (nativeAd.isCustomMuteThisAdAvailable) { enableCustomMute(nativeAd.muteThisAdReasons) } else { hideCustomMute() } ... } func enableCustomMute(_ reasons:[GADMMuteThisAdReason]) { // TODO: This method should show your custom mute button and provide the list // of reasons to the interface that are to be displayed when the user mutes // the ad. } func hideCustomMute() { //TODO: Remove / hide the custom mute button from your user interface. }
Objective‑C
- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd: (GADNativeAd *)nativeAd { self.nativeAdView.nativeAd = nativeAd; if (nativeAd.isCustomMuteThisAdAvailable) { [self enableCustomMuteWithReasons:nativeAd.muteThisAdReasons]; } else { [self hideCustomMute]; } } - (void)enableCustomMuteWithReasons:(NSArray<GADMuteThisAdReason *> *)reasons { // TODO: This method should show your custom mute button and provide the list // of reasons to the interface that are to be displayed when the user mutes the // ad. } - (void)hideCustomMute { // TODO: Remove / hide the custom mute button from your user interface. }
Tú eres quien decide cómo implementar la interfaz personalizada para ocultar anuncios. Puedes colocar un pequeño botón de cierre en el anuncio o permitir a los usuarios ocultarlos de otra manera.
Mostrar los motivos para ocultar anuncios
Si se puede personalizar la opción Mantener oculto este anuncio, habrá una matriz de objetos GADMuteThisAdReason
disponibles en la propiedad muteThisAdReason
del anuncio nativo. GADMuteThisAdReason tiene una propiedad, reasonDescription, que facilita una cadena que puede mostrarse.
Te recomendamos mostrar los motivos a los usuarios y permitirles que indiquen por qué quieren ocultar el anuncio. Cuando se hace clic en uno de los motivos, la acción de ocultar el anuncio se debe informar junto al motivo seleccionado.
También es posible que no quieras que aparezcan los motivos cuando se hace clic en el botón para cerrar anuncios; en ese caso, se informa de la acción de ocultar el anuncio directamente, sin acompañarla de un motivo.
Ocultar el anuncio
El proceso para ocultar un anuncio consta de dos pasos:
- Informa al anuncio nativo del motivo por el que se oculta.
- En la interfaz de usuario, silencia u oculta el anuncio, de la forma que prefieras.
Swift
func muteAdDialogDidSelect(reason: GADMuteThisAdReason) { // Report the mute action and reason to the ad. nativeAdView.nativeAd?.muteThisAd(with: reason) muteAd() } func muteAd() { // TODO: Mute / hide the ad in your preferred manner. }
Objective‑C
- (void)muteAdDialogDidSelectReason:(GADMuteThisAdReason *)reason { // Report the mute action and reason to the ad. [self.nativeAdView.nativeAd muteThisAdWithReason:reason]; [self muteAd]; } - (void)muteAd { // TODO: Mute / hide the ad in your preferred manner. }
Recibir confirmación de que el anuncio se ha ocultado (opcional)
Si quieres recibir una notificación cuando el anuncio se oculte correctamente, puedes implementar el método nativeAdIsMuted:
de GADNativeAdDelegate
.
Solo se llamará a este método si el anuncio se oculta correctamente.