このガイドは、Flutter アプリを収益化したいパブリッシャーを対象としています。
Google Mobile Ads SDK を Flutter アプリに統合することは、アド マネージャー広告を表示して収益を得るための第一歩です。これは、こちらで実践します。統合が完了したら、広告フォーマットを選択して実装手順の詳細をご覧ください。
現在、Flutter 向け Google Mobile Ads SDK では、バナー広告、インタースティシャル広告(全画面)、ネイティブ広告、リワード広告の読み込みと表示がサポートされています。
前提条件
- Flutter 1.22.0 以降
- Android
- Android Studio 3.2 以上
- ターゲット Android API レベル 20 以降
compileSdkVersion
を 28 以上に設定する
- iOS
- 最新バージョンの Xcode(有効なコマンドライン ツールを含む)
Mobile Ads SDK をインポートする
- Flutter プロジェクトに Flutter 向け Google Mobile Ads SDK プラグインを含めます。
プラットフォーム固有の設定
Android
AndroidManifest.xml を更新する
アド マネージャー アプリ ID は AndroidManifest.xml
に含まれている必要があります。
そうしないと、アプリの起動時にクラッシュします。
com.google.android.gms.ads.APPLICATION_ID
という名前の <meta-data>
タグを追加して、アド マネージャー アプリ ID(アド マネージャーの管理画面で識別)をアプリの android/app/src/main/AndroidManifest.xml
ファイルに追加します。アプリ ID はアド マネージャーの管理画面で確認できます。android:value
の場合、次に示すように、ご自身のアド マネージャー アプリ ID を引用符で囲んで挿入します。
<manifest> <application> <!-- Sample 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
を使用します。
AndroidManifest.xml
の構成とアプリ ID のセットアップについて詳しくは、Android ガイドをご覧ください。
iOS
Info.plist を更新する
アプリの ios/Runner/Info.plist
ファイルで、GADApplicationIdentifier
キーとアド マネージャー アプリ ID(アド マネージャーの管理画面で識別)の文字列値を追加します。
<key>GADApplicationIdentifier</key> <string>ca-app-pub-################~##########</string>
Dart コードでプラグインを初期化するときにも、同じ値を渡す必要があります。
Info.plist
の構成とアプリ ID の設定について詳しくは、iOS のガイドをご覧ください。
Mobile Ads SDK を初期化する
広告を読み込む前に、MobileAds.instance.initialize()
を呼び出して Mobile Ads SDK を初期化します。これにより、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 がインポートされ、広告を実装できるようになりました。アド マネージャーにはさまざまな広告フォーマットが用意されており、アプリのユーザー エクスペリエンスに最適なものを選択できます。
バナー
デバイス画面の上部または下部に表示される長方形の広告です。バナー広告は、アプリの操作中は画面に表示され続けますが、一定時間が経過すると自動的に更新されます。モバイル広告を初めてお使いの場合は、この広告から始めるのが最適です。
インタースティシャル
ユーザーが閉じるまでアプリのインターフェース上に全画面表示される広告です。ゲームのレベルが切り替わる合間やタスクが完了した直後など、アプリの実行の流れが自然に一時停止するタイミングでの使用に適しています。
ネイティブ
アプリのデザインに合わせてカスタマイズできる広告です。広告の配置場所や方法を指定できるため、アプリのデザインに沿ったレイアウトになります。
特典
短い動画を視聴し、体験プレイ広告やアンケートを操作したユーザーに報酬を進呈する広告です。無料ユーザーの収益化に適している。