[Unity]GoogleMobileAdsSDKをアップデートする際に出たエラーと解決方法

2022年2月24日(更新: 2022年2月24日)

Unity で作ったアプリ内でのAdmob等広告表示のために主に使用されるプラグインに Google Mobile Ads Unity Plugin があります。

これをバージョン 5.4.0 から最新版(6.1.2)にアップデートした際にエラーが出て色々手探りで色々行った末に解決したので、解決方法について記載しておきます。

実行環境は以下の通りです。

  • macOS Monterey
  • Unity 2021.1.6f1

現れたエラーの詳細

まず、アップデート後に現れたエラーについてまとめて記載します。

最初に出たのは Unity 上でのビルド時に発生した Cocoapods 関連と思われるエラーです。

GoogleMobileAdsSDKをアップデート後に出たCocoapods関連のエラー

これを解決すると、次に Xcode 上でのビルドを行ったときに GoogleMobileAds.h が見つからないという、以下のようなメッセージが表示されてビルドに失敗しました。

/Users/ABC/Documents/UnityProjects/ProjectName/iOS/Libraries/Plugins/iOS/GADURewardedInterstitialAd.h:5:9:
'GoogleMobileAds/GoogleMobileAds.h' file not found

これを解決すると、今度は GADRewardedAd がどうこうというエラーメッセージに変わり、再びビルドに失敗しました。

No visible @interface for 'GADRewardedAd' declares the selector 'initWithAdUnitID'

No visible interface for GADRewardedAd

エラーの原因と解決方法

初めはこれらのエラーが出る度に逐一対処方法を探して解決できないか試していましたが、全てはアップデートの際に必要なある手順を行っていないことが原因でした。

それは「プラグインをアップデートする前に古いバージョンのプラグインに関連するファイルを全て削除しておく」というものです。

プラグインをインポートするときに古いバージョンのものが残っていると正常にアップデートが行われない場合があります。

Unityパッケージをインポートする際に上書きされない

Unity は新しい同名ファイルがあってもデフォルトでは上書きせずに残す挙動をします。

今回はアップデート(インポート)の前に GoogleMobileAds フォルダを削除していたので大丈夫だと思っていたのですが ExternalDependencyManagerPlugins/iOS など関連する全てのフォルダ内のファイルを削除しないと上手く動きませんでした。

わざわざ Cocoapods を再インストールしたり GoogleMobileAds の削除・再インポートと Unity の再起動を繰り返したりしましたが、インポート前に古いものを削除しておくだけで良かったみたいです。

以上、GoogleMobileAdsSDKをアップデートする際に出たエラーと対処方法でした。

コメントを残す

メールアドレスが公開されることはありません。