AdMobスマートバナー
firebase_admob のサンプルコードではバナータイプが「smartBanner」になっている。
firebase_admob | Readme
1 2 3 4 5 6 7 8
| BannerAd myBanner = BannerAd( adUnitId: BannerAd.testAdUnitId, size: AdSize.smartBanner, targetingInfo: targetingInfo, listener: (MobileAdEvent event) { print("BannerAd event is $event"); }, );
|
スマートバナーの説明は、公式ページに書いてある。
スマートバナーは、
あらゆる画面サイズのデバイスで、画面をどの向きにしていても横幅いっぱいに広告を表示できる広告ユニットです。
デバイスの向きに応じて画面の横幅が検知され、そのサイズの広告ビューが作成されます
広告の高さ |
画面の高さ |
32 dp |
400 dp 以下 |
50 dp |
400 dp 超、720 dp 以下 |
90 dp |
720 dp 超 |
画面サイズによって、表示される広告の高さが変わる仕組み。
コンテンツと広告がかぶらないように高さを調整する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| class MyApp extends StatelessWidget { double adBannerHeight;
@override Widget build(BuildContext context) { return MaterialApp( title: 'アプリ名', builder: (BuildContext context, Widget child) { final Size screenSize = MediaQuery.of(context).size; print("画面サイズ: ${screenSize}"); print("画面の横幅: ${screenSize.width}"); print("画面の高さ: ${screenSize.height}");
if (screenSize.height > 720) { adBannerHeight = 90.0; } else if (screenSize.height > 400) { adBannerHeight = 50.0; } else { adBannerHeight = 32.0; }
return Padding( child: child, padding: EdgeInsets.only( bottom: adBannerHeight, ), ); }, ); } }
|