Androidアプリを作ってますが、無料で出している代わりに広告をつけさせてもらってます。
お世話になっているのはnendさん
Unityで作ったゲームにもnendさんの広告が入れるそうなので、チャレンジしてみました。
そのときの備忘録。ちなみに、UnityはもちろんFreeな無料版
広告用のUnityプラグインをインストールして、広告を表示させる
- 下記のURLからUnityプラグインをダウンロードします。
- ダウンロードしたZipファイル(nendSDK_Unity_Plugin-1.1.1.zip)を解凍
- 中に入っているプラグイン(nend_unity_plugin-1.1.1.unitypackage)をUnityにインストール
- AssetsのPlugins配下にNendディレクトリが作成されます
あとは、NendディレクトリにあるNendAdBannerやNendAdIconを使えば、広告が表示されます
詳しい使い方は同梱されているPDF(nendSDK_Unity_Plugin-1.1.1_Guide.pdf)に書かれているので参考に
Unity上でAndroidアプリのビルドを完結させる
zipファイルに同梱されているPDFガイドを見ると、
- UnityからProjectをExportして、
- GooglePlayServiceのjarにパスを通したり、
- AndroidManifest.xmlを修正するように
と書いてある
めんどくさいので、ごにょごにょしたらUnityだけでapkをビルドできた
1. GooglePlayServiceのjarを配置
Assets/Android配下にjarをおいておくと、Unityがビルド時に組み込んでくれるらしい
nendのプラグインもここにおいてあったりする
本体のjarはAndroid SDK Managerで「Extras/Google Play services」をインストールすると手に入る
場所は「【AndroidSDKのインストール先】\extras\google\google_play_services\libproject\google-play-services_lib\libs\google-play-services.jar」
ここのjarをAssets/Androidディレクトリ配下に配置すればOK
2. res/values/version.xmlの配置
Google Play serviceのjarと同様に、Google Play serviceのバージョン番号を記載したversion.xmlを用意しないといけない。
これも、1.と同様にコピペでOK
コピー元は「【AndroidSDKのインストール先】\extras\google\google_play_services\libproject\google-play-services_lib\res\values\version.xml」で、
コピー先はAssets/Android配下の「res/values」の中へ。「res/values」はないと思うので、ディレクトリを2個作らないといけない。
3. UnityのAndroidManifest.xmlのテンプレ修正
UnityにはAndroidアプリを作るためのテンプレが用意されている。
Andoridでビルドするときには、テンプレをベースにしているが、
ベースのテンプレだと、nendの広告をタッチしても広告に飛ぶことができない。
なので、PDFのガイドには、AndroidManifest.xmlの修正手順が書いてある。
しかし、テンプレ自体を修正すれば、ビルドごとに修正よくなるので、やってみた。
テンプレの置き場は、下記の場所。
- 【Unityのインストール先】\Editor\Data\PlaybackEngines\androidplayer\AndroidManifest.xml
このAndroidManifest.xmlをガイド通り修正すればOK。
具体的には、28行目を下記のように修正する
- <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" /> + <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
4. UnityのPlayer Settingsで設定してビルド
最後にUnityのPlayer SettingsでInternet Accessを有効(Require)にすれば、設定は完了。
これで実機テストすれば、広告が表示されて、タッチすれば広告にも飛べるようになる。
nendで広告を表示するときの注意点
nendのプラグインを使っていてハマった点をメモっとく
- シーンを移動しても自動で消えたりしない。
描画の処理が別な感じのためか、シーンを移動しても勝手に消えず、表示されたままだった。。。
なので、
- 移動時にnendのスクリプトを持つオブジェクト自体をDestoryするか
- オブジェクトに対し、GetComponent(NendAdBanner).Hide()で非表示にしないといけない
- 広告の位置はScriptのGravityオプションで設定する
位置をTransformのXYZで調整しても、変更されなかった。
広告の表示位置は、Gravityで設定するお作法のよう。
参考にしている書籍
ネットだけでも情報がたくさんあるけど、体系的に理解するにはやっぱり書籍だな~と
いつもかたわらに置いてある書籍たち

Unityによる2Dゲーム開発入門 ~プログラミング初心者がゲームを公開する最短コース
- 作者: 中島安彦
- 出版社/メーカー: 技術評論社
- 発売日: 2014/04/09
- メディア: 大型本
- この商品を含むブログ (4件) を見る

Unityではじめる2Dゲーム作り徹底ガイド スマートフォンでも遊べる本格ゲーム開発に挑戦
- 作者: 大野功二
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/10/29
- メディア: 単行本
- この商品を含むブログ (1件) を見る

ゲーム作りのはじめかた Unityで覚える企画からレベルデザインまで
- 作者: あすなこうじ
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2014/06/30
- メディア: 単行本
- この商品を含むブログ (5件) を見る