Firebaseを使ってもう2年間です。振り返って考えと、よく使っている機能は「Firebase Cloud Messaging」、「Firebase Crashlytics」と基本の分析機能ですが、他の機能はほぼ触っていません。
Firebaseの管理画面に「Performance」ずっと気になりますが、中々使い機会がありません。最近、やっと余裕な時間がありました。
この機会で、知りたい質問を持って、Performance機能を体験しました。
今回解決したい問題:
・「Performance」はなにものですか?
・「Performance」はなにができますか?
・導入の方法?
・今後のプロジェクトに導入価値がありますか?
・「Performance」はなにものですか
「Performance」はアプリのパフォーマンスを監視する機能です。
監視内容として、アプリ起動時間、画面表示までレンダリング時間、APIのリクエスト時間などです。
全体パッと見ると下記のイメッジです
・「Performance」はなにができますか?
公式サイトに「パフォーマンス指標を国、端末、アプリのバージョン、OS レベルで分析できます」を記載しています。個人的に一番きになる分析内容はアプリのバージョンによって、ネットワーク通信パフォーマンス。具体的には下記のキャプチャーとなります。
分析すると、アプリを使っているAPIはほぼ50ミリ秒でレスポンスが返しました。(よし、良くやったね!サーバー設計が悪くない。APIのリクエストが軽いので、ユーザーのアプリ体験が上がるでしょう) あと、もう一つ良いところがここに見たデーターは実際のユーザーとサーバー通信時間なので、もっと正確的に今回使っている「クラウドサービス」は自分サービスにあっているかどうかを判断できます。
ここは一つAPIあるいはSDKのパフォーマンスが悪い例を上げます。
0%!!!(||゚Д゚)ヒィィィ! なに!!!使ってある計測ライブラリのリクエスト全部失敗しました。((T▽T) 昔のアプリをリニュアルしたので、一部コードを流用した問題を見つかりました・あと、なんでfacebookとtwitterのApiが遅い…気になるわ!!!)
もちろん、もっと詳しい情報は管理画面に見れます。
例:各国に対して通信パフォーマンスと通信内容のMIME タイプグラフ。
例:アプリバージョンによって平均パフォーマンス
色々参考できる情報が管理画面に確認できますので、きっとアプリの改善方向に参考できると思います。
・導入の方法
わりと簡単です。
iosの場合(podを使う):
参考リンク:https://firebase.google.com/docs/perf-mon/get-started-ios?hl=ja
pod 'Firebase/Core'
pod 'Firebase/Performance'
そのあと、初期化コード2行で終わり。
Androidの場合:
参考リンク:https://firebase.google.com/docs/perf-mon/get-started-android?hl=ja
・今後のプロジェクトに導入価値がありますか?
もちろん、結構価値があります。アプリ性能の改善とか、ユーザー実際のパフォーマンス問題を確認とか…色々使い道があります。
最後ですが、「Performance」計測情報の反映は24時間がかかります。
最初「Performance」を入れった時、次の日に確認してください。
投稿者プロフィール
最新の投稿
- iOS2021年12月3日このアプリしか使えない!(プログラム)
- Android2018年11月9日FirebaseのPerformanceを紹介
- 技術開発2018年4月13日Golangの旅(Let’s GO) – 基本編(二)
- Server2017年11月16日Golangの旅(Let’s GO) – 基本編(一)