Los anuncios nativos tienen muchas funciones avanzadas que le permiten crear anuncios personalizadas y ofrece la mejor experiencia del anuncio posible. En esta guía, se muestra a usar las funciones avanzadas de los anuncios nativos.
Requisitos previos
- Integra el formato de anuncio nativo.
Controles de recursos
Controles de relación de aspecto preferidos
Los controles de relación de aspecto del contenido multimedia te permiten especificar una preferencia para la relación de aspecto las creatividades de los anuncios.
Llama a NativeAdOptions.Builder.setMediaAspectRatio()
con un NativeAdOptions.MediaAspectRatio
valor.
Si no se establece, el anuncio devuelto puede tener cualquier relación de aspecto del contenido multimedia.
Una vez establecido, podrás mejorar la experiencia del usuario especificando la y el tipo preferido de relación de aspecto.
En el siguiente ejemplo, se le indica al SDK que prefiera una imagen o un video de retorno con una relación de aspecto específica.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setMediaAspectRatio(NativeAdOptions.NATIVE_MEDIA_ASPECT_RATIO_LANDSCAPE)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
Control de descarga de imágenes
El control de descarga de imágenes permite decidir si se usan recursos de imagen que muestra el SDK.
Llama aNativeAdOptions.Builder.setReturnUrlsForImageAssets()
con un valor boolean
.
El control de descarga de imágenes está inhabilitado de forma predeterminada.
Cuando se inhabilita, el SDK de anuncios de Google para dispositivos móviles propaga la imagen y el URI por ti.
Cuando se habilita, el SDK propaga solo el URI, lo que te permite descargar las imágenes reales a tu discreción.
En el siguiente ejemplo, se le indica al SDK que solo muestre el URI.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setReturnUrlsForImageAssets(true)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.forNativeAd(nativeAd -> {
List<Uri> imageUris = new ArrayList<>();
for (Image image : nativeAd.getImages()) {
imageUris.add(image.getUri());
}
})
.build();
Controles de la carga útil de la imagen
Algunos anuncios tienen una serie de imágenes en lugar de solo una. Usa esta función para Indica si tu app está preparada para mostrar todas las imágenes o solo una.
Llama aNativeAdOptions.Builder.setRequestMultipleImages()
con un valor boolean
.
Los controles de carga útil de imagen están inhabilitados de forma predeterminada.
Cuando se inhabilita, tu app le indica al SDK que proporcione solo primera imagen de cualquier elemento que contenga una serie.
Cuando se habilita, la app indica que está preparada para mostrar todas las imágenes para los activos que tienen más de uno.
En el siguiente ejemplo, se le indica al SDK que muestre varios recursos de imagen.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setRequestMultipleImages(true)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
Posiciones de AdChoices
Controles de posición de AdChoices
Los controles de posición de AdChoices le permiten elegir qué esquina renderizar Ícono de AdChoices.
Llama a NativeAdOptions.Builder.setAdChoicesPlacement()
con un NativeAdOption.AdChoicesPlacement
valor.
Si no la estableces, la posición del ícono de AdChoices se establecerá en la parte superior derecha.
Si se establece, AdChoices se coloca en la posición personalizada según lo solicitado.
En el siguiente ejemplo, se muestra cómo configurar una posición de imagen de AdChoices personalizada.
NativeAdOptions nativeAdOptions = new NativeAdOptions.Builder()
.setAdChoicesPlacement(NativeAdOptions.ADCHOICES_BOTTOM_RIGHT)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(nativeAdOptions)
.build();
Vista personalizada de AdChoices
La función de vista personalizada de AdChoices te permite posicionar el ícono de AdChoices en una ubicación personalizada. Esto es diferente de los controles de posición de AdChoices, que solo permite especificar una de las cuatro esquinas.
Llama aNativeAdView.setAdChoicesView()
con un AdChoicesView
valor.
En el siguiente ejemplo, se muestra cómo configurar una vista de AdChoices personalizada con el
Ícono de AdChoices renderizado dentro de AdChoicesView
.
public void onNativeAdLoaded(NativeAd ad) {
NativeAdView nativeAdView = new NativeAdView(getApplicationContext());
AdChoicesView adChoicesView = new AdChoicesView(this);
nativeAdView.setAdChoicesView(adChoicesView);
}
Controles de video
Iniciar comportamiento de silencio
El comportamiento de inicio silenciado te permite inhabilitar o habilitar el audio de inicio de un video.
Llama aVideoOptions.Builder.setStartMuted()
con un valor boolean
.
El comportamiento de inicio silenciado está habilitado de forma predeterminada.
Cuando se inhabilita, tu app solicita que el video comience con audio.
Cuando está habilitada, tu app solicita que el video comience con audio silenciado.
En el siguiente ejemplo, se muestra cómo iniciar el video con audio activado.
VideoOptions videoOptions = new VideoOptions.Builder()
.setStartMuted(false)
.build();
NativeAdOptions adOptions = new NativeAdOptions.Builder()
.setVideoOptions(videoOptions)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions).build();
Controles de reproducción personalizados
Esto te permite solicitar controles de entrada de video personalizados para reproducir, pausar o silenciar video.
Llama aVideoOptions.Builder.setCustomControlsRequested()
con un valor boolean
.
Los controles de reproducción personalizados están inhabilitados de forma predeterminada.
Si la inhabilitas, en el video se mostrarán los controles de entrada renderizados del SDK.
- Si el anuncio tiene contenido de video y los controles personalizados están habilitados, debería
muestra sus controles personalizados junto con el anuncio, ya que este no mostrará
se controla a sí misma. Los controles pueden llamar a los métodos relevantes en la
VideoController
En el siguiente ejemplo, se muestra cómo solicitar un video con controles de reproducción personalizados.
VideoOptions videoOptions = new VideoOptions.Builder()
.setCustomControlsRequested(true)
.build();
NativeAdOptions adOptions = new NativeAdOptions.Builder()
.setVideoOptions(videoOptions)
.build();
AdLoader loader = new AdLoader.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions).build();
Verifica si los controles personalizados están habilitados
Debido a que no se sabe en el momento de la solicitud si el anuncio devuelto permitirá controles de video personalizados, debes verificar si tiene habilitados los controles personalizados.
Java
@Override
public void onNativeAdLoaded(NativeAd nativeAd) {
MediaContent mediaContent = nativeAd.getMediaContent();
if (mediaContent != null) {
VideoController videoController = mediaContent.getVideoController();
boolean canShowCustomControls = videoController.isCustomControlsEnabled();
}
}
Kotlin
NativeAd.OnNativeAdLoadedListener { ad ->
val mediaContent = ad.mediaContent
if (mediaContent != null) {
val videoController = mediaContent.videoController
val canShowCustomControls = videoController.isCustomControlsEnabled
}
}
Gestos de clic personalizados
Los gestos de clics personalizados son una función de los anuncios nativos que permite deslizar el dedo en las vistas de anuncios para Registrarse como clics en el anuncio Está diseñada para funcionar con apps que usan funciones de deslizamiento para navegar por el contenido. En esta guía, se muestra cómo habilitar los clics personalizados en tus anuncios nativos.
Llama a NativeAdOptions.Builder.enableCustomClickGestureDirection()
con un NativeAdOptions.SwipeGestureDirection
y un boolean
para indicar si deseas permitir que los toques se permitan como clics.
Los gestos de clics personalizados están inhabilitados de forma predeterminada.
Si la inhabilitas, tu app admitirá el comportamiento normal de clics.
Cuando esté habilitada, tu app admitirá gestos de deslizamiento personalizados.
En el siguiente ejemplo, se implementa un gesto de deslizamiento personalizado hacia la derecha y el comportamiento normal de las pestañas.
NativeAdOptions adOptions = new NativeAdOptions
.Builder()
.enableCustomClickGestureDirection(NativeAdOptions.SWIPE_GESTURE_DIRECTION_RIGHT,
/* tapsAllowed= */ true)
.build();
// The following sample ad unit ID has been enabled for custom click gestures
// and can be used for testing.
AdLoader.Builder builder = new AdLoader
.Builder(this, '/21775744923/example/native')
.withNativeAdOptions(adOptions);
Cómo escuchar eventos de gestos de deslizamiento
Cuando se registra un clic en un gesto de deslizamiento, el SDK de anuncios de Google para dispositivos móviles invoca
onAdSwipeGestureClicked()
en AdListener
, además del método
onAdClicked()
.
AdLoader adLoader = builder
.withAdListener(
new AdListener() {
// Called when a swipe gesture click is recorded.
@Override
public void onAdSwipeGestureClicked() {
Log.d(TAG, "A swipe gesture click has occurred.")
}
// Called when a swipe gesture click or a tap click is recorded, as
// configured in NativeAdOptions.
@Override
public void onAdClicked() {
Log.d(TAG, "A swipe gesture click or a tap click has occurred.")
}
})
.build();
Mediación
Los gestos de clics personalizados solo funcionan en los anuncios nativos que usan Google para dispositivos móviles Se renderiza el SDK de Google Ads. Fuentes de anuncios que requieren SDKs de terceros para de datos, no respondas a la configuración de la ruta de clic personalizada.