Los anuncios nativos tienen muchas funciones avanzadas que te permiten realizar personalizaciones adicionales y crear la mejor experiencia publicitaria posible. En esta guía, se muestra cómo usar las funciones avanzadas de los anuncios nativos.
Requisitos previos
- Integra el formato de anuncio nativo.
Controles de recursos
Configura los controles de los recursos de anuncios nativos.
Controles de relación de aspecto de contenido multimedia preferida
Los Controles de relación de aspecto de medios te permiten especificar una preferencia para la relación de aspecto de las creatividades de anuncios.
Establece GADNativeAdMediaAdLoaderOptions mediaAspectRatio
con un GADMediaAspectRatio
.
Cuando no se configura, el anuncio que se devuelve puede tener cualquier relación de aspecto de los medios.
Cuando se establece, podrás mejorar la experiencia del usuario especificando el tipo de relación de aspecto preferido.
En el siguiente ejemplo, se indica al SDK que prefiera una imagen o un video de devolución 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 devuelve elementos 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á inhabilitada, el SDK de anuncios de Google para dispositivos móviles completa la imagen y el URI por ti.
Cuando está habilitado, el SDK solo completa el URI, lo que te permite descargar las imágenes reales a tu discreción.
En el siguiente ejemplo, se indica al SDK que solo muestre 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 está inhabilitada, tu app le indica al SDK que proporcione solo la primera imagen de los recursos que contengan una serie.
Cuando está habilitada, 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 GADAdChoicesPosition
.
Si no se establece, la posición del ícono de AdChoices se establece en la parte superior derecha.
Si se configura, AdChoices se coloca en la posición personalizada según lo solicitado.
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 es diferente de los controles de posición de AdChoices, que solo permiten especificar una de las cuatro esquinas.
Configura la propiedad GADNativeAd.adChoicesView
con un 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
Configurar el comportamiento de los activos de video
Iniciar el comportamiento de silencio
El comportamiento de inicio en silencio te permite inhabilitar o habilitar el audio inicial de un video.
Establece GADVideoOptions startMuted
con un valor BOOL
.
El comportamiento de silenciar al inicio está habilitado de forma predeterminada.
Cuando está inhabilitado, tu app solicita que el video comience con audio.
Cuando se habilita, tu app solicita que el video comience con el audio silenciado.
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
Esto 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 inhabilite, en el video se mostrarán los controles de entrada renderizados por el SDK.
- Cuando se habilita, puedes usar
GADVideoController play
,GADVideoController pause
yGADVideoController setMute
para controlar el anuncio de video.
Si el anuncio tiene contenido de video y los controles personalizados están habilitados, debes mostrar tus controles personalizados junto con el anuncio, ya que el anuncio no mostrará ningún control por sí mismo. Luego, los controles pueden llamar a los métodos pertinentes en el
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 ]];
Cómo verificar si los controles personalizados están habilitados
Dado que no se sabe en el momento de la solicitud si el anuncio que se muestra permitirá controles de video personalizados, debes verificar si tiene habilitados los controles personalizados.
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
Renderiza controles de video personalizados con las siguientes prácticas recomendadas:
- Renderiza la vista de controles personalizados como secundaria de la vista del anuncio nativo. Este enfoque permite que los cálculos de visibilidad de Open Measurement consideren los controles personalizados como una obstrucción amigable.
- Evita renderizar una superposición invisible sobre toda la vista de medios. Las superposiciones bloquean los clics en la vista de medios, lo que afecta negativamente el rendimiento de los anuncios nativos. En su lugar, crea una pequeña capa superpuesta que sea lo suficientemente grande como para que quepan los controles.
Gestos de clics personalizados
Los gestos de clic personalizados son una función de los anuncios nativos que permite registrar los deslizamientos en las vistas de anuncios como clics en anuncios. Está diseñado para funcionar con apps que usan gestos de deslizamiento para navegar por el contenido. En esta guía, se muestra cómo habilitar gestos de clic personalizados en tus anuncios nativos.
Inicializa una instancia de GADNativeAdCustomClickGestureOptions
con la dirección de deslizamiento seleccionada. También debes indicar si deseas que se permitan los toques como clics.
Los gestos de clic personalizados están inhabilitados de forma predeterminada.
Cuando se inhabilita, solo los toques se registrarán como clics.
Cuando está habilitada, los gestos de deslizamiento se contarán como clics, y puedes especificar si los toques 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 toque.
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 ]];
Cómo detectar 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 clic 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 clic personalizadas.