記事の内容
この記事では、FlutterでAdMobを使って広告を表示する方法を紹介します。
firebase_admobを使って実装します。
pubspec.ymlの変更
追記場所はここです。
firebase_admobだけでなく、firebase_coreも忘れないようにしましょう。
firebase_core: ^0.4.4+3 firebase_admob: ^0.9.3+2
pubspec.ymlを変更した後は、main.dartに戻って、「Get Dependencies」をクリックします。
AndroidManifestの変更
app/src/main/AndroidManifest.xmlに追記します。
valueには、自分のIDを設定しましょう。
AdMobのコンソール画面で取得できます。
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-52174119~8485805"/>
これも必要かも?
<uses-permission android:name="android.permission.BLUETOOTH" />
build.gradleの設定
app/build.gradleも確認して、以下の行がない場合は、追記しましょう。
implementation 'com.google.firebase:firebase-core:17.0.0'
iOSの設定
iOSの場合は、ios/Runner/info.plistの中に、追記します。
<string>ca-app-pub-521333374119~848555533381444405</string>
コードの説明
initStateの先頭で読み込んでいます。
showの設定で、バナーの位置をTopやBottomに変更することができます。
FirebaseAdMob.instance.initialize(appId: FirebaseAdMob.testAppId); BannerAd _bannerAd = _createBannerAd(); _bannerAd ..load() ..show( anchorOffset: 20.0, );
_targetingInfoで、自分が読み込みたいキーワードを設定できます。
MobileAdTargetingInfo _targetingInfo = new MobileAdTargetingInfo( keywords: <String>['travel'], );
MobileAdTargetingInfoに設定できる引数のいくつかは「deprecated」なので警告が出ているものは、使わないようにしましょう。
birthdayやgenderとかですね。
パラメータの詳細な意味は、ここに書かれているので、気になる方は読んでみて下さい。
それでも表示されない場合
TestのAdは成功しても、自分のAdに切り替えると表示されない場合があります。
その時は、エラーメッセージを確認しましょう。
このエラーは、リクエスト自体は成功しているが、配信される広告がない場合に発生するそうです。
アプリの開発初期段階などで起こります。
放っておけば直るはずです。