こんにちは。AndroidエンジニアのJです。
今回はFirebase Device StreamingがOpen Alphaになったようなので実際に使ってみようと思います!
Firebase Device Streamingとは
Android Studio のデバイス ストリーミングを使用すると、Google の安全なデータセンターでホストされているリモートの物理的な Android デバイスに安全に接続できます。Google Pixel 8、Google Pixel 8 Pro、Google Pixel Fold、一部の Samsung デバイスなど、最新の Android デバイスの物理ユニットに対して、アプリを迅速かつ簡単にテストできます。
Android Studioで物理デバイスを使用しない場合、emulatorを使っての開発となりますが、Device Streamingを使うと実際に物理デバイスに接続してテストをできるとのこと。
個人的にemulatorは物理デバイスよりもっさりしていてあまり使う機会がないのですが、動作のスムーズ感も気になるところですね 👀
さっそく試してみる
前掲の記事の内容に従って、最新のCanaryバージョンをインストールしてみます。
しかし
ダウンロードできたので、手順に従ってDevice Managerを開いてみます。
ワイヤレスデバッグのアイコン横にFirebaseのアイコンがでるはずなのですが、出てこない...? 🤔
どうやら最新のCanaryバージョンでないと使えないようでした...。Check for Updatesを実行してKoala🐨にアップデートした*1ところ無事表示されました!
実際に使ってみる
ようやく準備ができたので触っていきます。
Android Studio上でFirebaseとの連携を完了させると以下のように使用可能なデバイス一覧が表示されます。
Google / Samsung端末がメインで、APIレベルは27から対応されているようです。
まずは現在の最新Google端末であるPixel8を使ってみましょう。
端末を▶で起動させるとReservingのステータスになり、1分ほどで使用可能な状態になりました。
まだOpen Alphaのためか、使用時間は15分程に制限されているようですね。*2
使用感について
気になる使用感ですが、やはり実機と比べると少し動きがもっさり*3しますね 🤔 (遠隔で物理デバイスを操作するという形なので、ある程度仕方のない部分かもしれません)
また、すべての端末を確認したわけではないのですが、カメラ機能についてはPixel Fold(Camera-enabled)という端末でのみ使用できるようでした。
他の端末でカメラが使えないわけではないのですが、カメラを起動しても真っ暗な画面のままなので実用はできないかなといった印象です。
おわりに
さて、今回サクッとDevice Streamingをお試ししてみました。
使っみての感想ですが、現状の機能だとあまり適切な使い所が思い浮かばないというのが正直な感想でした😅
動作のレスポンスは仕方ないにしても、ウリにしている機種依存のバグ調査も現状のデバイスラインナップだとメジャーどころが多くてあまり強みを活かせなさそうでした。
とはいえ、実際に物理デバイスを使用出ること自体は嬉しいポイントだとは思っていて、例えば個人開発者やスタートアップ企業など検証端末が十分に利用できない状況だと、Device Streamingを使った実機検証が役に立ちそうです。
まだOpen Alphaの段階なので、これからの進化に期待しようと思います 💪
*1:https://firebase.blog/posts/2024/02/device-streaming-android こちらを見るとJellyfishであれば使えるかと思っていたのですが、思わぬ落とし穴でした
*2:タイムリミットの5分前になると30分延長ができるようでした
*3:キャプチャを載せたかったのですが、容量の関係で省略しました🙏