Androidはワンツーパンチ 三歩進んで二歩下がる

プログラミングやどうでもいい話

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リリース)

公式サイト

発生したエラー

GADInvalidInitializationException

アプリ実行時に
Terminating app due to uncaught exception 'GADInvalidInitializationException'
というエラーメッセージが表示されました。

こちらはSDK7.42.0でSDKの組み込み手順が変更になってInfo.plist ファイルに、GADApplicationIdentifier キーと AdMob App ID の文字列値を追加するようになったためなので、公式サイトのように変更します。
App ID は AdMob の管理画面で確認できます。

f:id:sakura_bird1:20190325125226p:plain:w500

SDKイニシャライズ時の警告

このようにSDKをイニシャライズしていたのですが、

GADMobileAds.configure(withApplicationID: id)

コンパイル時に
'configure(withApplicationID:)' is deprecated: Use [GADMobileAds.sharedInstance startWithCompletionHandler:]
という警告が出るようになりました。

こちら公式のように変更しておきます。

GADMobileAds.sharedInstance().start(completionHandler: nil)

以上です。