iOSのGoogle Admob(Mobile Ads SDK)の設定方法変更への対応(GADInvalidInitializationException & 'configure(withApplicationID:)' is deprecated: Use [GADMobileAds.sharedInstance startWithCompletionHandler:])
Google-Mobile-Ads-SDKのアップデートを行ったらエラー等出たので対応をしました。
2019/03/25現在の情報です。
実行環境
- Xcode10.2 beta 4 (10P107d)
- Swift4.2
- iOS deployment target iOS12.2
- Mobile Ads SDK (iOS) version 7.42.0 (2019‑03‑15リリース)
公式サイト
- Release Notes | iOS | Google Developers
- スタートガイド | iOS | Google Developers
- googleads/googleads-mobile-ios-examples: googleads-mobile-ios
発生したエラー
GADInvalidInitializationException
アプリ実行時に
Terminating app due to uncaught exception 'GADInvalidInitializationException'
というエラーメッセージが表示されました。
こちらはSDK7.42.0でSDKの組み込み手順が変更になってInfo.plist ファイルに、GADApplicationIdentifier キーと AdMob App ID の文字列値を追加するようになったためなので、公式サイトのように変更します。
App ID は AdMob の管理画面で確認できます。
SDKイニシャライズ時の警告
このようにSDKをイニシャライズしていたのですが、
GADMobileAds.configure(withApplicationID: id)
コンパイル時に
'configure(withApplicationID:)' is deprecated: Use [GADMobileAds.sharedInstance startWithCompletionHandler:]
という警告が出るようになりました。
こちら公式のように変更しておきます。
GADMobileAds.sharedInstance().start(completionHandler: nil)
以上です。