Opciones de anuncios nativos

Selecciona la plataforma: Android iOS

Los anuncios nativos tienen muchas funciones avanzadas que te permiten realizar personalizaciones adicionales y crear la mejor experiencia de anuncios posible. En esta guía, te mostramos cómo usar las funciones avanzadas de los anuncios nativos.

Requisitos previos

Controles de recursos

Configura los controles de recursos de anuncios nativos.

Controles preferidos de la relación de aspecto de medios

Los controles de la relación de aspecto de medios te permiten especificar la relación de aspecto que prefieres aplicar a las creatividades de anuncios.

Establece GADNativeAdMediaAdLoaderOptions mediaAspectRatio con GADMediaAspectRatio.

  • Si no se establece esta configuración, los anuncios devueltos pueden tener cualquier relación de aspecto de medios.

  • Cuando se establece esta configuración, puedes mejorar la experiencia del usuario especificando el tipo de relación de aspecto de tu preferencia.

En el siguiente ejemplo, se le indica al SDK que prefiera la devolución de una imagen o un video con una relación de aspecto específica.

GADNativeAdMediaAdLoaderOptions *nativeOption = [[GADNativeAdMediaAdLoaderOptions alloc] init];
nativeOption.mediaAspectRatio = GADMediaAspectRatioAny;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

Control de descarga de imágenes

El control de descarga de imágenes te permite decidir si el SDK devolverá recursos de imagen o solo URIs.

Establece GADNativeAdImageAdLoaderOptions disableImageLoading con un valor BOOL.

  • El control de descarga de imágenes está inhabilitado de forma predeterminada.

  • Cuando está inhabilitado, el SDK de anuncios de Google para dispositivos móviles completa la imagen y el URI por ti.

  • Cuando está habilitado, en cambio, el SDK completa solo el URI, lo que te permite descargar las imágenes reales a discreción.

En el siguiente ejemplo, se indica al SDK que solo devuelva el URI.

GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.disableImageLoading = YES;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

  • Los controles de carga útil de imágenes están inhabilitados de forma predeterminada.

  • Cuando se inhabilitan, tu app le indica al SDK que proporcione solo la primera imagen de los recursos que contengan más de una.

  • Cuando se habilitan, tu app indica que está preparada para mostrar todas las imágenes de los recursos que tienen más de una.

En el siguiente ejemplo, se indica al SDK que devuelva varios recursos de imagen.

GADNativeAdImageAdLoaderOptions *nativeOption = [[GADNativeAdImageAdLoaderOptions alloc] init];
nativeOption.shouldRequestMultipleImages = YES;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOption ]];

Posiciones de AdChoices

Personaliza la visualización del ícono de AdChoices.

Controles de posición de AdChoices

Los controles de posición de AdChoices te permiten elegir en qué esquina renderizar el ícono de AdChoices.

Establece GADNativeAdViewAdOptions preferredAdChoicesPosition con un valor de GADAdChoicesPosition.

  • Si no se establece este parámetro de configuración, el ícono de AdChoices se coloca en la parte superior derecha.

  • Si se establece, el ícono de AdChoices se coloca en la posición personalizada que se solicitó.

En el siguiente ejemplo, se muestra cómo establecer una posición personalizada para la imagen de AdChoices.

GADNativeAdViewAdOptions *nativeOptions = [[GADNativeAdViewAdOptions alloc] init];
nativeOptions.preferredAdChoicesPosition = GADAdChoicesPositionTopLeftCorner;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

Vista personalizada de AdChoices

La función de vista personalizada de AdChoices te permite colocar el ícono de AdChoices en una ubicación personalizada. Esto difiere de los controles de posición de AdChoices, que solo permiten especificar una de las cuatro esquinas.

Configura la propiedad GADNativeAd.adChoicesView con GADAdChoicesView antes de la renderización, y el contenido de AdChoices se renderizará dentro de GADAdChoicesView.

En el siguiente ejemplo, se muestra cómo configurar una vista personalizada de AdChoices. El ícono de AdChoices se renderizará dentro de GADAdChoicesView.

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader didReceiveNativeAd:(GADNativeAd *)nativeAd {

    ...

    
    GADAdChoicesView *customAdChoicesView =
        [[GADAdChoicesView alloc] initWithFrame: CGRectMake(..., ..., ..., ...)];

    [nativeAdView addSubview:customAdChoicesView];
    nativeAdView.adChoicesView = customAdChoicesView;

    // Associate the native ad view with the native ad object. This is
    // required to make the ad clickable.
    // Note: this should always be done after populating the ad views.
    nativeAdView.nativeAd = nativeAd;
}

Swift

func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
    refreshAdButton.isEnabled = true

    ...
    // Define a custom position for the AdChoices icon.
    let customRect = CGRect(x: 100, y: 100, width: 15, height: 15)
    let customAdChoicesView = AdChoicesView(frame: customRect)
    nativeAdView.addSubview(customAdChoicesView)
    nativeAdView.adChoicesView = customAdChoicesView

    // Associate the native ad view with the native ad object. This is
    // required to make the ad clickable.
    // Note: this should always be done after populating the ad views.
    nativeAdView.nativeAd = nativeAd;
}

Controles de video

Configura el comportamiento de los recursos de video.

Comportamiento de inicio en silencio

El comportamiento de inicio en silencio te permite inhabilitar o habilitar el audio de inicio de un video.

