antique-appです。
新作アプリが9割方完成したので、1作目同様Admobを導入しようとしたのですが、予想外のエラーに遭遇してしまいました。
基本的に、Admobの公式リファレンスや「Unity AdMob iOS」などで検索した時に上位に出てくるサイトを参考に導入を進めていたのですが、実機でテストを行う際に以下の画像のようなエラーが出てしまいました。
Googleでいろいろと調べてみたところ、どうやらSDK関連のエラーであるということはわかりましたが、どうしても原因がわからず3日くらい頭を悩ませました。
Contents
「Unity Thread 1: signal SIGABRT」
「Unity UIApplicationMain(argc, argv, nil, [NSString stringWithUTF8String: AppControllerClassName]);
「Unity libc++abi.dylib: terminating with uncaught exception of type NSException」
など、思いつく限りのワードで検索を続けたところ、解決方法をズバリ指摘してくれている神記事にたどり着くことができました。
どうやら、Google Mobile Ads SDK version 7.42.0からは、UnityからXcodeのファイルに書き出したあと、ビルドする前にInfo.plistファイルを開き、GADApplicationIdentifierの項目にAdMobで取得した自身のアプリIDを記載しておかなければ上記のエラーが起こってしまうようです。
一応、自分のような超初心者向けにやり方をUnityにAdMobを導入する手順をまとめておくと、以下のようになると思います。
- AdMobアカウントを作成、アプリID・広告ユニットIDを取得
- CocoaPodsをインストール
- Google Mobile Ads Unity Pluginをダウンロードし、Unityのプロジェクトにインポート
- 広告表示のスクリプトを書く
- iOSビルド向けに書き出し、Info.plistファイルについて上記の修正を行う。
- .xcworkspaceの方のXcodeファイルからビルドを行う。
以上です。
私にもっと検索力があれば3日も悩まずに済んだのですが、、、
やはりプログラミングで最も大事なのは検索力だと痛感しました。
それでは。