Mam reklamy, które ładują się bardzo długo. Zastanawiałem się, czy można je załadować, gdy użyto go na ekranie powitalnym. Patrzyłem na tę odpowiedź:
/programming/5133342/how-can-i-make-my-ads-appear-faster-in-my-android-app
Odpowiedź sugeruje użycie ekranu powitalnego do ładowania reklam. Jak mogę dowiedzieć się, kiedy reklamy są ładowane, aby przejść do następnej aktywności? Co się stanie, jeśli użytkownik będzie w trybie samolotowym, czy utknie na ekranie powitalnym? Widziałem detektora dodawania admob, ale to wymaga adview, ale mój adview jest w następnej aktywności? Jak mam rozwiązać ten problem?
Ponadto, gdy próbuję to zrobić:
AdView.setAdListener(new AdListener() {
// Implement AdListener
});
Dostaję:
Do metody niestatycznej nie można się odwoływać z kontekstu statycznego. Chodzi o to, że próbuję zobaczyć, kiedy dodawanie, które znajduje się w następnej aktywności, jest ładowane.
źródło
Odpowiedzi:
Błąd stosu wynika z faktu, że „AdView” jest typem, a nie instancją. Załóżmy na przykład, że masz następującą klasę:
ponieważ wszystkie psy są najlepszym przyjacielem człowieka, oświadczenie
jest prawidłową instrukcją, ponieważ modyfikator statyczny pozwala użyć tego typu do ustawienia zmiennej. Podobnie nie możesz mieć tego oświadczenia
ponieważ „Pies” nie odnosi się do konkretnego obiektu psa.
-
Oznacza to, że musisz zdobyć
Obiekt jakoś. Jeśli przeczytasz o dokumentacji, zwykle istnieją 2 typowe sposoby uzyskania obiektu.
1) konstruktor: jest to prosty przydział nowej pamięci na komputerze, aby pomieścić wszystkie zawarte w nim zmienne, zwykle szybkie, ale nieefektywne wielokrotne wykonywanie. daje ci świeży przedmiot
2) metoda GetInstance (): Jest to raczej obejście niż metoda, która pozwala na utworzenie jednego obiektu i pozwala na maksymalną wydajność kodu, przy absolutnym minimalnym dostosowaniu.
Powodzenia w znalezieniu sposobu na uzyskanie obiektu AdView!
źródło