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

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

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

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

2回答

1668閲覧

Google Admobの広告ユニットIDを設定しても広告が表示されません。

Hayato1201

総合スコア220

AdMob

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/02/16 15:23

編集2019/02/18 04:48

以下のサイトを見て広告を表示しようとしています。Test用の広告を表示することはできましたが、実機をテストデバイスとして登録するという部分で、登録して表示をさせようとした時にうまくいきません。
https://i-app-tec.com/ios/admob.html

TestIDを用いて以下の様にloadを行うとテスト広告の上にtestと表示されるのでデバイス登録自体はできている様に思います。しかしこれをAdmobで表示された広告ユニットIDにすると表示されません。

Swift

1let request = GADRequest() 2request.testDevices = [ "Test Device ID" ] 3admobView.load(request)

Admobで確認すると作成した広告は以下の様になっています。

 イメージ説明

有効なアイテム0個となっていますが、そもそもこれらの広告は有効になっていないのでしょうか?


新しくadmobのためだけにプロジェクトを作って実行したところやはり表示できませんでしたが、以下にそのさいのコードとログを示します。

SWift

1import UIKit 2import GoogleMobileAds 3 4class ViewController: UIViewController { 5 6 // 広告ユニットID 7 let AdMobID = "広告ユニットID" 8 // テスト用広告ユニットID 9 let TEST_ID = "ca-app-pub-3940256099942544/2934735716" 10 11 // true:テスト 12 let AdMobTest:Bool = false 13 14 override func viewDidLoad() { 15 super.viewDidLoad() 16 17 print("Google Mobile Ads SDK version: (GADRequest.sdkVersion())") 18 19 var admobView = GADBannerView() 20 21 admobView = GADBannerView(adSize:kGADAdSizeBanner) 22 23 admobView.frame.origin = CGPoint(x:0, y:self.view.frame.size.height - admobView.frame.height - 34) 24 admobView.frame.size = CGSize(width:self.view.frame.width, height:admobView.frame.height) 25 26 if AdMobTest { 27 admobView.adUnitID = TEST_ID 28 } 29 else{ 30 admobView.adUnitID = AdMobID 31 } 32 33 admobView.rootViewController = self 34 //admobView.load(GADRequest()) 35 36 37 let request = GADRequest() 38 request.testDevices = [ "デバイスID" ] 39 admobView.load(request) 40 41 self.view.addSubview(admobView) 42 } 43 44 45}

以下Appdelegate

Swift

1 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 2 // Override point for customization after application launch. 3 FirebaseApp.configure() 4 GADMobileAds.configure(withApplicationID: "ca-app-pub-xxxxxx") 5 return true 6 } 7

YMTLInitPlatform] platform initialization successful
2019-02-18 13:37:54.491123+0900 testAdmob[22214:5406194] - <AppMeasurement>[I-ACS036002] Analytics screen reporting is enabled. Call +[FIRAnalytics setScreenName:setScreenClass:] to set the screen name or override the default screen class name. To disable screen reporting, set the flag FirebaseScreenReportingEnabled to NO (boolean) in the Info.plist
2019-02-18 13:37:54.596618+0900 testAdmob[22214:5406211] 5.16.0 - [Firebase/Analytics][I-ACS023007] Analytics v.50500000 started
2019-02-18 13:37:54.596960+0900 testAdmob[22214:5406211] 5.16.0 - [Firebase/Analytics][I-ACS023008] To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
2019-02-18 13:37:54.639346+0900 testAdmob[22214:5406208] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-02-18 13:37:54.640114+0900 testAdmob[22214:5406208] [MC] Reading from public effective user settings.
Google Mobile Ads SDK version: afma-sdk-i-v7.39.0
2019-02-18 13:37:54.658186+0900 testAdmob[22214:5406187] 5.16.0 - [Firebase/Analytics][I-ACS025026] Deferring to Firebase for event data collection
2019-02-18 13:37:54.680709+0900 testAdmob[22214:5406214] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x281517260, domain=1, instance=1>
2019-02-18 13:37:54.714604+0900 testAdmob[22214:5406038] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port スピーカー (type: Speaker)
2019-02-18 13:37:54.982855+0900 testAdmob[22214:5406187] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x10500f2c0] get output frames failed, state 8196
2019-02-18 13:37:54.982983+0900 testAdmob[22214:5406187] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x10500f2c0] get output frames failed, state 8196
2019-02-18 13:37:54.983250+0900 testAdmob[22214:5406187] TIC Read Status [1:0x0]: 1:57
2019-02-18 13:37:54.983280+0900 testAdmob[22214:5406187] TIC Read Status [1:0x0]: 1:57
2019-02-18 13:37:55.298193+0900 testAdmob[22214:5406229] WF: === Starting WebFilter logging for process testAdmob
2019-02-18 13:37:55.298347+0900 testAdmob[22214:5406229] WF: _userSettingsForUser mobile: {
filterBlacklist = (
);
filterWhitelist = (
);
noOverridingAllowed = 1;
restrictWeb = 1;
useContentFilter = 0;
useContentFilterOverrides = 0;
whitelistEnabled = 0;
}
2019-02-18 13:37:55.298500+0900 testAdmob[22214:5406229] WF: _WebFilterIsActive returning: NO
2019-02-18 13:37:55.765835+0900 testAdmob[22214:5406038] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port スピーカー (type: Speaker)
2019-02-18 13:39:56.611369+0900 testAdmob[22214:5406577] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C4.1:2][0x105028860] get output frames failed, state 8196
2019-02-18 13:39:56.611863+0900 testAdmob[22214:5406577] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C4.1:2][0x105028860] get output frames failed, state 8196
2019-02-18 13:39:56.612878+0900 testAdmob[22214:5406577] TIC Read Status [4:0x0]: 1:57
2019-02-18 13:39:56.612977+0900 testAdmob[22214:5406577] TIC Read Status [4:0x0]: 1:57

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

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

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

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

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

