¿Cargar anuncios en la pantalla de bienvenida?

9

Tengo algunos anuncios que tardan mucho en cargarse. Me preguntaba si es posible que se carguen mientras el uso estaba en la pantalla de inicio. He visto esta respuesta:

/programming/5133342/how-can-i-make-my-ads-appear-faster-in-my-android-app

Y la respuesta sugiere usar una pantalla de inicio para cargar los anuncios. ¿Cómo puedo averiguar cuándo se cargan los anuncios para continuar con mi próxima actividad? ¿Qué sucederá si el usuario está en modo avión? ¿Se quedará atascado en la pantalla de inicio? He visto el admob add listener, pero eso necesita la vista de anuncio, ¿pero mi vista de anuncio está en la próxima actividad? ¿Cómo debo abordar este problema?

Además, cuando trato de hacer esto:

 AdView.setAdListener(new AdListener() {
     // Implement AdListener
 });

Yo obtengo:

El método no estático no puede ser referenciado desde un contexto estático. La cuestión es que estoy tratando de ver cuándo se carga el complemento que está en la siguiente actividad .

Excepción de puntero nulo
fuente
Su problema estático se debe a algo que intenta tratar un método de instancia como si fuera estático. quizás parte de su implementación es intentar usar un método no estático como si fuera estático O una de sus funciones implementadas debería ser estática ...
Troyseph
También aconsejaría no hacer que el jugador espere mientras se carga el anuncio. Cárguelo en segundo plano y, cuando corresponda, muéstrelo. Esperar a que se carguen los anuncios se siente como un castigo para un jugador y puede retrasarlo.
Troyseph
@Troyseph ¿Y cómo haría eso? Gracias
NullPointerException
prueba esto bfy.tw/39nB
Troyseph

Respuestas:

1

Su error de pila proviene del hecho de que 'AdView' es un tipo, no una instancia. Por ejemplo, supongamos que tiene la siguiente clase:

package simulator;

import java.awt.Color;

public class Dog {

public Color coatColor;
public static boolean mans_best_friend;

}

porque todos los perros son los mejores amigos del hombre, la declaración

Dog.mans_best_friend = true;

es una declaración válida, porque el modificador estático le permite usar el tipo para establecer una variable. Del mismo modo, no puede tener la declaración

Dog.coatColor = Color.BROWN;

porque 'Perro' no se refiere a un objeto de perro específico.

-

Esto significa que tienes que conseguir un

new AdView();

Objeto de alguna manera. Si lee la documentación, generalmente hay 2 formas comunes de obtener el objeto.

1) un constructor: esta es una asignación simple de nueva memoria en la computadora para mantener todas las variables que contiene, generalmente rápidas, pero ineficientes para hacerlo varias veces. te da un objeto nuevo

2) un método GetInstance (): es más una solución que un método, permite crear un objeto y permite la máxima eficiencia del código, con una personalización mínima absoluta.

¡La mejor de las suertes en encontrar una manera de obtener su objeto AdView!

tuskiomi
fuente