毎年恒例ですが、CLR/Hさんのカソウ化イベントに参加してきました。
ありがたいことに、セッションも担当させていただきました。
(使用した資料に、各種サービスの画面を追加で張り付けたものをこちらに置いています)
今回は「Xamarinアプリ、作ったそのあと・・・」というタイトルで、
・iPhone用はMac持ってないからビルドできない
・いろんな機種でテストしたい
・クローズドベータとして展開したい
・クラッシュ時の情報がほしい
・利用統計が取りたい
といったことに対して使えるツールを超概要レベルでお話させてもらいました。
ザックリ言うと、
<現状(正式版)の範囲では>
・ビルドはmacOS上でXcode+VSTSのエージェント環境を作成
※当然、Mac上でXamarin Studioを使ってビルドすることもできます。
・高いけど、Xamarin Test Cloudを使えば複数の機種でテスト可能
・クローズドベータ/クラッシュ時の情報/利用統計はHockeyAppでまとめて管理
・アプリが更新されたときにHockeyAppからメールで通知され、メール中のインストール用リンクからインストール可能
(スマホ実機をPCに接続する必要がない)
・クラッシュ時の情報や利用統計はSDKを組み込んでおけば簡単に取得可能。
自分が個別に取得したい情報(どの画面がよく使用されるか?など)も簡単に取得できる
という感じですが、この前発表されたVisual Studio Mobile Center(現時点はプレビュー)だと、VSTS+Xamarin Test Cloud+HockeyAppが1つにまとまってる感じで、複雑な設定は気にせずに使えるようになっています。
<Visual Studio Mobile Centerでは>
・iOSのビルドにMac不要 ← 個人的には超重要!!
・テストもXamarin Test Cloudとほぼ同じ感覚で使用できる(はず) ← まだきれいに動かせてません<m(__)m>
・クローズドベータ/クラッシュ時の情報/利用統計は、ほぼHockeyAppと同じ使い方
但し、Visual Studio Mobile CenterではVSTSのRelease Managerのような承認フローがなかったり、VSTSのビルドだとタスクを組み合わせることで細かい制御ができていたところが対応できなかったりといった違いがありますので、利用場面によってどちらのサービスを使用するのかを考える必要があると思います。
今回の内容については、VSのXamarinアプリのテンプレートからデモ用アプリの作成やMac上でのVSTSエージェント環境の作成、各種サービスでの自動連係まで一通り実機確認していますが、細かい点になるといろいろ使いずらい点やうまく動かないものもあります。
→例えば、Visual Studio Mobile Centerのテストを動かすには、画面から連携情報を設定するのではなく、作成したアプリをコマンド(mobile center CLI)で登録する必要があります。
しかも、コマンドを実行するには「node.jsが必要+NuGetのPackageが格納されているフォルダから実行する必要がある+コマンドの引数にテストプロジェクトのバイナリが格納されているフォルダの指定が必要」という、VSTSのビルドタスクの作りやすさはどこ行った!! という感じです。
ですが、これだけの内容を自作することは(コストメリットまで考慮すると)無理ですので、こういったサービスは使っていかないと損だなと実感しました。
(ビルドにMacが要らないのは大きいな・・・)