このガイドは、Flutter アプリの収益化をお望みのパブリッシャー様を対象にしています。
AdMob 広告を表示して収益を得るための第一歩は、Flutter アプリへの Google Mobile Ads SDK の統合です。このガイドでは、この追加方法について解説します。統合したら、広告フォーマットを選択して、具体的な広告の実装手順を確認します。
現在、Flutter 向け Google Mobile Ads SDK は読み込みと表示をサポートしています (バナー広告、インタースティシャル広告(全画面)、ネイティブ広告、リワード広告を表示するため)。
前提条件
- Flutter 1.22.0 以降
- Android
- Android Studio 3.2 以上
- ターゲット Android API レベル 20 以降
compileSdkVersion
を 28 以降に設定していること
- iOS
- 最新バージョンの Xcode(有効なコマンドライン) ツール
- 推奨: AdMob アカウントを作成して、Android および / または iOS アプリを登録していること
Mobile Ads SDK をインポートする
プラットフォーム固有の設定
Android
AndroidManifest.xml を更新する
AdMob アプリ ID を AndroidManifest.xml
に含める必要があります。失敗
変更すると、アプリの起動時にクラッシュします。
AdMob ウェブで識別される AdMob アプリ ID を追加します
インターフェースを
<meta-data>
タグを追加して android/app/src/main/AndroidManifest.xml
ファイルを開く
(名前は com.google.android.gms.ads.APPLICATION_ID
)。android:value
で、ご自身の AdMob アプリ ID を下記のように引用符で囲んで挿入します。
<manifest>
<application>
<!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
<application>
<manifest>
Dart コードでプラグインを初期化するときも、同じ value
を使用します。
詳しくは、Android
ガイド
AndroidManifest.xml
の構成とアプリの設定に関する情報
あります。
iOS
Info.plist を更新する
アプリの ios/Runner/Info.plist
ファイルに、GADApplicationIdentifier
キーと AdMob アプリ ID の文字列値を追加します(AdMob ウェブ インターフェースで確認)。
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-################~##########</string>
Dart コードでプラグインを初期化するときにも、同じ値を渡す必要があります。
Info.plist
の構成とアプリ ID の設定について詳しくは、iOS のガイドをご覧ください。
Mobile Ads SDK を初期化する
広告を読み込む前に、以下を呼び出して Mobile Ads SDK を初期化します。
MobileAds.instance.initialize()
: SDK を初期化して
初期化の完了後、または 30 秒後に終了する Future
あります。この処理は 1 回だけ行います(アプリを実行する直前に行うのが理想的です)。
import 'package:google_mobile_ads/google_mobile_ads.dart';
import 'package:flutter/material.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
MobileAds.instance.initialize();
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
MyAppState createState() => MyAppState();
}
class MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
// Load ads.
}
}
広告フォーマットを選択します
Mobile Ads SDK をインポートしたら、広告を実装できます。さまざまな広告フォーマットが用意されている AdMob では、アプリのユーザー エクスペリエンスに最適なものを選択できます。
バナー
デバイス画面の上部または下部に表示される長方形の広告です。アプリの操作中は画面に表示され続けますが、一定時間が経過すると自動的に更新されるよう設定できます。モバイル初心者の場合 その出発点として最適です
インタースティシャル
ユーザーが閉じるまでアプリのインターフェース上に全画面表示される広告です。 アプリの実行フローが自然に一時停止するタイミングで使用することをおすすめします。 ゲームのレベルクリア後や、タスク完了直後などに発生します。
ネイティブ
アプリのデザインに合わせてカスタマイズできる広告です。広告の配置場所やスタイルを指定できるため、アプリのデザインに溶け込んだレイアウトが可能になります。
特典
ユーザーが短い動画を視聴し、体験プレイ広告やアンケートを操作した際に報酬を進呈する広告です。無料ユーザーの収益化に適している。