DeploygateでケーブルレスなAndroidアプリ開発
会社で使ってて便利なので簡単に紹介。
私は開発者ではなくPMの立場(開発してないが確認をする)として使ってます。
Deploygate
株式会社ミクシィの提供するAndroid向けプライベートアプリ配布サービスです。
公式はこちらDeployGate - An incredibly easy way to deploy apps in development!
スマートフォン向けアプリのプライベート配信プラットフォーム
ストア公開前のアプリを瞬時に端末へ配布。
アップデート、ログ収集、すべてをワイヤレスでリアルタイムに。
前提としてAndroid開発時の作業
Androidアプリは、基本的にEclipseを使って開発を行い、USBケーブルを使ってAndroid端末にアプリをインストールしながら動作確認をします。*1
開発初期や、開発者のみのときは、USBケーブル繋いでてもいいんですが、実際にアプリを使ってもらったり、動作確認をしてもらうときに、わざわざUSBケーブルをつないで、アプリをその人の端末に入れてあげないといけません。または、Web上にアップロードして、直接URLなどをたたいてもらってインストールしてもらいます。
クラッシュした時は、USBケーブルを端末につないで、ログを遡って例外のStackTraceを探します。
問題点
- 実機での確認にエンジニアが介在する必要があり、テスターにテストをさせていても作業中断が発生しがち
- 対象端末、テスト端末がたくさんあると、USB抜き差しが地味に面倒
- 効率的にクラッシュ時のログを拾えない
Deploygateを使うと便利なこと
- USBケーブルをつながなくてもアプリを配布できる
- Webにアプリ(apk)上げるよりも安全
- 以前のバージョンのアプリもインストール可能
- 以前のバージョンが入れられるということはアップデートのテストもやりやすい
- クラッシュ時の情報収集がらくちん
- 月額とはいえ、Proでも4000円弱/月という低価格。企業なら高いからダメとはまず言われない(と思う)
USBケーブルをつながなくてもアプリを配布できる。
各端末に開発者がアプリを入れなくてよくなります。Deploygateにアプリをアップロードすれば、アプリを利用可能なアカウントでDeploygateアプリが入っている端末に通知が飛び、インストールを促すことができます。
PMや関係者に「あのアプリの最新版入れてよ」ってエンジニアが作業を中断されなくなります。「エンジニアが休んでて、今アプリ入れられない」という状況も避けられます。
Webにアプリ(apkファイル)を上げるよりも安全
USBケーブルをつながなくてもよいように、Web上にアプリ(apkファイル)を上げることもできますが、ベタで置く訳にも行かず*2、認証の設定などが必要なのと、どうしても煩雑になります。
Deploygateでは、任意のユーザにのみアプリのインストールを行わせることができます。
アプリをWebサービスにアップロードするので、案件によっては、事前に使用する確認を取りましょう。
以前のバージョンのアプリもインストール可能
同じアプリも複数世代持っておくことができ*3、手元で簡単に入れ替えられます。
このバージョンで起きるこの現象は一つ前のバージョンでも起きるのかなどが確認しやすいです。
これもまた、エンジニアの負荷を下げられます。
以前のバージョンが入れられるということはアップデートのテストもやりやすい
前のバージョンを入れて、任意の操作をして、新しいバージョンをアップデートインストールします。普通にやろうとすると、新旧のアプリ(apkファイル)を用意して、旧バージョンをadbコマンドでインストールして、操作して、新バージョンをadbで入れて。。。と面倒です。
Deploygateなら、世代一覧のボタンを押して、好きなバージョンをインストールするだけです。開発者じゃなくても手順があれば、テストができます。
Androidの場合は、SQLiteのスキーマ変更などでアップデートのバグが出がちなので、そういった確認テストが行いやすくなります。
クラッシュ時の情報収集がらくちん
DeploygateのSDKを組み込んでおく必要*4はありますが、これだけやっておくと、Deploygate経由で配布しているアプリがクラッシュすると、Webの画面にクラッシュレポートがあがってきます。これがすごく便利で、バグの原因究明を容易にしてくれます。Androidは、普段からいろんなアプリからログが垂れ流されがちなので、クラッシュしたときのログもすぐに流れて行ってしまい、確認することが困難です。
「外で使ってたら落ちたんだけど、、、」「どうもこの位置でよく落ちる、、、」と言われても、持ってこられたときには、ログが電子の海に流れ込んで原因にたどり着けず、PCもってわざわざその場所に行くのも大変です。こんな苦労からも解放されます。
あとは、使ってもらってれば勝手にログがでるので、報告がなくても何かが起きたことはわかります。
月額とはいえ、Proプランでも4000円弱/月という低価格。企業なら高いからダメとはまず言われない(と思う)
会社でこういうサービスを導入する場合に、価格もひとつ障壁になるかと思います。(アプリの扱いとかもあると思いますが)
でも、4000円/月としても、開発者の工数単価で簡単に算出すると、
月単価60万円/20営業日/8時間勤務=3,750円/h
大体月に1時間ぐらい効率アップすれば、ペイできるので、すぐです。これなら説得しやすい。
他にもいろいろ
他もいろいろ便利な使い方があります。気が向いたらまたエントリかきます。
とりあえず、アウトプットしたかった分はこれで。
会社で使ってるので、キャプチャ持って来れないのが残念なところ。