Anzeigen im Begrüßungsbildschirm laden?

9

Ich habe einige Anzeigen, deren Laden sehr lange dauert. Ich habe mich gefragt, ob es möglich ist, sie zu laden, während die Verwendung im Begrüßungsbildschirm war. Ich habe mir diese Antwort angesehen:

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

Die Antwort schlägt vor, einen Begrüßungsbildschirm zum Laden der Anzeigen zu verwenden. Wie kann ich herausfinden, wann die Anzeigen geladen werden, um mit meiner nächsten Aktivität fortzufahren? Was passiert, wenn sich der Benutzer im Flugzeugmodus befindet und im Begrüßungsbildschirm hängen bleibt? Ich habe gesehen, wie der Admob Listener hinzugefügt hat, aber das braucht den Adview, aber mein Adview ist in der nächsten Aktivität? Wie soll ich dieses Problem angehen?

Auch wenn ich das versuche:

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

Ich bekomme:

Nicht statische Methoden können nicht aus einem statischen Kontext referenziert werden. Die Sache ist, ich versuche zu sehen, wann das Hinzufügen der nächsten Aktivität abgeschlossen ist.

NullPointerException
quelle
Ihr statisches Problem ist darauf zurückzuführen, dass versucht wird, eine Instanzmethode so zu behandeln, als wäre sie statisch. Vielleicht ist ein Teil Ihrer Implementierung der Versuch, eine nicht statische Methode so zu verwenden, als wäre sie statisch, ODER eine Ihrer implementierten Funktionen sollte statisch sein ...
Troyseph
Außerdem würde ich davon abraten, den Player warten zu lassen, während die Anzeige geladen wird. Laden Sie es in den Hintergrund und zeigen Sie es gegebenenfalls an. Das Warten auf das Laden von Anzeigen fühlt sich für einen Spieler wie eine Bestrafung an und kann ihn vom Spielen abhalten.
Troyseph
@Troyseph Und wie würde ich das machen? Danke
NullPointerException
Versuchen Sie dies bfy.tw/39nB
Troyseph

Antworten:

1

Ihr Stapelfehler beruht auf der Tatsache, dass 'AdView' ein Typ und keine Instanz ist. Angenommen, Sie haben die folgende Klasse:

package simulator;

import java.awt.Color;

public class Dog {

public Color coatColor;
public static boolean mans_best_friend;

}

weil alle Hunde der beste Freund des Menschen sind, lautet die Aussage

Dog.mans_best_friend = true;

ist eine gültige Anweisung, da Sie mit dem statischen Modifikator den Typ zum Festlegen einer Variablen verwenden können. Ebenso können Sie die Anweisung nicht haben

Dog.coatColor = Color.BROWN;

weil 'Hund' sich nicht auf ein bestimmtes Hundeobjekt bezieht.

- -

Dies bedeutet, dass Sie eine bekommen müssen

new AdView();

Objekt irgendwie. Wenn Sie die Dokumentation nachlesen, gibt es normalerweise zwei gängige Methoden, um das Objekt abzurufen.

1) ein Konstruktor: Dies ist eine einfache Zuweisung von neuem Speicher auf dem Computer, um alle darin enthaltenen Variablen zu speichern, normalerweise schnell, aber ineffizient, um sie mehrmals auszuführen. es gibt dir ein frisches Objekt

2) eine GetInstance () -Methode: Es ist eher eine Problemumgehung als eine Methode, mit der ein Objekt erstellt werden kann und die maximale Effizienz des Codes bei absolut minimaler Anpassung ermöglicht.

Viel Glück bei der Suche nach einem Weg, um Ihr AdView-Objekt zu erhalten!

Tuskiomi
quelle