Unity+AndroidでAdMobを使う際にビルドが出来ないのを解決する

  • 9
    Like
  • 0
    Comment
More than 1 year has passed since last update.

AdMobをUnityで作っている小物アプリに導入しようとしてハマってしまったので誰かのためにと導入手順を残しておきます。

まずはSDKのダウンロード

これをしないと始まらないので日本語公式マニュアル(諸悪の根源)の少しスクロールしたところにある「プラグインをダウンロード」をクリック。2016-06-01 08.15.57.png
そうするとGitHubのページに飛ぶので最新バージョン(記事作成時点ではv3.0.4)のGoogleMobileAds.unitypackageをダウンロード

 Unityへインポートする

Unityを起動してAssets->Inport Package->Custom Package...を選択して先にダウンロードしたファイルをインポート
2016-06-01 15.53.10.png

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内に追加されます。
2016-06-01 21.17.58.png
なお同じメニュー内にSettingの項目がありその中にEnable Background resolutionという項目が存在し、これがONだと自動で追加してくれるらしいのですが・・・ビルド前に手動でやる方が良いかもしれません。(少なくとも私の環境ではうまく動いてなかったし)

最後に

ここまでくれば後はManifestファイルをAdMob以外でも使っているなら、<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />を追加したりしてからビルドをしてみると途中で止まるということは無いはずです。