CrashlyticsのBeta Distributionを使って開発中のアプリを配信する

こんにちは、Androiderの梅津です。

前回の記事でCrashlyticsを導入しました。
今回はCrashlyticsの機能の一つであるBeta Distributionを使い方を紹介したいと思います。 

Beta Distributionとは
Beta Distributionはリリース前の開発中アプリをテスターの人達に配布する機能です。
似たようなものにDeployGateやTestFlightなどがあります。

Betaはマルチプラットフォームに対応しているのでAndroidだけでなくiOSアプリの配布も行えます。
しかも無料で使えるのが嬉しいところです。

Crashlyticsを入れている状態であれば、Betaを使うのは比較的簡単です。
さっそく使い方を見ていきましょう。
グループの作成
はじめにテスターのグループを作っておきましょう。
Fabricのダッシュボードに行き、サイドバーにあるBetaのアイコンをクリックします。
するとManage Groupsというのが出てくるので、これをクリックします。
56
Group name... となっているところに適当なグループ名を入れます。
また、Add Testers... となっているところにテスターのメールアドレスを入れていきます。 
ここで入力するメールアドレスはAndroid端末で受信できるものにしておきましょう。 

18
入力が終わったらバツボタンを押して閉じましょう。
グループの作成はこれで終わりです。

apkの配信
次にAndroid Studioを起動し、ツールバーにあるFabricのアイコンをクリックして次のような画面を開きます。

02
 
電源マークを押してログインすると、Kitの選択画面やアプリの選択画面になると思いますが
ここでは気にせずbackを押して戻っていきます。

戻り続けていくと次のような画面になります。

16

配信したいアプリ名のところをクリックしましょう。

するとCrashs, Non-fatals, Distributionsと3つの項目を選べるようになります。
Distributionsを選択して、ここにapkをドラッグ&ドロップします。

27

apkは大抵の場合 [ProjectRootDir]/app/build/outputs/apk/ 以下にあるので、こいつを使いましょう。

apkをドラッグ&ドロップした後は、配信先のテスターを選びます。
今回は先ほど作成したテスターのグループを選択することにします。

36

テスターを選択した後は、リリースノートを入力します。
これはオプションなので何も入れなくても構いません。

49

リリースノートの入力が終わったらDistributeボタンを押してアプリを配信します。

14

これでアプリの配信が完了しました。

配信されたアプリを起動する
テスターとして登録したメールアドレスにメールが来ているはずなので確認してみましょう。

device-2015-11-25-151603

Let Me InをタップしてBetaアプリのインストール画面へ行きます。

device-2015-11-25-151643

Downloadをタップして、Betaアプリのダウンロードとインストールを行います。
提供元不明のアプリのインストールを許可していない場合、次のようなダイアログが表示されます。

device-2015-11-25-172919

端末の設定から、一時的に提供元不明アプリのインストールを許可しましょう。

インストールしたBetaアプリを起動します。
最初の起動ではテスター自身の名前入力を求められます。

device-2015-11-25-151810

名前を入れ終わると配信したアプリのインストールページになります。
DOWNLOADを押して、配信アプリのダウンロードとインストール行います。

device-2015-11-25-151914

インストールが終わるとLAUNCHボタンに切り替わるので起動してみましょう。

Gradleのタスクを使って配信する
apkの配信からテスターによるアプリの起動まで確認ができました。
ただ、配信をするたびに毎回apkをドラッグ&ドロップするのは面倒くさいですよね。

実はapkをアップロードするためのGradleタスクが存在します。
Debugビルド時は crashlyticsUploadDistributionDebug
Releaseビルド時は crashlyticsUploadDistributionRelease を使います。

コマンド例
./gradlew assembleDebug crashlyticsUploadDistributionDebug
./gradlew assembleRelease crashlyticsUploadDistributionRelease
さらにリリースノートやテスターの指定もできます。
これらの指定はapp/build.gradleのbuildTypesの中で行います。
    ...
    
    buildTypes {
        debug {
            ext.betaDistributionReleaseNotes = "新しい機能を追加しました!"
            ext.betaDistributionGroupAliases = "beta-tester"
        }
    }
}
グループのエイリアスは Fabricダッシュボード -> Manage Groups -> グループ名の下の Alias: から確認できます。 

詳しくはこちらを参照してください。
Distribution with Gradle

あとはコマンドを叩けばapkの配信が行われます。
だいぶ楽になりましたね。

まとめ
apkを配信する側もテスター側も、そんなに難しい作業はなかったと思います。
Crashltyticsを導入している、もしくは導入を考えているようであれば、一緒にBeta Distributionの利用も検討してみては如何でしょうか。

以上でBetaの使い方の紹介を終わります。
お疲れ様でした。