Caricare annunci nella schermata iniziale?


9

Ho alcuni annunci che impiegano molto tempo a caricarsi. Mi chiedevo che fosse possibile caricarli mentre l'uso era nella schermata iniziale. Ho visto questa risposta:

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

E la risposta suggerisce di utilizzare una schermata iniziale per caricare gli annunci. Come posso capire quando vengono caricati gli annunci, per continuare con la mia prossima attività? Cosa succederà se l'utente è in modalità aereo, rimarrà bloccato nella schermata iniziale? Ho visto il listener aggiungere admob, ma questo ha bisogno del parere, ma il mio parere è nella prossima attività? Come devo affrontare questo problema?

Inoltre, quando provo a fare questo:

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

Ottengo:

Non è possibile fare riferimento a un metodo non statico da un contesto statico. Il fatto è che sto cercando di vedere quando l'aggiunta che è nella prossima attività è stata caricata.


Il problema statico è dovuto a qualcosa che tenta di trattare un metodo di istanza come se fosse statico. forse parte dell'implementazione sta tentando di utilizzare un metodo non statico come se fosse statico OPPURE una delle funzioni implementate dovrebbe essere statica ...
Troyseph

Inoltre, sconsiglio di far aspettare il giocatore durante il caricamento dell'annuncio. Caricalo in background, quindi, quando appropriato, mostralo. Aspettare che gli annunci vengano caricati sembra una punizione per un giocatore e può metterli fuori gioco.
Troyseph,

@Troyseph E come lo farei? Grazie
NullPointerException il

prova questo bfy.tw/39nB
Troyseph

Risposte:


1

L'errore dello stack deriva dal fatto che "AdView" è un tipo, non un'istanza. Ad esempio, supponiamo che tu abbia la seguente classe:

package simulator;

import java.awt.Color;

public class Dog {

public Color coatColor;
public static boolean mans_best_friend;

}

perché tutti i cani sono i migliori amici dell'uomo, l'affermazione

Dog.mans_best_friend = true;

è un'istruzione valida, poiché il modificatore statico consente di utilizzare il tipo per impostare una variabile. Allo stesso modo, non puoi avere la dichiarazione

Dog.coatColor = Color.BROWN;

perché "Cane" non si riferisce a un oggetto cane specifico.

-

Questo significa che devi ottenere un

new AdView();

Oggetto in qualche modo. Se leggi la documentazione, di solito ci sono 2 modi comuni per ottenere l'oggetto.

1) un costruttore: questa è una semplice allocazione di nuova memoria sul computer al fine di contenere tutte le variabili che contiene, di solito veloce, ma inefficiente da fare più volte. ti dà un nuovo oggetto

2) un metodo GetInstance (): è più una soluzione alternativa che un metodo, consente di creare un oggetto e consente la massima efficienza del codice, con una personalizzazione minima assoluta.

Buona fortuna nel trovare un modo per ottenere il tuo oggetto AdView!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.