Charger des annonces dans l'écran de démarrage?

9

J'ai des annonces qui prennent très longtemps à charger. Je me demandais s'il était possible de les charger pendant l'utilisation dans l'écran de démarrage. J'ai regardé cette réponse:

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

Et la réponse suggère d'utiliser un écran de démarrage pour charger les annonces. Comment savoir quand les annonces sont chargées, pour continuer avec ma prochaine activité? Que se passera-t-il si l'utilisateur est en mode avion, sera-t-il coincé dans l'écran de démarrage? J'ai vu l'admob ajouter un auditeur, mais cela a besoin de l'avis, mais mon avis est dans la prochaine activité? Comment dois-je résoudre ce problème?

Aussi, quand j'essaye de faire ça:

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

Je reçois:

La méthode non statique ne peut pas être référencée à partir d'un contexte statique. Le fait est que j'essaie de voir quand l'ajout qui se trouve dans la prochaine activité est terminé.

NullPointerException
la source
Votre problème statique est dû à quelque chose qui essaie de traiter une méthode d'instance comme si elle était statique. une partie de votre implémentation tente peut-être d'utiliser une méthode non statique comme si elle était statique OU l'une de vos fonctions implémentées devrait être statique ...
Troyseph
Je déconseille également de faire patienter le lecteur pendant le chargement de l'annonce. Chargez-le en arrière-plan, puis, le cas échéant, affichez-le. Attendre que les annonces se chargent ressemble à une punition pour un joueur et peut les empêcher de jouer.
Troyseph
@Troyseph Et comment pourrais-je faire cela? Merci
NullPointerException
essayez ceci bfy.tw/39nB
Troyseph

Réponses:

1

Votre erreur de pile vient du fait que "AdView" est un type, pas une instance. Par exemple, supposons que vous ayez la classe suivante:

package simulator;

import java.awt.Color;

public class Dog {

public Color coatColor;
public static boolean mans_best_friend;

}

parce que tous les chiens sont le meilleur ami de l'homme, la déclaration

Dog.mans_best_friend = true;

est une instruction valide, car le modificateur statique vous permet d'utiliser le type pour définir une variable. De même, vous ne pouvez pas avoir la déclaration

Dog.coatColor = Color.BROWN;

parce que "Chien" ne fait pas référence à un objet chien spécifique.

-

Cela signifie que vous devez obtenir un

new AdView();

Object en quelque sorte. Si vous lisez la documentation, il existe généralement 2 façons courantes d'obtenir l'objet.

1) un constructeur: il s'agit d'une simple allocation de nouvelle mémoire sur l'ordinateur afin de contenir toutes les variables qu'il contient, généralement rapide, mais inefficace à faire plusieurs fois. ça vous donne un objet frais

2) une méthode GetInstance (): C'est plus une solution de contournement qu'une méthode, elle permet de créer un objet et permet une efficacité maximale du code, avec une personnalisation minimale absolue.

Bonne chance pour trouver un moyen d'obtenir votre objet AdView!

tuskiomi
la source