ググっても具体的な方法がなかなか見つからず苦労したのでメモ。
UnityでAdmobを導入する場合、実際に本番で使用するアプリID・広告ユニットIDを指定した状態で開発中の実機でテスト広告を表示させるためには実機のID(テストデバイスID)を調べてコード内で指定してあげる必要がある。その実際にやった確認方法をここに残しておきます。
後で見返す用の自分用のメモですがどこかの誰かの参考になれば幸いです。
- 確認に使用しているバージョンはUnityは2020.1.2f、Androidは9.0です。
- 開発中のゲームを対象のテスト端末(スマホ)にビルド済みの前提。
- ビルドしているゲームにはサンプル広告ユニットIDを使用した、何かのテスト広告ユニットが表示されている前提。(参考)
Android Logcat パッケージ導入
まずはAndroid Logcatをインストールします。
「Window」>「Package Manager」からパッケージマネージャーを開きます。
検索対象を「Unity Registry」であることを確認して、検索窓に「Android Logcat」と入力。
以下のようにAndroid Logcatが表示されたらあとは他のパッケージと同様にインストールしましょう。
インストールが完了するとUnityエディタ内にAndroid Logcatのウィンドウが表示されるはず。
もし表示されていない場合は「Window」>「Analysis」>「Android Logcat」から表示できる。
以下のようにAndroid Logcatのウィンドウが表示されていれば一先ず準備はOK。
テストデバイスID 確認
Android Logcatの導入が済んだら実際にデバイス(スマホ)をPCに繋げてテストデバイスIDの確認をしていきましょう。
(Unityは予め立ち上げておく。)
テストデバイス(スマホ)をPCに接続
開発用のPCと開発しているUnityアプリをビルド済みのスマホをビルドする際と同様の方法でUSBで接続します。
ちなみに自分の場合、USB使用モードは「ファイルを転送」にすることで正常に認識されました。
特に問題なければ、Unityエディタ上のAndroid Logcatウィンドウに以下のように緑字で「Connected」と表示され、づらづらとログが表示されているはずです。
テストデバイスID確認用の設定(Tagでフィルタリング)
この状態でテストデバイスIDの確認は出来なくもないのですが、表示されているログの量が多すぎるので関連するログのみ表示されるように設定を追加します。
Android Logcatウィンドウ内の「Tag」部分をクリック、「Tag Control…」を選択します。
新しくTagを追加することができるのでここに「Ads」と入力しAddします。更にAddした後に追加したAdsのみチェックが入った状態にします。
以下のようにTagに任意の文字列(Ads)を含むログのみ表示されるようになるはずです。
あとは確認するだけ!
確認方法・箇所
接続したスマホでビルドしたゲームを起動し、テスト広告を表示させます。
表示されているログの中から以下のような記述を含むログを探します。このasListのあとの文字列部分がテストデバイスIDになります。(以下hogehoge〜部分)
Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("hogehogehogehogehogehogehogehoge") to get ...略
admobの公式ドキュメントを見ると以下のようなログがあるので確認しましょう的な説明がされているのですが、なぜか自分の環境では見当たりませんでした。。(もし見つかった場合はこちらで良いと思います。)
以下公式ドキュメントより引用。
I/Ads: Use AdRequest.Builder.addTestDevice("33BE2250B43518CCDA7DE426D04EE232")
to get test ads on this device.
または
<Google> To get test ads on this device, call:
request.testDevices = @[ "2077ef9a63d2b398840261c8221a0c9b" ];
あとは公式にあるサンプルのようにテスト端末を指定するコードを追加すれば、本番用のアプリID・広告ユニットIDを使用しても指定したテストデバイスであればテスト用の広告が表示されます。
AdRequest request = new AdRequest.Builder()
.AddTestDevice("hogehogehogehogehogehogehogehoge")
.Build();
以上です!
上手くいかない場合はadmob公式ドキュメントを見ながら設定を見直してみてましょう〜
参考リンク
テスト広告 | Unity | Google Developers