この記事は くふうカンパニー 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 登録〜再配布ツール | ○ | - | -
開発者からテスターへの通知 | ○ | ○ | ○
料金 | [参照] (https://deploygate.com/payments)| 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
を実行して追加しましょう。
以上