何も知らない状態からVRテストアプリをAndroidで動かした時のメモ




スキャッタースキャッター。
大変にダウンロード数は不調ですが、
一部の方に楽しんで頂けただけでも大変光栄です。
iOS版よりもAndroid版の方がダウンロード数が順調です。
月間無料新着ランキングでは43位を頂きました。(2015/10/15現在)
はい。どうでも良いですね・・・

スキャッタースキャッターのAndroid化に向けて、
まずAdmobとCardboardSDKを同時にやって、
Androidで出力できるか試してみました。

■やりたかった事
UnityからのAndroid用のapkファイルを書き出す。
apkファイルをAndroidにインストールして動作させる。
あわよくばAdmob広告も表示させる。
あわよくばVRもやってみる。

■結果
AndroidにUnityで構築されたVRテストアプリを出力できた。
Android版のスキャッタースキャッターも公開する事ができた。
広告はプログラムで組み込んだが、まだ表示されていない。

2015/10/15 追記:広告のID設定に問題がありました。
広告が出ないのはUnity側のID設定に誤りがあった為で、
ID設定をちゃんとAdmobのものに設定を行った所、
無事に広告が画面下部に表示されました。
(愚かな私は、Adsenseの広告IDをセットしておりました。)

■使ったもの
android-studio-bundle-141.2288178-windows.exe
jdk-8u60-windows-x64.exe
GoogleMobileAds.unitypackage
cardboard.jar
libprotobuf-java-2.6-nano.jar

■GoogleMobileAds.unitypackageをUnityで使う為に、AndroidStudioをインストール
・JDKをインストールする
・AndroidStudioをインストールする
・Admobプラグインを入手する

■AndroidStudio側で作業 (Google Play Servicesをインストールする)
・AndroidStudioを起動してSDKManagerボタンを押して起動する
・System Setting->Android SDKのSDK Toolsタブに移動する
・Google Play services, rev 27にチェックを入れる
・OKを押す
・ダウンロードされたフォルダの中身をコピーする
隠しファイルになっている場合は隠しファイル属性を解除する。

–DefaultPath–
C:Users[ユーザー名]AppDataLocalAndroidsdkextras
googlegoogle_play_serviceslibproject

コピーするフォルダ:google-play-services_lib
※OSによってAndroid SDK保存場所が異なります。

■Unity側の作業
・Asset->Plugins->Androidに先ほどコピーしたフォルダを貼り付ける。

下記のサイトにてAdmobを利用する際のスクリプトの書き方などの方法が
詳しく、そして分かりやすく解説されています。

[参考サイト] じーにあす様
じーにあす様

■参考にして実施した内容
AdMobManagerScriptをMonoDevelopで作成し、ScriptsフォルダをAsset内に作る。
作成したAdMobManagerをEmptyのGameObjectにスクリプトで貼り付ける。
貼り付けたスクリプトにAdMobの広告IDをセットする。

■UnityでのAndroid向けパッケージのImport(GoogleCardBoard SDKのサンプルを利用)
こちらのサイトを参考にして、GoogleCardBoardSDKパッケージをUnityにImportしました。
GoogleCardBoard SDK

■Unityからの書き出し設定
・build settings->Add Currentでゲーム化するシーンを追加
・Androidを選択し、Buildボタンを押す
・apkファイルを保存する場所を下記のSDKの場所を指定する。
・C:Users[ユーザー名]AppDataLocalAndroidsdk
sdkのルートフォルダを上記と同じフォルダに設定する。
.apkファイルが上記指定したフォルダに生成されたらOK。

//apkファイルをAndroid端末にインストールする
作成された.apkファイルをgmailに添付して送信。

//Android端末でGmailを受信、apkファイルをインストールする。
サイズ容量が大きい場合は、ダウンロードしてからインストールする。

//ダウンロードされたファイルをインストールする。
セキュリティ設定で信頼のないファイルを開けるように設定しておく。(自己責任)

//インストールしたアプリを起動する。
Androidを横にするとVR用の2分割画面が表示される。

■出力結果
cardboard1

3台のAndroid端末で起動テストを行いましたが、
嫁に泣きついて借りたSOL24のみ動作確認しました。もしかしたらCardBoardSDKがAndoidバージョンによっては
動作しないか単純にスペック不足かもしれません。

・MEDIAS X N-07D(X):インストールの際に容量不足と警告されてインストールすら出来ず・・・・
・AQUOS PHONE SERIE SHL23:インストールOK Unityロゴは出る。起動後にアクオスの初期ロード画面が出る。Androidが再起動?。原因不明
・SOL24:動作確認済み。ローテーションも問題なし。

■課題
SOL24でもボス戦時や乱戦時に処理落ちする事がある。
ゲームが重い事象を改善する必要がある。