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

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

Android Studio
2021.1.1

 




Firebase AdMob

 

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

1x1.trans - [Android] FirebaseでのAdMob広告の実装


 
 

Firebase console

 Firebase console

にてプロジェクトを登録します。

登録の過程でアプリの pckage name (例:com.example.testadmob)を設定するところがあるので事前に決めておきましょう。

新規プロジェクトを作成するか、既存プロジェクトに追加します。
 
1x1.trans - [Android] FirebaseでのAdMob広告の実装


 
適当に新規プロジェクト名を決め国を設定
 
1x1.trans - [Android] FirebaseでのAdMob広告の実装
 
Androidを選択
 
1x1.trans - [Android] FirebaseでのAdMob広告の実装
 
package nameを登録して「アプリを登録」をクリック、他は省略できます。
 1x1.trans - [Android] FirebaseでのAdMob広告の実装
 
「google-services.jsonをダウンロード」をクリックするとファイルがダウロードされます。
設定場所などが説明されています。(後述します)
 1x1.trans - [Android] FirebaseでのAdMob広告の実装
 
build.gradleへの設定が説明されています。
これは2021.1.1では設定エラーとなる部分があり、それは他のファイルで別設定となっているようなので不要です。(後でまとめます)

 
1x1.trans - [Android] FirebaseでのAdMob広告の実装


 
これでFirebase consoleでの設定は終わりです

「4:アプリを実行してインストールを確認」が残っています。これはアプリがサーバーと通信したかどうかを確認するものですからAdMobが設定されていないのであればここで止めておきます。後で再開しますのでそのまま…

 

google-services.jsonの設定

 

こちらAndroid Studio スタートガイドを参考に進めます。
先ほどのgoogle-services.jsonを設定するために、Android Studio の [プロジェクト] 表示に切り替え、プロジェクトのルート ディレクトリを表示します。
 
ダウンロードした google-services.json ファイルを Android アプリ モジュールのルート ディレクトリに移動します。
 
1x1.trans - [Android] FirebaseでのAdMob広告の実装
 
appの下にgoogle-services.jsonをコピペします。
 
1x1.trans - [Android] FirebaseでのAdMob広告の実装
 
Gradle 用の Google サービス プラグインは、ダウンロードした google-services.json ファイルを読み込みます。このプラグインを使用するよう、build.gradle ファイルを修正します。
  
build.gradleで(Module: app)と表示されている方に以下の記述を追加します。バージョンは適宜合わせてください。
 
build.gradle(Module: app)

 

コードの記述

 

AndroidManifest.xml, MainActitity.java, activity_main.xml
にそれぞれ設定を記述していきます。
ca-app-pub-3940256099942544~3347511713
はテスト用のAPPLICAION IDです。
 

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広告が表示されます。「Test Ad」が付いた広告が表示されました。
 
1x1.trans - [Android] FirebaseでのAdMob広告の実装

 

実機での広告テスト

 Enable test devices

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

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

 

次に、アプリIDとadUnitIdをテスト用のIDから
各自のそれぞれのIDに変更します

これで実際のAdMobのIDに変えてテストすると「Test Ad」となっています。
 
1x1.trans - [Android] FirebaseでのAdMob広告の実装

面倒なんですけど!! Google AdMob ガイドには以下のような説明があります
テストモードを使わずに多くの広告をクリックすると、無効なアクティビティとしてアカウントが警告を受ける恐れがあります。
自分の広告を自分でクリックし確認したい気持ちは分かりますが、こういったリスクがあることを知っておきましょう
 

広告が表示されない

 

広告が表示されないケースとして考えられることは、

  • アプリIDと広告ユニットIDが間違っている
  • インターステーシャル広告のIDなのにバナー用IDを使っている
  • 「推奨:AdMob アカウントを作成して、アプリを登録していること」と
    スタートガイド – Google AdMobにはあります。
  • 初めての広告ではアクティブになるには時間がかかる
    • 数時間〜2日くらい
  • AdMobの支払いの設定が完了していない。
    • 支払いを受け取る銀行口座をGoogleに登録して、確認をとる必要があります。お互いに(Googleにしても)そこそこ面倒

1x1.trans - [Android] FirebaseでのAdMob広告の実装

 

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

 

~~~ 以下内容が古いかもしれません ~~~

AdMobに登録が済んでいない場合は申し込みをします。
AdMob に申し込む
 
アプリ IDは、AdMob にアプリを追加すると割り当てられる一意の ID 番号でアプリの識別に使用されます。
 
アプリ ID の確認:

Monetize and promote your app with AdMob.
から AdMob アカウントにログイン
サイドバーで該当する [アプリ] をクリック
再びサイドバーで「アプリの設定」アイコンをクリック
 
ca-app-pub-9999999999999~99999999 のように「〜」が間にあるIDです。
 
1x1.trans - [Android] FirebaseでのAdMob広告の実装


 
広告ユニット ID は、AdMob で作成される各広告ユニットに割り当てられる一意の ID 番号で、バナー広告、インターステーシャル広告などアプリ内の広告を識別するためのものです。
 
広告ユニット ID の確認
Monetize and promote your app with AdMob.
から AdMob アカウントにログイン
サイドバーで [アプリ] をクリックします。
再びサイドバーで「広告ユニット」のアイコンをクリックすると広告ユニットのIDの一覧が表示されます。
 
ca-app-pub-9999999999999/99999999 のように「/」があるIDです。
 
1x1.trans - [Android] FirebaseでのAdMob広告の実装

 
 
関連ページ:

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

シェアする

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

フォローする