質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Q&A

解決済

1回答

1555閲覧

unityにAdMobが実装できない

退会済みユーザー

退会済みユーザー

総合スコア0

AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

0グッド

1クリップ

投稿2020/06/29 12:23

マニュアル通りにコードを書いて実行しても広告(テスト広告)が表示されません。
Debug.log()も実行されていないので、RequestBanner()が呼ばれていないのだと思いますが、その原因がわかりません。
GoogleAdsMobileSettingで、GoogleAdMob蘭にチェックを入れて、AppIdも入力済みです。(そのため、AppIdのInitializeは不要とのこと)
unityは2019.3.13f1,Admobのプラグインはv5.2.0を使用しています。
PlatformはiOSです。
以下のコードをEmptyObjectにアタッチしています。

C#

1using UnityEngine; 2using GoogleMobileAds.Api; 3 4public class AdController : MonoBehaviour 5{ 6 private BannerView bannerView; 7 8 void Start() 9 { 10 MobileAds.Initialize(InitializationStatus => { }); 11 RequestBanner(); 12 } 13 14 15 private void RequestBanner() 16 { 17 string adUnitId = "ca-app-pub-3940256099942544/2934735716"; 18 19 bannerView = new BannerView(adUnitId, AdSize.MediumRectangle, AdPosition.Center); 20 AdRequest request = new AdRequest.Builder().Build(); 21 bannerView.LoadAd(request); 22 Debug.Log("ok"); 23 } 24}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

IShix

2020/06/29 12:51

何点か確認させてください。 1. AdControllerはインスペクタ内のアクティブなゲームオブジェクトにアタッチしてますか? 2. ゲーム起動から終了まで出てくるシーンは1つですか? 例) タイトルシーン、ゲームシーンがある場合 2つ 3. テスト広告は利用されましたか?
退会済みユーザー

退会済みユーザー

2020/06/29 12:59

返答ありがとうございます。 1.AdControllerはインスペクタ内のアクティブなゲームオブジェクトにアタッチしています。 2.タイトルシーンとゲームシーンの2つで、1のオブジェクトはゲームシーンにあります。 3.テスト広告を表示しようとしている段階です。UnitIdもテスト広告用のものを利用しています。
guest

回答1

0

ベストアンサー

CocoaPodsが問題無く動作しているかの確認

  1. Unityから出力したプロジェクト内にPodsフォルダはありますか?また、そのPodsフォルダ内にファイルが出力されていますか?

ファイルがある場合、問題無く動作してます。
イメージ説明

  1. Xcodeでプロジェクトを開く際、.xcodeprojではなく.xcworkspaceをクリックして開いてますか?

CocoaPodsの場合.xcworkspaceをクリックして開く必要があります。
もし.xcodeprojをクリックして開いている場合は、.xcworkspaceをクリックしてプロジェクトを開くようにしてください。

イメージ説明

Cocoapodsとは?

iOSライブラリの管理ツールです。
具体的にはAdmobで広告を出す為に必要なGoogle Mobile Ads SDKなどをインストールしてくれてます。
これがあるおかげでプロジェクトに手動で追加する必要が無くなります。

原因追求の為のテスト

何が原因か分からないので下記コードを使って広告を取得できるかテストしていただいてもよろしいでしょうか?
お手数ですがよろしくお願いいたします。

テスト手順とテストコード

  1. AdControllerをインスペクタからすべて削除、シーンを保存
  2. 下記コードを「AdLoadTester.cs」という名前でプロジェクトに配置
  3. タイトルシーン、ゲームシーンの両シーンで一番初めに読み込まれるっぽいスクリプトのAwakeまたはStartでAdLoadTester.Initialize()メソッドを呼ぶ
  4. iPhoneに出力してバナー広告が表示されるか確認

C#

1 2using UnityEngine; 3using GoogleMobileAds.Api; 4 5public sealed class AdLoadTester : MonoBehaviour 6{ 7 static AdLoadTester instance; 8 BannerView bannerView; 9 10 public static void Initialize() 11 { 12 if (instance != null) 13 { 14 return; 15 } 16 17 instance = new GameObject("AdLoadTester").AddComponent<AdLoadTester>(); 18 DontDestroyOnLoad(instance.gameObject); 19 20 MobileAds.Initialize(InitializationStatus => 21 { 22 instance.RequestBanner(); 23 }); 24 } 25 26 void RequestBanner() 27 { 28 string adUnitId = "ca-app-pub-3940256099942544/2934735716"; 29 30 bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top); 31 AdRequest request = new AdRequest.Builder().Build(); 32 bannerView.LoadAd(request); 33 Debug.Log("ok"); 34 } 35}

AdLoadTesterの初期化例

※ 必ず2つのシーンで呼んでください。

タイトルシーンで初期化

C#

1using UnityEngine; 2 3public sealed class TitleScene : MonoBehaviour 4{ 5 void Awake() 6 { 7 // テスト広告初期化 8 AdLoadTester.Initialize(); 9 } 10}

ゲームシーンで初期化

C#

1using UnityEngine; 2 3public sealed class GameManager : MonoBehaviour 4{ 5 void Awake() 6 { 7 // テスト広告初期化 8 AdLoadTester.Initialize(); 9 } 10}

投稿2020/06/29 17:46

編集2020/06/30 11:08
IShix

総合スコア1729

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/06/30 06:43

回答ありがとうございます。すごく丁寧にして頂けて感動しています。 回答の通りにやってみたのですが、それでも表示されませんでした。 実機でも試そうと思ったのですが、下記のエラーが出てできず、このエラーも解決できなかったため試せていない状況です。 clang: error: linker command failed with exit code 1 (use -v to see invocation) Showing Recent Errors Only : Library not found for -lGoogleUtilities
IShix

2020/06/30 11:07

2点確認していただきたいことを回答の先頭に追記しました。 ご確認お願いします。
退会済みユーザー

退会済みユーザー

2020/06/30 11:55

何度も回答して頂き、ありがとうございます。 うっかり、.xcodeprojの方からプロジェクトを開いてしまっていました。 テスト広告も表示されました。 もし、原因がわかった際は教えていただけるとありがたいです。 本当にありがとうございました。
IShix

2020/06/30 12:02

広告って最後に入れる事が多いので開くプロジェクト間違えやすいですよね。 無事解決できて良かったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問