橫幅

橫幅廣告在應用佈局中佔據一個位置,位於設備屏幕的頂部或底部。當用戶與應用程序交互時,它們會停留在屏幕上,並且可以在一段時間後自動刷新。

本指南展示瞭如何將來自 AdMob 的橫幅廣告集成到 Flutter 應用程序中。除了代碼片段和說明外,它還包括有關正確調整橫幅大小的信息。

始終使用測試廣告進行測試

在構建和測試您的應用程序時,請確保您使用的是測試廣告,而不是實際的生產廣告。否則可能會導致您的帳戶被暫停。

加載測試廣告的最簡單方法是對橫幅使用我們專用的測試廣告單元 ID:

測試廣告單元配置為針對每個請求返回測試廣告,您可以在編碼、測試和調試時在自己的應用中自由使用它們。在發布應用之前,請確保將它們替換為您自己的廣告單元 ID。

實例化廣告

一個BannerAd需要adUnitId ,一個AdSize ,一個AdRequestBannerAdListener 。以下示例實例化橫幅廣告:

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

下表列出了標準橫幅尺寸。

dp 大小 (WxH)描述廣告尺寸常數
320x50標準橫幅banner
320x100大橫幅largeBanner
320x250中矩形mediumRectangle
468x60全尺寸橫幅fullBanner
728x90排行榜leaderboard
屏幕寬度 x 32|50|90智能橫幅使用getSmartBanner(Orientation)

要定義自定義橫幅大小,設置所需的AdSize

final AdSize adSize = AdSize(300, 50);

通過使用BannerAdListener ,你可以聽的生命週期事件,當廣告加載如。這個例子實現了每個方法並將一條消息記錄到控制台:

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.'),
);

加載廣告

一個後BannerAd被實例化, load()必須調用可以在屏幕上顯示收到:

myBanner.load();

展示廣告

要顯示BannerAd作為窗口小部件,您必須實例化一個AdWidget調用後支持廣告load()您可以創建之前調用小部件load()load()必須將它添加到widget樹之前被調用。

final AdWidget adWidget = AdWidget(ad: myBanner);

AdWidget顫振的Widget類繼承,並可以像任何其他部件一起使用。在 iOS 上,確保將小部件放置在具有指定寬度和高度的小部件中。否則,您的廣告可能無法展示。甲BannerAd可以被放置在與一個大小,廣告相匹配的容器,包括:

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

一旦廣告呼籲load()它必須調用dispose()時,不再需要訪問它。對於何時調用最佳實踐dispose()是要么後AdWidget從控件樹或刪除AdListener.onAdFailedToLoad回調。

就是這樣!您的應用現在可以顯示橫幅廣告了。

Android 9 及以下版本的滾動限制

我們都知道,運行Android 9一些較老的或更少的功能強大的設備或更早版本可能有最佳性能滾動視圖中顯示內嵌橫幅廣告時。我們建議僅在 Android 10 或更高版本上使用這些類型的橫幅。固定位置橫幅(例如錨定橫幅)不受影響,並且可以在所有 Android API 級別上以最佳性能使用。