[Swift]AdMobが実機で表示されない時の対処法
- ye

- 2024年5月15日
- 読了時間: 1分
更新日:2024年10月10日
最近アプリを開発していて、エミュレータではきちんと表示されていたAdMob広告がなぜか実機では表示されなかったので、色々試してみました。
結果、無事に広告が表示されたので備忘として残しておきます。
結論:トラッキングの許可を表示させないといけなかった。
下記のようにトラッキングの許可を要求する処理を入れておく必要があります。
func requestTrackingAuthorization()
{
DispatchQueue.main.asyncAfter(deadline: .now() + 10.0) {
ATTrackingManager.requestTrackingAuthorization(completionHandler:
{ status in
switch status {
case .authorized:print("authorized \ (ASIdentifierManager.shared().advertisingIdentifier)")
case .denied:print("denied")
case .restricted:print("restricted")
case .notDetermined:print("notDetermined")
@unknown default:fatalError()
}
})
}
}imfo.plistに「Privacy - Tracking Usage Description」の設定も忘れずに入れましょう。
これで検証機でも広告が表示されると思います。
気になったこと
以前はトラッキング許可をしなくても表示されていた記憶がありますが、最近仕様が変わったのかもしれません。


![[Swift]モーダルが閉じたことを検知するには、presentationControllerDidDismiss が必要です](https://static.wixstatic.com/media/2266a47c83d9453893b933944f7a426a.jpg/v1/fill/w_980,h_653,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/2266a47c83d9453893b933944f7a426a.jpg)

コメント