Establece GADVideoOptions startMuted con un valor BOOL.

  • El comportamiento de inicio en silencio se encuentra habilitado de forma predeterminada.

  • Cuando se inhabilita, tu app solicita que el video comience con audio.

  • Cuando se habilita, tu app solicita que el video comience en silencio.

En el siguiente ejemplo, se muestra cómo iniciar el video con el audio activado.

GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.startMuted = NO;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

Controles de reproducción personalizados

Esta función te permite solicitar controles de entrada de video personalizados para reproducir, pausar o silenciar el video.

Establece GADVideoOptions customControlsRequested con un valor BOOL.

  • Los controles de reproducción personalizados están inhabilitados de forma predeterminada.

  • Cuando se inhabilitan, en el video se muestran los controles de entrada renderizados por el SDK.

Si el anuncio tiene contenido de video y los controles personalizados están habilitados, debes mostrar tus controles personalizados con el anuncio, ya que este no mostrará ningún control por sí mismo. Luego, los controles pueden llamar a los métodos pertinentes en

GADVideoController.

En el siguiente ejemplo, se muestra cómo solicitar un video con controles de reproducción personalizados.

GADVideoOptions *nativeOptions = [[GADVideoOptions alloc] init];
nativeOptions.customControlsRequested = YES;

GADAdLoader* adLoader = [[GADAdLoader alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
                                           rootViewController:self
                                                      adTypes:@[ GADAdLoaderAdTypeNative ]
                                                      options:@[ nativeOptions ]];

Verifica si los controles personalizados están habilitados

Dado que, en el momento de la solicitud, no se sabe si el anuncio que se devolverá permitirá controles de video personalizados, debes verificar si estos se encuentran habilitados.

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveNativeAd:(GADNativeAd*)nativeAd {

  GADVideoController *videoController = nativeAd.mediaContent.videoController;
  BOOL canShowCustomControls = videoController.customControlsEnabled;

}

Swift

func adLoader(_ adLoader: AdLoader, didReceive nativeAd: NativeAd) {
  let videoController = nativeAd.mediaContent.videoController
  let canShowCustomControls = videoController?.customControlsEnabled() == true
}

Renderiza controles de video personalizados

Para renderizar los controles de video personalizados, ten en cuenta las siguientes prácticas recomendadas:

  1. Renderiza la vista de controles personalizados como secundaria con respecto a la vista de anuncio nativo. Este enfoque permite que los cálculos de visibilidad de Open Measurement consideren que los controles personalizados son una obstrucción aceptable.
  2. Evita renderizar una superposición invisible sobre toda la vista de controles de medios. Las superposiciones bloquean los clics en la vista de medios, lo que perjudica el rendimiento de los anuncios nativos. En su lugar, crea una pequeña superposición que sea lo suficientemente grande como para que quepan los controles.

Gestos de clics personalizados:

Los gestos de clics personalizados son una función de los anuncios nativos que permite registrar los deslizamientos en las vistas de anuncios como clics en el anuncio. Esta función está diseñada para implementarse en apps que usan gestos de deslizamiento para navegar por el contenido. En esta guía, te mostraremos cómo habilitar los gestos de clics personalizados en tus anuncios nativos.

Inicializa una instancia de GADNativeAdCustomClickGestureOptions con la dirección de deslizamiento seleccionada. También debes indicar si quieres que se permitan las presiones de pantalla como clics.

  • Los gestos de clics personalizados están inhabilitados de forma predeterminada.

  • Cuando se inhabilitan, solo las presiones se registran como clics.

  • Cuando se habilitan, los gestos de deslizamiento se cuentan como clics, y puedes especificar si las presiones también se pueden contar como clics.

En el siguiente ejemplo, se muestra cómo implementar un gesto de deslizamiento personalizado hacia la derecha y conservar el comportamiento normal de la presión de pantalla.

GADNativeAdCustomClickGestureOptions *swipeGestureOptions = [[GADNativeAdCustomClickGestureOptions alloc]
        initWithSwipeGestureDirection:UISwipeGestureRecognizerDirectionRight
                          tapsAllowed:YES];

// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
self.adLoader = [[GADAdLoader alloc]
        initWithAdUnitID:@"ca-app-pub-3940256099942544/3986624511"
      rootViewController:self
                 adTypes:@[ GADAdLoaderAdTypeNative ]
                 options:@[ swipeGestureOptions ]];

Escucha eventos de gestos de deslizamiento

Cuando se registra un clic de gesto de deslizamiento, el SDK de anuncios de Google para dispositivos móviles invoca el método delegado nativeAdDidRecordSwipeGestureClick: en GADNativeAdDelegate, además del método delegado nativeAdDidRecordClick: existente.

#pragma mark - GADNativeAdDelegate implementation

// Called when a swipe gesture click is recorded.
- (void)nativeAdDidRecordSwipeGestureClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click has occurred.");
}

// Called when a swipe gesture click or a tap click is recorded, as configured in
// GADNativeAdCustomClickGestureOptions.
- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  NSLog(@"A swipe gesture click or tap click has occurred.");
}

Mediación

Los gestos de clics personalizados solo funcionan en los anuncios nativos que renderiza el SDK de anuncios de Google para dispositivos móviles. Las fuentes de anuncios que requieren SDKs de terceros para la renderización no responden al parámetro de configuración de instrucciones de clics personalizados.