Transparent

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Reklamy banerowe zajmują miejsce w układzie aplikacji, u góry lub u dołu ekranu urządzenia. Pozostają na ekranie podczas interakcji użytkowników z aplikacją i mogą odświeżać się automatycznie po określonym czasie.

Z tego przewodnika dowiesz się, jak zintegrować banery reklamowe z AdMob z aplikacją Flutter. Oprócz fragmentów kodu i instrukcji zawiera również informacje o prawidłowym rozmiarze banerów.

Zawsze testuj z reklamami testowymi

Tworząc i testując swoje aplikacje, używaj reklam testowych, a nie rzeczywistych reklam produkcyjnych. Niespełnienie tego warunku może doprowadzić do zawieszenia Twojego konta.

Najłatwiejszym sposobem załadowania reklam testowych jest użycie naszego dedykowanego identyfikatora testowej jednostki reklamowej dla banerów:

Testowe jednostki reklamowe są skonfigurowane tak, aby zwracały reklamy testowe dla każdego żądania i możesz używać ich we własnych aplikacjach podczas kodowania, testowania i debugowania. Tylko pamiętaj, aby zastąpić je własnymi identyfikatorami jednostki reklamowej przed opublikowaniem aplikacji.

Reklama instancyjna

BannerAd wymaga adUnitId An AdSize An AdRequest i BannerAdListener . Poniższy przykład przedstawia baner reklamowy:

final BannerAd myBanner = BannerAd(
  adUnitId: '<ad unit ID>',
  size: AdSize.banner,
  request: AdRequest(),
  listener: BannerAdListener(),
);

Poniższa tabela zawiera standardowe rozmiary banerów.

Rozmiar w dp (szer. x wys.) Opis Stała wielkości reklamy
320x50 Baner standardowy banner
320x100 Duży baner largeBanner
320x250 Średni prostokąt mediumRectangle
468x60 Baner pełnowymiarowy fullBanner
728x90 Tablica wyników leaderboard
Szerokość ekranu x 32|50|90 Inteligentny baner Zastosowanie getSmartBanner(Orientation)

Aby zdefiniować niestandardowy rozmiar banera, ustaw żądaną AdSize :

final AdSize adSize = AdSize(300, 50);

Poprzez wykorzystanie BannerAdListener można słuchać na imprezach cyklu życia, takich jak, kiedy reklama jest załadowany. Ten przykład implementuje każdą metodę i rejestruje komunikat w konsoli:

final BannerAdListener listener = BannerAdListener(
 // Called when an ad is successfully received.
 onAdLoaded: (Ad ad) => print('Ad loaded.'),
 // Called when an ad request failed.
 onAdFailedToLoad: (Ad ad, LoadAdError error) {
   // Dispose the ad here to free resources.
   ad.dispose();
   print('Ad failed to load: $error');
 },
 // Called when an ad opens an overlay that covers the screen.
 onAdOpened: (Ad ad) => print('Ad opened.'),
 // Called when an ad removes an overlay that covers the screen.
 onAdClosed: (Ad ad) => print('Ad closed.'),
 // Called when an impression occurs on the ad.
 onAdImpression: (Ad ad) => print('Ad impression.'),
);

Załaduj reklamę

Po BannerAd jest tworzony, load() musi być wywołana przed może być wyświetlane na ekranie:

myBanner.load();

Reklama displayowa

Aby wyświetlić BannerAd jako widget, należy instancję AdWidget z obsługiwanym reklamy po wywołaniu load() . Można utworzyć widżet przed wywołaniem load() , ale load() musi być wywołana przed dodaniem go do drzewa widget.

final AdWidget adWidget = AdWidget(ad: myBanner);

AdWidget dziedziczy z klasy trzepotanie jest widget i może być używany jak każdy inny widget. W systemie iOS upewnij się, że umieszczasz widżet w widżecie o określonej szerokości i wysokości. W przeciwnym razie Twoja reklama może nie zostać wyświetlona. BannerAd można umieścić w pojemniku o rozmiarze, który pasuje do reklamy:

final Container adContainer = Container(
  alignment: Alignment.center,
  child: adWidget,
  width: myBanner.size.width.toDouble(),
  height: myBanner.size.height.toDouble(),
);

Po ad nazwał load() , to musi zadzwonić dispose() , gdy dostęp do niego nie jest już potrzebne. Najlepszą praktyką kiedy zadzwonić dispose() jest albo po AdWidget zostanie usunięta z drzewa widget lub w AdListener.onAdFailedToLoad zwrotnego.

Otóż ​​to! Twoja aplikacja jest teraz gotowa do wyświetlania banerów reklamowych.

Ograniczenie przewijania w Androidzie 9 i starszych

Jesteśmy świadomi, że niektóre starsze lub mniej potężne urządzenia z systemem Android w wersji 9 lub wcześniej mogą mieć nieoptymalne wydajność podczas wyświetlania reklam wbudowanych banerów ciągu przewijania poglądów. Zalecamy używanie tego typu banerów tylko w systemie Android 10 lub nowszym. Nie ma to wpływu na banery o stałej pozycji, takie jak banery zakotwiczone i można ich używać z optymalną wydajnością na wszystkich poziomach interfejsu API systemu Android.