CrashlyticsでTestFlightよりも簡単にアプリをテスターに配布する


みなさんはCrashlyticsというサービスをご存じでしょうか。
Crashlyticsとは、アプリのクラッシュを分析し、それをWeb上から可視化できるようにしたサービスです。
iTunes Connectからもクラッシュレポートは見れますが、それよりもより高機能になっています。
Twitterに買収され、日本ではグノシーをはじめ、さまざまなアプリに組み込まれています。
そんなCrashlyticsになんと **Beta Distribution** という機能が追加されました！

## Crashlytics Beta Distribution
[Beta by Crashlytics](http://try.crashlytics.com/beta/)

Crashlytics Beta Distributionは簡単にいってしまえばTestFlightやDeploygateと同じようなサービスです。
アプリのベータ版をテスターの方に配り、またその後のアプリの状態をトラッキングするためのサービスです。
Crashlyticsでは、iOSとAndroidの双方に対応しています。
これだけだと、Test Flightと全然変わりませんが、Crashlyticsの価値は以下にあります。

> The Most Seamless Beta Distribution Experience for You **and** Your Tester.

開発者だけでなく、 **テスターも**シームレスに使うことができます！
Test Flightではテスターの方にTestFlightアカウントを作成してもらう必要がありましたが、このCrashlyticsの場合は登録が必要ありません。

## Crashlyticsの導入
Crashlyticsの導入に関しては以下を参考にしてください。

* [クラッシュのレポートCrashlytics　（導入方法まで）](http://www.slideshare.net/yuuichirounishiguchi/crashlytics-24465375)
* [Crash Report解析サービスのCrashlyticsを試してみた](http://qiita.com/asakahara/items/cfa404267ed60fb21927)

この記事はどちらかと言うと既にCrashlyticsを導入している人向けです。
Crashlyticsが事前に導入されていれば、このBeta Distributionがそのまま使える（シームレス）というのが素敵ですね。
また、Crashlytics自体にクラッシュレポート機能がついているので、テスターからクラッシュレポートを受け取るのにわざわざTestFlightみたいに別途SDKを入れる必要が無いのも素敵です。

## アプリを配布してみる
では、実際にアプリを配布してみます。
ここでは、事前にCrashlyticsが導入されていて、正常に動作していることを前提にしています。

* Product -> Archive

からいつも通りアプリをアーカイブします。

![スクリーンショット 2014-07-02 21.04.39.png](https://qiita-image-store.s3.amazonaws.com/0/21397/19ac63f7-a511-31c6-04f5-c1da2574f033.png "スクリーンショット 2014-07-02 21.04.39.png")


アーカイブが終了するとこのようなダイアログが表示されます。
Distributeをクリック。

![スクリーンショット 2014-07-02 21.05.38.png](https://qiita-image-store.s3.amazonaws.com/0/21397/530cefc9-dfd8-02e3-461e-38a186bd5521.png "スクリーンショット 2014-07-02 21.05.38.png")

招待したい人のメールアドレスを入力します。
なお、このとき **Dev. Profile** に表示されているプロビジョニングファイルで署名されます（ビルド時に設定されているものが選択されるようです）。

![スクリーンショット 2014-07-02 21.05.58.png](https://qiita-image-store.s3.amazonaws.com/0/21397/6914d062-4d94-cb84-971f-06b61c47c0dc.png "スクリーンショット 2014-07-02 21.05.58.png")

リリースノートを書きます。
書き終わったら、Nextをクリック。

![スクリーンショット 2014-07-02 21.06.09.png](https://qiita-image-store.s3.amazonaws.com/0/21397/32297b6e-ac0f-9844-293f-e7d6ffd1c772.png "スクリーンショット 2014-07-02 21.06.09.png")

すると自動的にアップロードが始まり、完了したら各テスターにメールが届きます。

### Androidの場合
Androidでは、このCrashlyticsのウィンドウにapkファイルをドラッグアンドドロップするだけで完了します！

## アプリをインストールする
![写真 2014-07-02 21 08 41.png](https://qiita-image-store.s3.amazonaws.com/0/21397/617ba640-bee0-bb7f-2cb4-1763b3ad9fb5.png "写真 2014-07-02 21 08 41.png")

テスターにはこのようなメールが届きます。
Check It Outをタップ。

![写真 2014-07-02 18 36 02.png](https://qiita-image-store.s3.amazonaws.com/0/21397/e3c73571-c5a9-e7af-8a66-a7a8f583cdfb.png "写真 2014-07-02 18 36 02.png")

ここでテスターが登録する必要があるのはFull nameだけです！
面倒なIDやパスワード等は設定する必要がありません。

![写真 2014-07-02 21 10 35.png](https://qiita-image-store.s3.amazonaws.com/0/21397/4de885cf-3f9a-449d-004b-beb4a58fc056.png "写真 2014-07-02 21 10 35.png")

Nextをタップ。

![写真 2014-07-02 21 10 41.png](https://qiita-image-store.s3.amazonaws.com/0/21397/61357288-1a2b-2ad3-cdae-f70db74c2d05.png "写真 2014-07-02 21 10 41.png")

署名のインストールが完了すると、下記ページが自動的に表示されます。

![写真 2014-07-02 21 10 53.png](https://qiita-image-store.s3.amazonaws.com/0/21397/2bb1975e-4a70-4ac7-55cf-7912326c0bb7.png "写真 2014-07-02 21 10 53.png")

これでInstallをタップすればテスターへのアプリ配布が完了します！

このBeta DistributionもCrashlytics SDKを使用しているので、新しくテスター用のSDKを導入しなくてもCrashlyticsのWebからテスターのインストール状況、クラッシュ状況等すべてを監視することができます！

今回はUDIDが登録されていないデバイスが用意できなかったので、そのときの挙動を確かめられていないのですが、公式Webページを見る限り大丈夫そうです。

>Identify and resolve missing UDIDs for your testers.

## まとめ
AppleのTestFlightもちょっとガッカリな感じだったので、ベータテスト配布はCrashlytics（Fabric）が今のところのベストな選択だと思いました。