【AdMob】iPadでバナー広告が表示されない問題の解決方法!

この記事からわかること
- AdMobのバナー広告がiPadで表示できない場合の解決方法
\ アプリをリリースしました /
Swiftで作成したiOSアプリに導入しているAdMobのバナー広告がiPadではなぜか表示することができませんでした。今回はその解決方法をまとめていきます。
iPadでバナー広告が再生されない問題の解決方法
iOSアプリへのバナー広告の詳細な導入方法については以下の記事を参考にしてください。
おすすめ記事:【Swift UI】AdMobのバナー広告の実装方法!
私が実際にバナー広告が表示できなくなっていたのは以下のコードで実装していた場合です。iPhoneでは正常に動作しましたが、iPadでは表示されませんでした。
今回修正すべきポイントとなるのはload
メソッドの引数に渡す、広告リクエストを送るためのGADRequest
インスタンスです。
loadメソッドの定義
iPadでは明示的に表示するシーンの指定が必要
iPadはiPhoneの時とは少し異なった動作をすることが多いです。NavigationView
では明示的にstack
を指定しないと見た目が崩れてしまったり、シェアボタンを実装するためのUIActivityViewController
がクラッシュしてしまったりと何かと厄介な存在です。
今回の問題もシェアボタンの時の原因:「ポップオーバー画面を表示させる際はビューと表示位置を明示的に指定する必要がある」と近しいものかなと思います。
なのでUIApplication
クラスのconnectedScenes
プロパティからメモリ内でアクティブになっているシーンを取得し明示的にシーンを指定することで解決できました。
解決したコード
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。
私がSwift UI学習に使用した参考書