UnityCloudBuildでアプリの共有を行う

# 概要
面倒なをIPAファイル作成(iOS)やAPKファイル作成(Android)を自動で行ってくれる新サービス「UnityCloudBuild」を使ってみたので、最新版の画面構成をもとに使用例や構築方法等を備考録として残します。
とても便利なサービスなので個人的にはもっと広まってくれるといいなと思います。  
[UnityCloudBuild]
https://unity3d.com/jp/services/cloud-build
# 前提
- 2016/10/08時点の情報です。
- iOSの共有にはApple Developer Program(年間$99)とMacが必要です。  
http://cly7796.net/wp/other/register-the-ios-developer-program/
- UnityCloudBuildの利用には最低限のgitに関する知識が必要です。
- UnityCloudBuildの利用の前にリモートリポジトリの作成が必要です。
- UnityCloudBuild無料版(Unityの無料アカウント)では、自動ビルドの待ち時間が数時間かかることがあります。

# UnityCloudBuildの構築(共通編)
1. はじめてUnityCloudBuildを使う時はまだプロジェクトが作られていない状態からはじまりますので、まずはプロジェクト作成から行います。
2. ゲームアプリ1つに対してプロジェクトが1つ必要になるので、まずは「新しいプロジェクトを作成」を選択してプロジェクトを作成します。
組織名は自分のアカウントにします。
3. 次にリモートリポジトリが置いてあるサーバーのURLを入力します。
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/d4900d43-3af8-f538-e86b-884c221fd2d8.png)
4. UnityCloudBuildのSSH鍵をgitHubやbitbucket等の自分が使用しているサービス側に登録します。
5. UnityCloudBuildで自動ビルドしたい対象を選択します。  

# UnityCloudBuildの構築(Android編)
1. 基本情報設定（※各項目は今後の変更も可能です。）
    - ラベル：該当のビルドが何のビルドかを示すための名前です。デフォルト名でも大丈夫です。
    - ブランチ：どのブランチにプッシュされた時に自動ビルドを行うのかを選択することができます。
    - プロジェクトサブフォルダ：Unityのプロジェクトファイルがルート直下にない場合は、フォルダ名を指定します。  
      例)下記のようなフォルダ構成になっている場合は、「hogehoge(ProjectFile名)」のフォルダ名と同名を入力し、最後に/を付けます。   
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/7079a489-18c3-e008-85c2-f5b0ed353ff6.png)  
    - Unityバージョン：デフォルトで大丈夫です。
    - 有効：デフォルトで大丈夫です。
    - 自動ビルド：デフォルトで大丈夫です。  
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/d46e8115-fae7-d5c9-06ad-062059f5499c.png)

2. 署名済み証明書（※各項目は今後の変更も可能です。）
    - BundleID：Unity画面内のPlayerSettingsで設定するcom.などが付いていたアレを入力します。説明は省略。
    - Auto Generated Debug Keystore：デフォルトでも大丈夫です。  
    ![image](https://qiita-image-store.s3.amazonaws.com/0/93944/4b4b7c41-ed00-3e3e-1edb-fe16fe9467cc.png)


# UnityCloudBuildの構築(iOS編：iOSの設定は"かなり"大変です。)
1. 基本情報設定（※各項目は今後の変更も可能です。）
    - ↑のAndroidとほぼ同じです。ラベルのところのみAndroid用にします。
2. 署名済み証明書（※各項目は今後の変更も可能です。）
    - BundleID：Unity画面内のPlayerSettingsで設定するcom.などが付いていたアレを入力します。説明は省略。
    - Xcodeバージョン：デフォルトで大丈夫です。
    - iOS資格情報設定：「Add new provisioning credentials」を選択します。。
    - 名前：自分のプロジェクトに適した名前を入力します。
    - モバイルプロビジョニングファイル：下記サイトを参考に作成。
    - p12File：下記サイトを参考に作成。
    - p12ファイルのパスワード：p12Fileを作成した時にパスワードを指定した場合はそのパスワードを入力します。パスワードを入力しなかった場合は、空欄で大丈夫です。

# p12Fileとp12ファイルの作成方法
http://blog.naichilab.com/entry/2015/09/09/074800
こちらのサイトがとても詳しく、2016年10月8日現在でも同様の手順で該当のファイルを作成することができました。

# アプリの共有の仕方（UnityCloudBuildを使っている人が行う作業）
1. 共有したいビルドバージョンの共有をクリックします。
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/ede8c32f-b522-d61a-4e55-7367597c2bed.png)
2. アプリ共有用のURLやQRコードが表示されるので、それを共有したい人に教えます。  
※iOSの場合は、UnityCloudBuild(iOS)設定時のProvisioning profileに含まれているUUIDの人へしか共有することはできません

# アプリのインストールの仕方（URLやQRコードを受け取った側が行う作業）
- URLを共有された場合
    1. URL先へ飛び、「Install」を選択します。するとホーム画面にアプリがインストールされます。
- QRコードを共有された場合
    1. QRコードを読み取ります。
    2. URL先へ飛び、「Install」を選択します。
    3. [If you chose to install the app it should now be downloading on your home screen.]という表示がでてくるのでOKをタップします。するとホーム画面にアプリがインストールされます。  
    ※一部QRコードリーダーにおいて、上記フローではインストールできないことがありました。  
「フレームの読み込みが中断しました。」等のエラーが発生し、ホーム画面にアプリがインストールされていない場合は、別のQRコード読み取りアプリを試してみてください。  
「QRコードリーダー for iPhone」では上記操作でインストールできました。

# UnityCloudBuildの自動ビルドができない問題（UnityCloudBuildを使っている人が行う作業）
ビルド内容が同じであっても成功したり、失敗したりすることがあります。
数回連続で失敗したと思ったら急に成功するようになることもありました。
まだ安定していない(？)ことが原因かもしれないので、エラーが出てもすぐには気にしなくて大丈夫そうです。
もしエラーが発生した場合は「すべてクリーン」を試してみてください。
![image](https://qiita-image-store.s3.amazonaws.com/0/93944/e293f122-931e-8ca4-a45f-b3f3d45ad570.png)

# その他
- 現在の最新版UnityCloudBuildと画面構成や操作方法等が若干違いますが、とても参考になりました。
    - http://blog.naichilab.com/entry/2015/09/10/084800
    - https://www.youtube.com/watch?v=W6QNpT2aXik