概要

このガイドは、Flutter アプリの収益化をお望みのパブリッシャー様を対象にしています。

アド マネージャー広告を表示して収益を得るための第一歩は、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

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 はアド マネージャーの UI で確認できます。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 の文字列(アド マネージャーの UI で確認)を追加します。

<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 がインポートされ、広告を実装できるようになりました。さまざまな広告フォーマットが用意されている Ad マネージャーでは、アプリのユーザー エクスペリエンスに最適なものを選択できます。

デバイス画面の上部か下部に表示される長方形の広告です。アプリの操作中は画面に表示され続けますが、一定時間が経過すると自動的に更新されるよう設定できます。モバイル広告を初めてお使いの場合は、この広告から始めることをおすすめします。

バナー広告を実装する

インタースティシャル

ユーザーが閉じるまでアプリのインターフェース上に全画面表示される広告です。ゲームのレベルが切り替わる合間やタスクが完了した直後など、アプリの実行の流れが自然に一時停止するタイミングでの使用に適しています。

インタースティシャル広告を実装する

ネイティブ

アプリのデザインに合わせてカスタマイズできる広告です。広告の配置場所やスタイルを指定できるため、アプリのデザインに溶け込んだレイアウトが可能になります。

ネイティブ広告を実装する

特典

ユーザーが短い動画を視聴し、体験プレイ広告やアンケートを操作した際に報酬を進呈する広告です。無料利用のユーザーの収益化に効果的です。

リワード広告を実装する