[Android] FirebaseでのAdMob広告の実装

GoogleではFirebaseを使って詳細な解析ができるAdMobサービスを提供しています。今までのsdkを使った方法も残ってはいますが、GoogleはFirebase仕様をpushしているようです。尚、今までの設定方法は こちら です。
 
admob firebase 01 - [Android] FirebaseでのAdMob広告の実装
 

Android Studio 3.2.1
Android 9.0

 



Firebase AdMob

 
FirebaseはBaaSと言われるようなもので、アプリのバックエンド機能を提供するクラウドサービスでAdMobはそのほんの一つのサービスでしかありません。今までのSDKよりもより細かな情報を収集し分析できます。SDKベースのAdMobはまだ残ってはいます。今のところ、
 

 

Firebase console

 
Firebase consoleにてプロジェクトを登録します。登録の過程でアプリのpckage nameを設定するところがあるので事前に決めておきましょう。

新規プロジェクトを作成するか、既存プロジェクトに追加します。
 
admob firebase 1 300x113 - [Android] FirebaseでのAdMob広告の実装
 
新規プロジェクト名と国名を設定
 
admob firebase 2 300x268 - [Android] FirebaseでのAdMob広告の実装
 
Androidを選択
 
admob firebase 3 300x155 - [Android] FirebaseでのAdMob広告の実装
 
とりあえずpackage nameを登録
 
admob firebase 4 500x427 - [Android] FirebaseでのAdMob広告の実装
 
google-services.jsonをダウンロード。
設定方法が説明されています。(後述します)
 
admob firebase 5 500x429 - [Android] FirebaseでのAdMob広告の実装
 
build.gradleへの設定が説明されています。(後述します)
 
admob firebase 6 500x417 - [Android] FirebaseでのAdMob広告の実装
 
これでFirebase consoleでの設定は終わりですが「4:アプリを実行してインストールを確認」が残っています。これはアプリがサーバーと通信したかどうかを確認するものですからAdMobが設定されていないのであればここで止めておきます。後で再開しますのでそのまま…

 

google-services.jsonの設定

 
こちらAndroid Studio スタートガイドを参考に進めます。
先ほどのgoogle-services.jsonを設定するために、Android Studio の [プロジェクト] 表示に切り替え、プロジェクトのルート ディレクトリを表示します。
 
ダウンロードした google-services.json ファイルを Android アプリ モジュールのルート ディレクトリに移動します。
 
admob firebase 7 237x300 - [Android] FirebaseでのAdMob広告の実装
 
appの下にgoogle-services.jsonをコピペします。
 
admob firebase 8 240x300 - [Android] FirebaseでのAdMob広告の実装
 
Gradle 用の Google サービス プラグインは、ダウンロードした google-services.json ファイルを読み込みます。このプラグインを使用するよう、build.gradle ファイルを修正します。
 
build.gradle(Project: xxx)に
classpath ‘com.google.gms:google-services:x.x.x’
を追加します。versionは適宜合わせてください。
build.gradle(Project: xxx)

 
build.gradle(Module: app)に
com.google.firebase:firebase-ads:17.0.0
apply plugin: ‘com.google.gms.google-services’
を追加します。
 
Firebaseの設定では
com.google.firebase:firebase-core
となっていて、さらにSyncでもcoreにしろというメッセージが出ますが、それを使うとエラーになります。
(2018/10/29, そのうち変わる可能性もあります)
 
またバージョンも最新は17.0.0ですが、これにする場合はManifestにApp IDの設定が必要になったようです。
これ以下のバージョンはこれまで通りのようですが、そうするとAPIバージョンとの整合が取れないかもしれません
 
build.gradle(Module: app)

 

コードの記述

 
AndroidManifest.xml, MainActitity.java, activity_main.xml
にそれぞれ設定を記述していきます。
 

AndroidManifest.xml

 
adUnitId:(広告ユニットID)
adUnitIdを設定します。ここではテスト用として
ca-app-pub-3940256099942544/6300978111
を使っています。
activity_main.xml

 
strings.xml

 
アプリID:
ca-app-pub-3940256099942544~3347511713
はテスト用ですが、自分の広告を出すときはAdMobで設定されている「アプリID」を入れます。
アプリIDはAdMobでのアプリ設定情報にあります。

MainActivity.java

 
これでAdMob広告が表示されます。
 
admob firebase 01 - [Android] FirebaseでのAdMob広告の実装
 
これで、Firebaseの途中で止めていた4番目でインストールの確認ができます。
 
admob firebase 7 500x220 - [Android] FirebaseでのAdMob広告の実装

 

アプリ ID と広告ユニット ID

 
AdMobに登録が済んでいない場合は申し込みをします。
AdMob に申し込む
 
アプリ IDは、AdMob にアプリを追加すると割り当てられる一意の ID 番号でアプリの識別に使用されます。
 
アプリ ID の確認:
https://apps.admob.com から AdMob アカウントにログイン
サイドバーで該当する [アプリ] をクリック
再びサイドバーで「アプリの設定」アイコンをクリック
 
 ca-app-pub-9999999999999~99999999 のように「〜」が間にあるIDです。
 
admob app id 500x205 - [Android] FirebaseでのAdMob広告の実装
 
広告ユニット ID は、AdMob で作成される各広告ユニットに割り当てられる一意の ID 番号で、バナー広告、インターステーシャル広告などアプリ内の広告を識別するためのものです。
 
広告ユニット ID の確認
https://apps.admob.com から AdMob アカウントにログイン
サイドバーで [アプリ] をクリックします。
再びサイドバーで「広告ユニット」のアイコンをクリックすると広告ユニットのIDの一覧が表示されます。
 
ca-app-pub-9999999999999/99999999 のように「/」があるIDです。
 
admob adunit id 500x220 - [Android] FirebaseでのAdMob広告の実装

 

実機での広告テスト

 
Enable test devicesによるとリリース前に広告のテストをするために、実機をテストデバイスとして登録して確認する事ができるようです。
 
今までのコードで実機で起動させると
 

 
のようなtest device IDがLogcatに表示されるので、これをAdRequestに設定します。
 

 
これで実際のAdMobのIDに変えてテストすると「Test Ad」となっています。

 
admob firebase 09 - [Android] FirebaseでのAdMob広告の実装

 
 
関連ページ:

References:
Firebase と AdMob の使用 | Firebase
AdMob | Firebase – Google
Firebase console
Android Studio スタートガイド
Enable test devices

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加


 


ページのトップへ戻る




シェアする

  • このエントリーをはてなブックマークに追加

フォローする