アプリに Google Mobile Ads SDK を統合することは、広告を表示して収益を得るための第一歩です。SDK を統合したら広告フォーマット(ネイティブ広告やリワード動画広告など)を選択し、手順に沿って実装してください。
はじめに
アプリを準備するには、次のセクションの手順を完了します。
アプリの前提条件
- Android Studio 3.2 以降を使用している
アプリのビルドファイルで次の値が使用されていることをご確認ください。
minSdkVersion
が19
以上compileSdkVersion
が28
以上
アプリを設定する
プロジェクト レベルの
build.gradle
ファイルで、buildscript
セクションとallprojects
セクションの両方に Google の Maven リポジトリと Maven セントラル リポジトリを含めます。buildscript { repositories { google() mavenCentral() } } allprojects { repositories { google() mavenCentral() } }
Google Mobile Ads SDK の依存関係をモジュールのアプリレベルの Gradle ファイル(通常は
app/build.gradle
)に追加します。dependencies { implementation 'com.google.android.gms:play-services-ads:21.5.0' }
アプリの
AndroidManifest.xml
ファイルに Ad Manager アプリ ID(Ad Manager 管理画面で識別される)を追加します。追加するには、android:name="com.google.android.gms.ads.APPLICATION_ID"
を持つ<meta-data>
タグを追加します。アプリ ID は Ad Manager の管理画面で確認できます。android:value
の場合は、ご自身の Ad Manager アプリ ID を引用符で囲んで挿入します。<manifest> <application> <!-- Sample Ad Manager 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>
実際のアプリでは、上記の ID ではなく、実際の Ad Manager アプリ ID を使用します。ただし、Hello World アプリで SDK を試すだけであれば、上記のサンプルのアプリ ID を使用できます。
また、前述のように
<meta-data>
タグを追加しなかった場合、次のメッセージが表示されてクラッシュします。The Google Mobile Ads SDK was initialized incorrectly.
(省略可)以前のバージョンが Android 13 と連携するように、
AD_ID
権限を申告します。アプリで Google Mobile Ads SDK バージョン 20.4.0 以降を使用している場合、SDK は自動的に
com.google.android.gms.permission.AD_ID
権限を申告し、利用可能な広告 ID にアクセスできるため、この手順は省略できます。Google Mobile Ads SDK バージョン 20.3.0 以前を使用し、Android 13 をターゲティングしているアプリの場合、広告 ID にアクセスするには、Google Mobile Ads SDK の
AndroidManifest.xml
ファイルにcom.google.android.gms.permission.AD_ID
権限を追加する必要があります。<manifest> <application> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/> <-- For apps targeting Android 13 or higher & GMA SDK version 20.3.0 or lower --> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> </application> </manifest>
権限を無効にする方法など、
com.google.android.gms.permission.AD_ID
権限の申告について詳しくは、こちらの Play Console に関する記事をご参照ください。
Google Mobile Ads SDK を初期化する
広告を読み込む前に、MobileAds.initialize()
を呼び出して、アプリで Google Mobile Ads SDK を初期化します。初期化が完了すると(または 30 秒のタイムアウト後に)、完了リスナーがコールバックされます。この処理は 1 回だけ行います(アプリの起動時に行うのが理想的です)。
MobileAds.initialize()
を呼び出すと、Google Mobile Ads SDK かメディエーション パートナーの SDK によって広告が事前に読み込まれる場合があります。欧州経済領域(EEA)内のユーザーから同意を得る必要がある場合は、リクエスト固有のフラグ(tagForChildDirectedTreatment
や tag_for_under_age_of_consent
など)を設定するか、広告が読み込まれる前になんらかの対応策を取ったうえで、Google Mobile Ads SDK を初期化するようにしてください。
アクティビティで initialize()
メソッドを呼び出す方法について、次に例を示します。
MainActivity の例(抜粋)
Java
import com.google.android.gms.ads.MobileAds; import com.google.android.gms.ads.initialization.InitializationStatus; import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); } }
Kotlin
import com.google.android.gms.ads.MobileAds class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) MobileAds.initialize(this) {} } }
メディエーションを使用している場合は、広告を読み込む前に、完了ハンドラが呼び出されるまで待ちます。これにより、すべてのメディエーション アダプタが確実に初期化されます。
広告フォーマットを選択する
これで Google Mobile Ads SDK がインポートされ、広告を実装できるようになりました。 Ad Manager ではさまざまな広告フォーマットが用意されているため、アプリのユーザー エクスペリエンスに最適なものを選択できます。
バナー広告
デバイス画面の上部か下部に表示される長方形の広告です。アプリの操作中は画面に表示され続けますが、一定時間が経過すると自動的に更新されるよう設定できます。モバイル広告を初めてお使いの場合は、この広告から始めるのが最適です。
インタースティシャル
ユーザーが閉じるまでアプリのインターフェース上に全画面表示される広告です。ゲームのレベルが切り替わる合間やタスクが完了した直後など、アプリの実行の流れが自然に一時停止するタイミングでの使用に適しています。
ネイティブ
アプリのデザインに合わせてカスタマイズできる広告です。広告の配置場所やスタイルを指定できるため、アプリのデザインに溶け込んだレイアウトが可能になります。
Google アド マネージャーでは、ネイティブ広告を実装する方法として、ネイティブ スタイルとカスタム レンダリングの 2 種類が用意されています。
ネイティブ スタイルは、ネイティブ広告をできるだけ簡単に実装できるように設計されているため、このフォーマットにまだ慣れていないユーザーにとって最適な選択肢です。カスタム レンダリングは、より自由に内容を構成できるよう設計されています。
ネイティブ広告を実装する | ネイティブ スタイルを実装する |
リワード
短い動画を視聴し、体験プレイ広告やアンケートを操作したユーザーに報酬を進呈する広告です。無料アプリの収益化に使用されます。
その他のリソース
GitHub の Google モバイル広告リポジトリは、この API に用意されているさまざまな広告フォーマットの使い方を示しています。