アプリの有料販売は手間がかかります。放置系でやるには無料にして広告を貼るのが手っ取り早いですね。Googleの運営しているAdMob広告の設置方法を確認してみましょう。
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
GoogleMobileAds.unitypackage をダウンロードします
Unity のプロジェクトから「Assets」「Import Package」「Custom Package…」を選び
ダウンロードしたGoogleMobileAds.unitypackage を選択します
全てチェックが入ったままで「Import」します。
しばらくして AssetsのPluginsにあるiOSに以下のようにAdMobのファイル群がコピーされます。
スクリプトの作成
Googleのサポートページの情報をもとに以下のような簡単なスクリプトファイルを作成します
AdMob.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using GoogleMobileAds.Api; public class AdMob : MonoBehaviour { // Use this for initialization void Start () { // 本番では自身のアプリIDを設定します string appId = "ca-app-pub-3940256099942544~1458002511"; // Initialize the Google Mobile Ads SDK. MobileAds.Initialize(appId); this.RequestBanner(); } private void RequestBanner(){ // 本番では 自身の広告ユニットIDを設定します string adUnitId = "ca-app-pub-3940256099942544/2934735716"; // Create a 320x50 banner at the top of the screen. BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top); // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the banner with the request. bannerView.LoadAd(request); } // Update is called once per frame void Update () { } } |
広告ユニットIDの取得は AdMob ヘルプセンター から
アプリID: ca-app-pub-9999999999999~99999999 のように「〜」が間にある
広告ユニットID: ca-app-pub-9999999999999/99999999 のように「/」がある
「GameObject」「Create Empty」で空のObjectを作りこのスクリプトをドラッグ&ドロップします。
これでUnity側の設定は終わりましたので、Xcodeのプロジェクトをエクスポートします。
「File」「Build Settings」から「Scene」を選択して「iOS」にプラットフォームをスイッチして「Build」します。
これでXcode プロジェクトがエクスポートできます。XcodeへのExportは以下を参考にしてください。
Xcodeでビルド実行
Xcodeでビルドして実行しますが、以下のようなエラーになるかもしれません、
Property ‘userIdentifier’ not found on object of type ‘GADRewardBasedVideoAd *’
この場合は、Xcodeのpod repo をupdateするか削除してセットアップし直します。
1 2 |
pod repo remove master pod setup |
その後、再度UnityからプロジェクトをExportして、.xcworkspace からXcodeを起動してください。
尚、これはUnityとpluginのバージョンで差分があると思われます。
ここでのテスト環境です。
- Unity 2018.1.6f1
- Xcode 9.4.1
- Google Mobile Ads Unity Plugin v3.13.1
これでビルド実行するとAdMobが表示されます。iPhoneXのSafe Area内でうまく設定されているので助かりました。これは結構面倒なので
この設定では広告が画面上になっていますが、画面下にするには
AdPosition.Bottomにすれば広告が下に移動します
1 |
BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom); |
References:
Get Started | Google Mobile Ads SDK for Unity | Google Developers
アプリID | AdMob
AdMob ヘルプセンター