[Unity] AdMob広告をiPhoneアプリに貼る

アプリの有料販売は手間がかかります。放置系でやるには無料にして広告を貼るのが手っ取り早いですね。Googleの運営しているAdMob広告の設置方法を確認してみましょう。
 
admob-ios_01

Unity 2018.1
Xcode 9.4.1

 




Google Mobile Ads Unity Plugin

 
AdMobだけではありませんが仕様がちょこちょこと微妙に変わります。基本的なところは変わらないので、画面のデザインの違いがあってもご勘弁ください。
 

 

PluginのImport

 
GoogleのページにあるAdMobの設定方法 Get Started これに沿って進めていきます。
 
最初にGoogle Mobile Ads Unity Plugin が必要なので以下のサイトからダウンロードしてください。2018/7 v3.13.1 が最新ですが、バージョンによる差分があります。
PlugIn Download
 
admob-ios_02
 
GoogleMobileAds.unitypackage をダウンロードします
Unity のプロジェクトから「Assets」「Import Package」「Custom Package…」を選び
 
admob-android_03
 
ダウンロードしたGoogleMobileAds.unitypackage を選択します
 
admob-android_04
 
全てチェックが入ったままで「Import」します。

しばらくして AssetsのPluginsにあるiOSに以下のようにAdMobのファイル群がコピーされます。

admob-ios_02

 

スクリプトの作成

 
Googleのサポートページの情報をもとに以下のような簡単なスクリプトファイルを作成します
 
AdMob.cs

 
広告ユニットIDの取得は AdMob ヘルプセンター から
 
アプリID: ca-app-pub-9999999999999~99999999 のように「〜」が間にある
 
admob-ios_04
 
広告ユニットID: ca-app-pub-9999999999999/99999999 のように「/」がある
 
admob-ios_05
 
「GameObject」「Create Empty」で空のObjectを作りこのスクリプトをドラッグ&ドロップします。
 
admob-android_08
 
これでUnity側の設定は終わりましたので、Xcodeのプロジェクトをエクスポートします。
「File」「Build Settings」から「Scene」を選択して「iOS」にプラットフォームをスイッチして「Build」します。
 

 
これでXcode プロジェクトがエクスポートできます。XcodeへのExportは以下を参考にしてください。

アプリをMac上で確認した後は、iPhone実機にダウンロードしてテストをしてみます。Unity からはXcodeのプロジェクトが出力され、...
 

Xcodeでビルド実行

 
Xcodeでビルドして実行しますが、以下のようなエラーになるかもしれません、
 
Property ‘userIdentifier’ not found on object of type ‘GADRewardBasedVideoAd *’
 
この場合は、Xcodeのpod repo をupdateするか削除してセットアップし直します。
 

 
その後、再度UnityからプロジェクトをExportして、.xcworkspace からXcodeを起動してください。
 
admob-ios_03
 
尚、これはUnityとpluginのバージョンで差分があると思われます。
ここでのテスト環境です。

  • Unity 2018.1.6f1
  • Xcode 9.4.1
  • Google Mobile Ads Unity Plugin v3.13.1

これでビルド実行するとAdMobが表示されます。iPhoneXのSafe Area内でうまく設定されているので助かりました。これは結構面倒なので
 
admob-ios_01
 
この設定では広告が画面上になっていますが、画面下にするには
AdPosition.Bottomにすれば広告が下に移動します
 

 
 
References:
Get Started | Google Mobile Ads SDK for Unity | Google Developers
アプリID | AdMob
AdMob ヘルプセンター