31
10

More than 3 years have passed since last update.

Android / iOS アプリのテスト配布サービスあれこれ(DeployGate、Firebase App Distribution、Bitrise)

Last updated at Posted at 2019-12-05

この記事は くふうカンパニー Advent Calendar 2019、5日目の記事です。

くふうグループの Da Vinci Studio では、さまざまな Android / iOS アプリの開発やサポートを行なっています。
そしてふだんから複数のサービスを使ってテスト配布しているので、それぞれのサービスについての感想と使用例を書きます。

1. DeployGate
2. Firebase App Distribution
3. Bitrise(の配布サービス)

1 と 2 は fastlane を使ってアップロードしています。3 は Bitrise のデプロイステップを使っています。
また、最後におまけで Bitrise で Firebase App Distribution についても書いています。

DeployGate

感想

  • 日本語で説明されていてわかりやすい
  • テスター向けの説明も日本語でサポートしやすい
  • iOS でデバイスが追加されたとき、UDID 取得から登録、再配布までの手順が簡単(dg コマンドラインツール が便利)
  • 同じ配布ページでアップデート版を続けて配布できる(テスターに見てほしい特定のバージョンを開発者が指定できる)
  • アップロード先に複数の配布ページを指定できるので、開発者用とテスター用で出し分けられる1
  • テスターがアプリをインストールしたときなどに通知を受信できる(サポートするときに便利)
  • 料金はグループ開発向けプランだと最低でも 10,000円 / 月(税込)、それでも使っていきたい

使用例: fastlane を使うとこんな感じ

Fastfile でレーンを設定
  build_app(...)
  deploygate(
      api_token: ENV["DEPLOYGATE_API_TOKEN"],
      user: ENV["DEPLOYGATE_USER"],
      message: "メッセージ",
  )

詳しくは、https://docs.deploygate.com/docs/fastlane をご覧ください。

ENV["DEPLOYGATE_API_TOKEN"]ENV["DEPLOYGATE_USER"].env ファイル に設定しています。

Firebase App Distribution

感想

  • 日本語で説明されていてわかりやすい
  • テスター向けの説明は英語だが、開発者がリリースノートを工夫すれば何とかなる
  • iOS でデバイスが追加されたとき、UDID を取得して開発者に通知する(その後は手動)
  • Android / iOS アプリ開発ではたいてい Firebase を使うのでなるべく統一したい
  • 今のところ 0 円だが料金はよくわかっていない
  • まだベータ版なので今後に期待

使用例: fastlane を使うとこんな感じ

fastlane プラグインをインストール
$ fastlane add_plugin firebase_app_distribution
Firebase CLI をインストール
$ curl -sL firebase.tools | bash
Fastfile でレーンを設定
  build_app(...)
  firebase_app_distribution(
      app: ENV["FIREBASE_APP_ID"],
      release_notes: "リリースノート",
      groups: "dvs" # 作成したグループのエイリアス
  )

詳しくは、
Android: https://firebase.google.com/docs/app-distribution/android/distribute-fastlane
iOS: https://firebase.google.com/docs/app-distribution/ios/distribute-fastlane をご覧ください。

ENV["FIREBASE_APP_ID"].env ファイル に設定しています。

Bitrise(の配布サービス)

感想

  • Bitrise で Deploy to Bitrise.io ステップを使うとそのまま配布準備ができるので簡単
  • 日本語に対応していないのでテスターにとってはわかりづらい
  • 料金は Bitrise の利用料に含まれるので、Bitrise を使っていれば気にならない

使用例

Bitrise で Deploy to Bitrise.io ステップを設定し、テスターを Team に登録します。
(テスターに登録しなくても公開インストールページからの配布もできます。)

詳しくは、
Android: https://devcenter.bitrise.io/jp/deploy/android-deploy/deploying-android-apps/
iOS: https://devcenter.bitrise.io/jp/deploy/ios-deploy/deploying-an-ios-app-to-bitrise-io/ をご覧ください。
また iOS デバイスの登録は、 https://devcenter.bitrise.io/jp/testing/registering-a-test-device/ をご覧ください。

まとめ

DeployGate Firebase App Distribution Bitrise
開発者向け日本語説明 -
テスター向け日本語説明 - -
(iOS)UDID 取得 2
(iOS)UDID 登録〜再配布ツール - -
開発者からテスターへの通知
料金 参照 Firebase 利用料 Bitrise 利用料

[おまけ] Bitrise で Firebase App Distribution

Firebase CLI をインストールするステップを追加

https://firebase.google.com/docs/cli?hl=ja#install-cli-mac-linux にて「CI/CD 環境での自動デプロイ」は自動インストールスクリプトが推奨されているので、そのとおり設定します。

$ curl -sL firebase.tools | bash

Bitrise ではこのスクリプトステップを追加するだけで実行できました。

+ curl -sL firebase.tools
+ bash
-- Checking for existing firebase-tools on PATH...
Your machine already has firebase-tools@]0;Firebase CLI7.8.1 installed. Nothing to do.
-- All done!

[最後に] つまずきそうなところ共有

Error: App Distribution could not find your app x:xxx:xxxx:xxx. Make sure to onboard your app by pressing the "Get started" button on the App Distribution page in the Firebase console: https://console.firebase.google.com/project/_/appdistribution

これはたぶん Firebase コンソールで App Distribution を「開始」していません。Firebase コンソールの App Distribution ページに移動し、アプリを選択して「開始」しましょう。
そうでない場合は、アプリ ID が違うかもしれません。Settings 全般 のマイアプリで確認して合わせましょう。

[!] Could not find action, lane or variable 'firebase_app_distribution'. Check out the documentation for more details: https://docs.fastlane.tools/actions

これはたぶん fastlane の App Distribution プラグインを追加していません。$ fastlane add_plugin firebase_app_distribution を実行して追加しましょう。

以上

31
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
10