UnityでVR広告を実装してみた

VRアプリを作ろうと意気込んだはいいものの、どうやってマネタイズしようか迷っていたらVR用広告を見つけたので実装してみました。

#VR広告とは
VRでは画面を2つに分割して覗き込む形になるので、これまでのスマホ用広告は使えません。
試しに入れてみるとこんな感じになります。
![ad.png](https://qiita-image-store.s3.amazonaws.com/0/74961/cfcdc8c1-f25f-bf54-d481-d38fdf2ce4fb.png)

↑じゃなくて、こういうのがやりたかったんです。
![スクリーンショット 2016-12-02 10.46.04.png](https://qiita-image-store.s3.amazonaws.com/0/74961/095bea45-31e9-d4ad-fef7-acef2705dfdf.png)

これを実現してくれるVR用広告があったので、メモがてら記事にしてみます。

#SpeAD(スペアド)
まずは[このサイト](https://spead.jp)で登録します。
![スクリーンショット 2016-12-02 11.14.59.png](https://qiita-image-store.s3.amazonaws.com/0/74961/42a22401-38ee-2662-eeec-52ecffd86c37.png)

フォームに入力して登録すると認証メールが送られてきて、リンクをクリックするとログインできるようになりました。

#SDKをダウンロード
![スクリーンショット 2016-12-02 11.24.26.png](https://qiita-image-store.s3.amazonaws.com/0/74961/c938990b-3114-b6bc-4b17-153e3cf32901.png)
メニューの<b>SDK</b>を開くと、Unity用のSDKがダウンロードできます。
マニュアルが画像入りでけっこうわかりやすかったです。

#Unityに読み込み
Unityでプロジェクトを作成して開いた状態で、ダウンロードしたSDKを開きます。
![スクリーンショット 2016-12-02 12.33.51.png](https://qiita-image-store.s3.amazonaws.com/0/74961/619125cc-71a6-34d0-2a89-a097d1e0ec44.png)
<b>Import</b> を押して読み込みます。

![スクリーンショット 2016-12-02 12.36.12.png](https://qiita-image-store.s3.amazonaws.com/0/74961/0df9989c-0690-c35e-7012-30a9f74fbaff.png)
Assetsに<b>Donika</b>というフォルダができました。

ついでにGoogle VR SDKも読み込んでおきます。
[こちらの記事](http://qiita.com/hy3/items/4596ffde7d8ccee77f3d)でまとめられています。

#広告実装
![スクリーンショット 2016-12-02 12.43.41.png](https://qiita-image-store.s3.amazonaws.com/0/74961/80ee2eba-8c8d-91e2-c657-f22dc7b07f58.png)
/Assets/Donika/Spead/Prefabs にある <b>Ad</b>プレハブをHierarchyにドラッグ。位置調整して再生してみると。。

![スクリーンショット 2016-12-02 12.44.09.png](https://qiita-image-store.s3.amazonaws.com/0/74961/417c45aa-c5cd-9cdc-25aa-37cc23f2c71c.png)
怒られました。。MainCameraを指定するんですね。

![スクリーンショット 2016-12-02 12.46.53.png](https://qiita-image-store.s3.amazonaws.com/0/74961/78cbbf7d-edee-a4ab-b990-8cc30316d46b.png)
AdControllerとやらは見つかりませんでしたが、マニュアルに書いてあったのでそれに従って設定しました。
追加したAdプレハブを選択すると、Ad Settingsに<b>Main Camera</b>という項目が！ここにHierarchyのMain Cameraを設定。
再生してみると。。

![スクリーンショット 2016-12-02 12.49.53.png](https://qiita-image-store.s3.amazonaws.com/0/74961/e17f245b-f172-763e-b453-4b1c45a592c6.png)
出ました！ちなみにこれはテスト広告のようです。

マニュアルにEventSystemを設定するよう書いてあったので、これも設定します。
![スクリーンショット 2016-12-02 13.53.56.png](https://qiita-image-store.s3.amazonaws.com/0/74961/7aaeb3ea-13e0-d6b6-8af5-575fbe33f2ad.png)
Hierarchyで右クリック、 UI -> Event System

![スクリーンショット 2016-12-02 14.04.24.png](https://qiita-image-store.s3.amazonaws.com/0/74961/befd8e4c-7d86-a6f5-ea9d-3b371554e87c.png)
EventSystemを選択して、Inspectorで Add Component -> GoogleVR -> GazeInputModule

![スクリーンショット 2016-12-02 14.07.59.png](https://qiita-image-store.s3.amazonaws.com/0/74961/80f22ece-bf0d-db76-b74a-6accc4f37a6d.png)
GoogleVRのドキュメントにも書かれていますが、<b>Gaze Input Module を Standalone Input Moduleより上</b>にしないとUIが反応しないので要注意です！たぶんこの広告もこれ忘れると反応しないと思います。。

#アプリ登録
Ad Settingsの<b>Spot Id</b>が<b>TEST_SPOT_ID</b>といういかにも仮っぽいIDになっているので、このIDを取得する必要があるようです。
このあたりはいままでのスマホ用広告と同じですね。

![スクリーンショット 2016-12-02 13.07.04.png](https://qiita-image-store.s3.amazonaws.com/0/74961/e77b9ad1-ba9c-dd14-8539-ae78a05cff41.png)

サイトにログインして、<b>広告枠</b>メニュー。
アプリ追加でフォームに記入して登録すると、審査中になりました。
1日ぐらいして見てみると通ってました。

ストアのURLはまだ公開していなければ入力しなくてもいいようです。

![スクリーンショット 2016-12-02 13.11.23.png](https://qiita-image-store.s3.amazonaws.com/0/74961/c73567bf-9c85-1fab-80d1-fd2ace8b2ea5.png)

<b>広告枠</b>をクリックして広告枠を追加します。
リザルト画面に置くつもりなのでタイトルは「リザルト画面」にしておきました。

![スクリーンショット 2016-12-02 13.20.28.png](https://qiita-image-store.s3.amazonaws.com/0/74961/2b7e6a82-038a-cf58-8f02-1e26200d527a.png)

<b>スポットID</b>をUnity側のさっきの <b>TEST_SPOT_ID</b> のところに設定します。

実行！

![スクリーンショット 2016-12-02 12.49.53.png](https://qiita-image-store.s3.amazonaws.com/0/74961/067283ad-4e87-ab68-2b1b-fd460553c073.png)

<b>！？</b>

どうやらUnityで再生するときは自動で開発モードになるらしく、これでいいみたいですね。
ちゃんと動いてるかどうか確認するときは<b>Log</b>をONにして、「succeed to send report」とログが出たらOKとのことです。
![スクリーンショット 2016-12-02 13.34.32.png](https://qiita-image-store.s3.amazonaws.com/0/74961/982e4328-bfdb-5ab6-d0b9-a963a465882f.png)

![スクリーンショット 2016-12-02 13.50.13.png](https://qiita-image-store.s3.amazonaws.com/0/74961/6a3fa84f-25bb-dfb9-d712-7ef287ba6ad0.png)

#Androidで実行
このままAndroidに入れて動かしてみましたが、まだ広告在庫があんまり（全然）ない？みたいですね。
まだアプリもこれから作るので、とりあえず入れておいて様子を見ます。

#おわり
公式マニュアルを見てみると他にもコールバックとか細かい機能があるみたいですが、
私のアプリで使うことになったら追記しますｗ