guest

回答2

0

こんにちは、私もiosで広告を実装しています。
admobの本番用IDはadmobアカウントのお支払いという項目を埋めるまで表示されなかったと思います。
私はそうでした。

あと、有効なアイテム数が0というところはあまり気にしなくても大丈夫ですよ。

追記

func setAds() { admobView = GADBannerView(adSize:kGADAdSizeBanner) switch (UIScreen.main.nativeBounds.height) { case 2436: admobView.frame.origin = CGPoint(x:0, y:self.view.frame.size.height - admobView.frame.height - 24) case 2688: admobView.frame.origin = CGPoint(x:0, y:self.view.frame.size.height - admobView.frame.height - 24) case 1792: admobView.frame.origin = CGPoint(x:0, y:self.view.frame.size.height - admobView.frame.height - 24) default: admobView.frame.origin = CGPoint(x:0, y:self.view.frame.size.height - admobView.frame.height) } admobView.frame.size = CGSize(width:self.view.frame.width, height:admobView.frame.height) if AdMobTest == true{ admobView.adUnitID = "//" } else{ admobView.adUnitID = AdMobID } admobView.rootViewController = self admobView.load(GADRequest()) self.view.addSubview(admobView) }

投稿2019/02/22 22:21

編集2019/02/24 09:01
midori0822

総合スコア61

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

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

Hayato1201

2019/02/23 02:52

回答ありがとうございます! お支払い情報の登録というやつでしょうか?これは、収益がお支払い方法選択の基準額に達していない場合、お支払い方法は設定できません、とヘルプに書いてあり、設定をしようとしてもサーバ上に見つかりませんとなって設定できません。また、admobの本番用IDが表示されないとの事ですが、上の画像の広告ユニットの欄のID(上の画像では消してあります)が本番用のIDでは無いのでしょうか?
midori0822

2019/02/24 09:07 編集

そこまで設定されているならお支払い方法は大丈夫です。 一応自分のアプリの広告欄のコードを置いておきます。各iphoneサイズに適用してあるのでお使いください。任意のタイミングでsetads()するだけで広告が表示されます。 admobView.load(GADRequest()) のところにtestIDと書いてあるのが気になりました。 本番用idはそれで大丈夫ですよ。
Hayato1201

