Ideal Reality

興味の赴くままに

‘configure(withApplicationID:)’ is deprecatedと言われた

ふと思い立ってpod updateを打ったら、AdMobのAPI仕様が変わっててこんなWarningが出るようになった。

そして、これを実行するとクラッシュする。

Get Started  |  iOS  |  Google Developers

A mobile ads SDK for AdMob publishers who are building iOS apps.

ここにはconfigureWithApplicationIDがdeprecatedになったことや、startWithCompletionHandlerについて一つも書いてない(2019/3/21現在)

けど、なんかInfo.plistにAdMob App IDを記述した方がいいって書いてあるし、アプリがクラッシュした時のエラーログにも

‘The Google Mobile Ads SDK was initialized incorrectly. Google AdMob publishers should follow instructions here: https://googlemobileadssdk.page.link/admob-ios-update-plist

とか書いてあって、このリンクを踏むとスタートガイドの"Info.plistの更新"ってところに飛ぶので、これをしろということなのだろう。

Contents
スポンサーリンク

Info.plistの更新

今まで、configureWithApplicationIDメソッドの引数に渡していたAdMob App IDを、Info.plistに記載することが必要になった。

こんな感じでGADApplicationIdentifierキーを追加し、そこにAdMob App IDを入れてやればOK

configureメソッドをstartメソッドに変える

今まで

GADMobileAds.configure(withApplicationID: "ca-app-pub-3940256099942544~1458002511")

みたいに書いていた場所を

GADMobileAds.sharedInstance().start()

こうしてやりましょう。Info.plistにApplication IDが移動したので、引数は何も取らなくなります。

スポンサーリンク

まとめ

これだけであとは今まで通り使えるはずです。

そこまで手間じゃないですね。

ただ、僕の場合Debugビルドの場合はテストID、Releaseビルドの場合は本番用IDと切り替えて使ってました。(毎回自分の端末のIDを入れるのが面倒なため)

今までswiftのソースコード上で#if, #else, #endifを使うことで簡単に分岐ができたんですが、今回Application IDがInfo.plistに記載されることになってこれが使えなくなりました。

Preprocess Info.plist fileという仕組みが使えそうなのですが、なんかまた面倒になりそうな予感。

嫌だな〜・・・

スポンサーリンク

コメント

  1. Swift5 + Xcode10.2対応 | N-BLOGΣ(゜Д゜)カッ!
    2019年7月6日 8時46分
    返信

名前

メールアドレス(任意)

コメント

関連する投稿

SwiftのDecimal(string:)がどれだけ使えるか試してみた

[SwiftUI]List内のButtonやLinkのデザインをNavigationLinkっぽくする方法

NO IMAGE

SwiftUIでUISwipeGestureRecognizerを使ってスワイプを検出する

[SwiftUI]EnvironmentObjectをウィンドウごとに別々のインスタンスにしたい

[iOS, Swift]で画面回転時のアニメーションを無効化する

iOS13でViewController上部の隙間をなくす