Android版のビルド&実行手順

目次

  概要
  Android版アプリケーションの作成
  クライアントでの動作確認
  断線検知からの再接続処理


概要

「ボイスチャット機能のサンプル」をAndroid 版でビルドする場合の手順について

  ここでは、前述に述べた前準備を踏まえて、Android 版実行バイナリをビルド生成し、実行する手順について述べます。


Android版アプリケーションの作成

実行バイナリを生成する

  Scenes In Build 画面上で「OfflineSceneReconnected.unity」 「OnlineSceneReconnected.unity」の2つのシーンが登録されていることを確認します。
  登録されているのを確認したら、ビルドターゲットのプラットフォームを Android に切り替えてください。
  Androidへのターゲット切り替え(素材の変換処理)が完了するまで時間が掛かります。
  変換ダイアログに表示されているプログレスバーが完全に一杯になるまで、しばらくお待ちください。
  Androidへのターゲット切り替えが完了するとダイアログが自動的に閉じます。
  この状態で、画面左下にある [Player Settings...] のボタンをクリックしてください。
  [Player Settings...] をクリックすると、UnityEditor 側の Inspector に Android プラットフォームのプロパティ設定画面が表示されます。
  この項目中の、Other Settings 内にある Identification > PlayerSettings.bundleIdentifier の項目に対し、
  Android アプリケーションを識別するためのカスタムバンドルID を登録します。
  一般的にはドメインネーム+アプリケーション名を指定しますが、特に配信を考えなければ、任意の . 付きの文字列で構いません。
     (以下の画像では、com.monobitengine になっていますが、あくまで一例です。
      配信時には「独自のオリジナルな名前」を付けることは最低限行なっておきましょう。)
  カスタムバンドルIDの設定が終わったところで、もう一度 Build Settings ウィンドウに戻り、[Build] ボタンをクリックしてください。
  ファイル名を RandomMatchingReconnected.apk として保存します。
  しばらく待つと、新規ファイル RandomMatchingReconnected.apk が出来上がります。


クライアントでの動作確認

Android端末に apk をインストールする

  Android端末に apk をインストールします。
  事前に Android SDK をインストールされた状態で、Android SDKの platform-tools にパスが通った状態にしておき、
  コマンドラインから以下のコマンドを実行してください。
adb devices
  コマンドを実行すると、現在接続中の Androidデバイス端末のIDが表示されます。
  複数の Android デバイスを接続している場合、複数行で表示されます。
  Android デバイスにアプリケーションをインストールするには、Android デバイス側で
  「提供元不明のアプリケーション」のインストールを有効にした上で、コマンドラインから以下のコマンドを実行することで可能です。
adb -s デバイス名 install APKファイル名
  実行すると、インストール処理が開始されます。
  インストールに少々時間が掛かりますが、インストールが正常に完了すると、以下のように"Success" と表示されます。

実行バイナリとUnityエディタの両方を使って、マルチプレイ動作確認を行なう

  Android にインストールされた実行バイナリはアプリアイコンとして以下のように登録されますので、タップして実行してください。
  一方で、Unityエディタ上の実行ボタンも押します。

  実行バイナリ、Unityエディタともに以下のような画面に切り替わります。
  テキストボックスとボタンが3つ表示されます。
テキストボックス ルーム名を入力します。デフォルトで「roomName」としています。
Create Room ボタン 上記テキストボックスで入力したルーム名で、ルームを作成します。
Join Room ボタン 現在作成済みの、入室可能なルームの中から、ランダムで選択して入室します。(ランダムマッチング)
  以下、Windows版の画面で説明しますが、Android端末側でもインタフェースは一緒です。
  実行バイナリ、Unityエディタのいずれか一方で、任意の名前でルームを作成してみましょう。
  すると、もう一方で、作成したルームのルーム名と同名のボタンが現れます。
  このボタンを押すことで、該当するルームに入室することも可能です。(ルーム選択型のプレイヤーマッチング)
  また、Join Room ボタンでは、現時点で存在するルームの中からランダムに入室します。(ランダムマッチング)
  ルームを作成・入室すると、以下のような表示がなされます。
     ・ 自身のプレイヤー ID, ルーム名, 現在のルームの人数, ルーム入室の許可/拒否設定が表示されます。
     ・ Leave Room ボタンで、ルームから退室することが出来ます。
     ・ (ホストのみ) Start Game ボタンでゲームを開始することが出来ます。
  また、この段階から、ルームから離脱しない限り、同一ルームに存在するプレイヤーに対してボイスチャットを実行することができます。
  確認を終えたところで、Start Game ボタンを押してみましょう。
  UnityEditor側ではカーソルキーでSDユニティちゃんを動かすことができます。
  ただしAndroidの入力インタフェースには現時点で対応していないため、Android端末側からのSDユニティちゃんの操作は出来ません。
  ただし、UnityEditor/Androidともに、オブジェクトの位置・姿勢・アニメーション同期も取れます。
  (スクリーンショットの都合で値が違っていますが、制限時間(Rest Frame)も同期しています。)
  プレイ中に関しても、ルームから離脱しない限り、同一ルームに存在するプレイヤーに対してボイスチャットを実行することができます。


断線検知からの再接続処理

断線検知画面

  断線を検知すると、以下のようなポップアップウィンドウが表示されます。
  この時点で断線していますので、断線したルームに対するボイスチャットの機能も失われます
  「Yes」を選択すると、再接続し、切断前の状況から再開できます。再開し、同一ルームに入室処理を自動的に終えたところで、ボイスチャットが再開できます
  「No」を選択すると、切断し、最初の画面に戻ります。