2019/02/26 07:55

わざわざありがとうございます。 midori0822さんはリリース前からこの様な形で本番の方の広告を表示させる事が出来ていたという事でしょうか??まだ自分はリリース前でシミュレータまたは実機での本番用広告が表示できない状態です。。。サイトにはシミュレータやデバイスIDを指定して実機ではテストというラベルがでますが本番用の広告を表示できると書かれていたのですがそれが出来ないという状況です。
guest

0

有効なアイテム0個となっています

メディエーションとキャンペーンが0なだけです
やっていなければ0なのは当然です

なにかログは出ていないでしょうか
それと広告は直ぐには出てきません
1日たって出なければ何か引っかかっているのかもしれませんが

投稿2019/02/17 14:35

aja

総合スコア3733

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

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

Hayato1201

2019/02/17 15:15

回答ありがとございます! ログには以下のものが出ています。。。 AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port スピーカー (type: Speaker) またもう何日も経過しています。上の画像では消していますが、広告ユニットIDは広告の名前の下に書かれているコピーマークを押してコピーできるもので良いのですよね?なぜ表示されないのでしょうか・・・?
Hayato1201

2019/02/17 15:20

因みに以上のログはadmobView.load(request)で出ます。
Hayato1201

2019/02/18 03:46

返信ありがとうございます! その様ですね、、、ただこのwarningで実機で表示できなくなると書いているわけでは無さそうですし、シミュレータを使って、テストデバイスをkGADSimulatorIDとして実行した時は上のwarningは表示されませんがそれでも広告も表示されません。そのため他に原因があるのでは無いかとも思ったのですが、、、 因みに色々切りはりするというのは具体的どういう事でしょうか。。。?
aja

2019/02/18 03:56

bannerとinterstitialの広告はやり方が違います それぞれ単独でbannerだけのアプリで広告IDとアプリIDを使って表示できるか、それぞれ試してみる。それもできなければAdMobに聞いてみるしかないですが、回答はないでしょうね もしもどれか表示できれば、そこから切った貼ったのデバッグでしょうか
aja

2019/02/18 03:57

単独というのはHelloWorldのadmob版のことです
Hayato1201

2019/02/18 04:49

何度もすみません、、追記でadmobのためだけにプロジェクトを作って実行した際の結果を示しました。。。 ログを見ると"Permission denied"といった様なものも出ていますがこれらが何なのかよくわかりません。。。
aja

2019/02/18 13:21

device IDとか大丈夫でしょうか
Hayato1201

2019/02/18 15:40

deviceIDに関しては上のコードの "デバイスID"の部分でテストで実行した際にログに表示されるrequest.testDevices = @[ @......]の値の[@以降のものを入れています。
Hayato1201

2019/02/18 15:46

あとPermission deniedのものについては以上のコードをなどを全てコメントアウトしても出ているみたいなので関係無さそうでした。
aja

2019/02/18 22:27

iPhoneが許可されていない、IDの書き間違い AdMobの設定が終わっていない など、AdMobのタグで同様の質問を見てみては https://teratail.com/tags/AdMob
Hayato1201

2019/02/21 01:32

admobについて以下の様な質問がありました。 https://teratail.com/questions/129537 これでは結局リリースしてしばらくしたら徐々に表示される様になって行ったとの事でした、、リリース前にも実機でテストできると書いてあるサイトはありますが実際どうなでしょうか。。。
aja

2019/02/21 03:37

https://developers.google.com/admob/ios/test-ads にあるようにAdMobは実機テストのときは不正クリックにならないようにテストモードに入れる事を推奨しています。 また、 推奨: AdMob アカウントを作成して、アプリを登録していること というのもあります もしアプリをリリースしていないなら、一旦リリース後にAdMobの実機テストをするということでしょうか ただ、 iOSの場合はAndroidと違ってスタートダッシュが大切なのでいきなり出してしまうという事もありかもですね。自己責任です
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問