【Flutter2.0】アプリにAdMobバナー広告を導入する方法

はじめに

Flutterで作成したアプリに、Googleの広告であるAdMobを導入したいと思いました。
1度Flutter1系の時に実装をした事があったのですが、Flutter本体も含めAdMobライブラリの更新もあったので、手順をメモとして書いてみたいと思います。
また、Null Safetyにも対応してみました。参考になれば幸いです。

動作環境について
  • Android Studio
  • Flutter 2.5.2

AdMob側の準備

AdMobのサイトを開き、プラットフォームを選択し、広告をつけるアプリがGooglePlayやAppStoreにリリースされていなければ、「アプリはサポートされているアプリストアに登録されていますか?」はいいえを選択して新しいアプリを登録します。AndroidとiOS両対応の場合は、プラットフォームそれぞれで登録するので2つ登録することになるかと思います。ここで、2つのca-app-pub-xxxxx~xxxxxのアプリIDを控えておきます。

アプリを登録したら、新しいバナー広告を作成します。ここで、iOSとAndroidの2つのca-app-pub-xxxxxのIDを控えておきます。

また、それぞれのプラット付フォームのバナー広告のテストIDは以下となっています。

それぞれのプラットフォームにアプリIDをセットする必要があるので、それぞれ設定します。

iOSのIDのセット方法

AndroidStudioの中から、iosディレクトリを右クリック

FlutterOpen iOS module in XcodeでXcodeを開きます。

Xcodeを開いたら、以下のようにRunnerRunnerInfo.plistに以下を追加します。

AndroidのIDのセット方法

AndroidStudioの中から、androidディレクトリより、appsrcmainAndroidManifest.xmlを選択

Flutter側の準備

まずはAdMobの実装に必要なPackageを確認します。

pubspec.yamlに以下のように記述します。

Pub getを押します。

AdStateクラスを用意する

AdMobバナー広告を管理するための、AdStateクラスを作成します。

初期化処理をmain()に書く

main.dartを以下のように記述します。

バナー広告アイテムを初期化する

広告を表示させたいPage(StatefulWidget)で以下のように初期化します。

広告Widgetを実際に配置する

初期化処理が設定できたので、実際にバナー広告Widgetを配置します。表示させたい場所に以下のように差し込む感じになります。

アプリを起動すると、無事にサンプル広告が表示されました(iPhoneで確認)。

おわりに

今回のサンプルのMainPage.dartの全コードを載せておきます。

Flutterだと、AndroidとiOSの両方の設定が必要なので、手順が多く大変でした…。
見て頂いてありがとうございます。

参考

参考 Mobile Ads SDK(Flutter)(ベータ版)Google AdMob 参考 google_mobile_adspub.dev

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です