Compartir a través de


Carga diferida para Android

La característica Carga diferida proporciona una nueva llamada API para administrar cuando se desencadenan todos los rastreadores, incluidos los rastreadores de terceros y los rastreadores de Mobile SDK. También optimiza Banner AdUnit al permitir que la aplicación host cargue su vista web solo cuando sea necesaria y justo antes de que sea necesaria. Cuando esta característica está habilitada, el método loadAd tradicional va seguido más adelante de un segundo método, loadLazyAd.

Activación de rastreadores

La característica Carga diferida se ha desarrollado para activar todos los seguimientos de terceros y sdk de Mobile en la misma instancia, lo que garantiza que se pueda mantener una alineación entre ambas métricas.

El ciclo de vida de alto nivel de una AdUnit consta de dos fases como carga y visualización. Esta característica divide la fase de carga en dos pasos adicionales como loadAd y loadLazyAd, seguidos de la fase de presentación . Dicho esto, se puede adjuntar una vista web de banner a la pantalla, incluso antes de que se llame a loadAd . Sin embargo, la fase de visualización es una comodidad proporcionada por la plataforma y es independiente de la parte de carga del ciclo de vida de AdUnit.

El segundo paso loadLazyAd en la fase de carga realiza dos tareas:

  • Completa la carga de AdUnit creando y cargando la vista web que activa los rastreadores de terceros en la creatividad.
  • Activa los rastreadores de Mobile SDK.

Administración del consumo de CPU

La característica Carga diferida hace que el loadAd inicial devuelva una AdUnit ligera y permite cargar el contenido más adelante. Esta funcionalidad reduce el tiempo de carga de AdUnit aplazando la creación y configuración de la vista web interna a un punto posterior. Al retrasar la carga de la vista web, reduce el consumo de tiempo adicional de CPU de carga del objeto de anuncio devuelto en la etiqueta universal en los casos en los que la AdUnit no se usa.

Además, permite que la aplicación host elija el momento óptimo para activar rastreadores y consumir tiempo de CPU para cargar la vista web, idealmente en el mejor momento posible antes de que el anuncio se muestre al usuario final (o esté en cola para mostrarse con una alta probabilidad).

Ámbito de carga diferida

El ámbito de esta característica se limita a Las unidades de anuncio de Banner que muestran banner y tipos de medios del representador de ensamblado nativo. No se aplica a ninguna otra AdUnit, incluido el vídeo en secuencia y nativo, ni se aplica a los tipos de medios devueltos por una AdUnit de banner de formato múltiple que no sea banner y representador de ensamblado nativo, incluido banner-video (vídeo de salida) y banner nativo.

Propiedades

Carga diferida mejora la API pública de Mobile SDK con una propiedad (un método captador) que indica si la característica está habilitada o no.

Propiedad Tipo Atributo Descripción
isLazyLoadEnabled booleano -- Indica si la característica Carga diferida está habilitada.
public boolean isLazyLoadEnabled;  // getter

Métodos

enableLazyLoad

Método Establecedor que habilita la característica Carga diferida.

public void enableLazyLoad();  // setter

loadLazyAd

Carga la vista web de una AdUnit cargada diferida y activa todos los rastreadores, incluidos los de terceros y los de Mobile SDK.

public void loadLazyAd()

Devoluciones de llamada del agente de escucha

onLazyAdLoaded

onLazyAdLoaded se desencadena cuando el método loadAd devuelve correctamente una AdUnit cargada diferida, que es una AdUnit con una vista web sin asignar. Todas las demás características de la instancia de AdUnit están disponibles, incluida una instancia rellenada de ANAdResponseInfo. Si se produce un error en loadAd , se usan las mismas devoluciones de llamada que para una AdUnit que no se cargó diferida.

public void onLazyAdLoaded(AdView adView)

Ejemplo

override fun onCreate(savedInstanceState: Bundle?)
{
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_banner_lazy_load)
 
        banner = BannerAdView(this)
        banner.placementID = “1234567”
        banner.setAdSize(300, 250)

        /* native assebly renderer
        banner.setAllowNativeDemand(true)
        banner.enableNativeRendering(true)
        */
 
        banner.enableLazyLoad()
        banner.loadAd()
 }
 
// AdListener Callback method
override fun onLazyAdLoaded(adView: AdView) {
        // Ad is loaded Lazily, Further processing goes here.
}
 
 
// Call this method as per the need, to load the webview content.
banner.loadLazyAd()
 
 
// AdListener Callback method
override fun onAdLoaded(adView: AdView) {
    // Ad loaded, after loadLazyAd() was invoked.
}