AdMobをUnityで作っている小物アプリに導入しようとしてハマってしまったので誰かのためにと導入手順を残しておきます。
まずはSDKのダウンロード
これをしないと始まらないので日本語公式マニュアル(諸悪の根源)の少しスクロールしたところにある「プラグインをダウンロード」をクリック。
そうするとGitHubのページに飛ぶので最新バージョン(記事作成時点ではv3.0.4)のGoogleMobileAds.unitypackage
をダウンロード
Unityへインポートする
Unityを起動してAssets->Inport Package->Custom Package...
を選択して先にダウンロードしたファイルをインポート
Android用に設定
ここからの手順ですが日本語公式マニュアルには
プラグインを使用するには、Google Play 開発者サービス ライブラリをプロジェクトに含める必要があります。
とありますが、罠です。
というのも
/extras/google/google_play_services/libproject/google-play-services_lib/ フォルダ全体を Unity プロジェクトの Assets/Plugins/Android フォルダに追加します。
とありますが、最新Verだとこのフォルダは降ってきません。
じゃあどうするのか?
Ver3.0.0から同梱されているPlayServicesResolverを使います。(なんでこれ使うように記述修正してないんだ)
PlayServicesResolverを使う
このパッケージ自体はSDKのパッケージに含まれているのでAssets -> Google Play Services
という項目が増えているはずです。そこにあるResolve Client Jars
を実行することで依存関係を含めて必要なファイルがAssets/Plugins/Android
内に追加されます。
なお同じメニュー内にSettingの項目がありその中にEnable Background resolution
という項目が存在し、これがONだと自動で追加してくれるらしいのですが・・・ビルド前に手動でやる方が良いかもしれません。(少なくとも私の環境ではうまく動いてなかったし)
最後に
ここまでくれば後はManifestファイルをAdMob以外でも使っているなら、<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
を追加したりしてからビルドをしてみると途中で止まるということは無いはずです。