モバイルアプリの新しいバージョンを本番環境にリリースすることは、アプリ開発において最もエキサイティングな作業のひとつですが、最もストレスの多い作業のひとつでもあります。チームは、バージョンの採用状況、新しいバグとそのバグの影響、以前のリリースとの比較などを記録する必要があります。
このページでは、モバイルアプリのリリースに自信を持つために必要なデータをモニタリングするための Firebase のツールについて説明します。
リリース モニタリング ダッシュボードを使用して、リリース関連のデータを調べる
Firebase コンソールの リリース モニタリング ダッシュボードは Firebase Crashlytics をベースにしています。最新の製品版リリースをモニタリングするための単一のダッシュボードです。ダッシュボードはニア リアルタイムで更新され、クラッシュフリー指標、バージョンの普及状況、以前のリリースとの比較、リリースに関する新しい問題など、最も重要なリリース指標の概要を確認できます。
この新しいダッシュボードは、コンソールの [最新リリース] ページを改善したものです。このページと比較して、リリース モニタリング ダッシュボードにはより多くの情報が追加され、Google アナリティクスを使用せずに有用なデータが表示され、読み込みも速くなります。
ダッシュボードの機能
リアルタイム レポート
すべてのグラフはほぼリアルタイムで更新されます。最新バージョンをデプロイした直後から、ユーザーがそのリリースを使い始める様子を確認できます。これらのユーザーの一部でクラッシュが発生した場合、クラッシュの影響を受けていないユーザーの指標のグラフでその影響をすぐに把握できます。過去のリリースに基づく比較とベンチマーク
最新リリースの安定性を、過去のリリースのコンテキストで確認できます。このダッシュボードでは、最新リリースのライブ指標と、以前にリリースされたビルドを最大 2 つ比較できます。新しい主な問題
最新リリースの新しいクラッシュは、発生次第確認できます。[新しい主な問題] テーブルでは、最新リリースで最初に検出された問題の影響をモニタリングして、リリースを停止するかロールバックするかをすばやく判断できます。
ダッシュボードの要件
最新のリリースを [リリース モニタリング] ダッシュボードに表示するには、次の操作を行います。
アプリで少なくとも次のバージョンの Crashlytics SDK を使用していることを確認します。
Apple プラットフォーム: v10.8.0 以降 | Android: v18.6.0 以降(BoM v32.6.0 以降)| Flutter: v3.4.5 以降 | Unity: 11.7.0 以降アプリの新しいバージョンを製品版として公開し、最新リリースでエンゲージしているユーザーが十分な数に達するようにします。
ダッシュボードに関するよくある質問
リリース モニタリング ダッシュボードを使用するのに必要な SDK バージョンは何ですか?
ビルドがダッシュボードに表示されるには、少なくとも次のバージョンの Crashlytics SDK を使用している必要があります。
Apple プラットフォーム: v10.8.0 以降 |
Android: v18.6.0 以降(BoM v32.6.0 以降)|
Flutter: v3.4.5 以降 |
Unity: 11.7.0 以降
これらのバージョンの SDK は、セッション データを Crashlytics に送信できるため、多くの場合「セッション対応」SDK バージョンと呼ばれます。これは、リリース モニタリング ダッシュボードなど、Crashlytics の多くの新機能に必要です。
リリース モニタリング ダッシュボードに「より多くのユーザーが最新リリースを使い始めるまで待機しています」と表示されるのは何故ですか?
ビルドがダッシュボードに表示されるには、次の要件をすべて満たしている必要があります。
ビルドで、次のバージョンの Crashlytics SDK が少なくとも使用されている。
Apple プラットフォーム: v10.8.0 以降 | Android: v18.6.0 以降(BoM v32.6.0 以降)| Flutter: v3.4.5 以降 | Unity: 11.7.0 以降過去 3 日間に十分な数のユーザーがビルドを使用している。
ビルドに 500 人以上の一意のユーザーが含まれているか
ビルドのユーザー数が全ユーザーの 1% 以上かつ 2 人以上のユニーク ユーザーがいる。
リリース モニタリング ダッシュボードで表示できるビルド
リリース モニタリング ダッシュボードは、本番環境リリース(つまり、多くのユーザーが使用するビルド)のサポートを目的としています。
ビルドがダッシュボードに表示されるには、次の要件をすべて満たしている必要があります。
ビルドで、次のバージョンの Crashlytics SDK が少なくとも使用されている。
Apple プラットフォーム: v10.8.0 以降 | Android: v18.6.0 以降(BoM v32.6.0 以降)| Flutter: v3.4.5 以降 | Unity: 11.7.0 以降過去 3 日間に十分な数のユーザーがビルドを使用している。
ビルドに 500 人以上の一意のユーザーが含まれているか
ビルドのユーザー数が全ユーザーの 1% 以上かつ 2 人以上のユニーク ユーザーがいる。
(Google Play で配信されるアプリの場合) アプリに Google Play リンクがある場合、Crashlytics がセッションログを受信しておらず、そのビルドのアクティブ ユーザーを検出していない場合でも、ダッシュボードには Play 製品版トラックにリストされているすべてのビルドが表示されます。
ダッシュボードで比較データやアクティブ ユーザーの割合を表示するには、上記の要件を満たす少なくとも 2 つのビルドをリリースする必要があります。
[アクティブ ユーザー] グラフに表示される値はどのように決定または計算されますか?
まず、アクティブ ユーザーのグラフに関連する用語をいくつか理解しておきましょう。
セッションとは、ユーザーがアプリケーションを操作する連続した期間のことです。新しいセッションは、アプリをコールド スタートしたときに開始するか、少なくとも 30 分間バックグラウンドで実行した後にフォアグラウンドで実行したときに開始されます。
特定のビルドのアクティブ ユーザーは、そのビルドを使用してセッションを開始したユーザーの数で、時間別にグループ化されます。
合計(アクティブ)ユーザー数は、セッション対応の SDK バージョンを使用するアプリの任意のビルドでセッションを開始したユーザーの数(時間別)です。
[アクティブ ユーザー] グラフでは、グラフに常に表示されるアクティブ ユーザーの割合と数は、過去 60 分間のデータに基づいています(過去 60 分間にアクティブ ユーザーがいなかった場合は、データが存在する過去 1 時間のデータに基づいています)。たとえば、上のスクリーンショットの例では、過去 60 分間に 6.0.0 (600)
ビルドのアクティブ ユーザーが 90 人いて、これはアプリの合計(アクティブ)ユーザーの 22.1% を占めています。
[アクティブ ユーザー] グラフの線にカーソルを合わせると、カーソルを合わせた時間帯のアクティブ ユーザー数からアクティブ ユーザーの割合が計算されます。
アクティブ ユーザーの割合を確認するには、よくある質問のリリース モニタリング ダッシュボードに表示されるビルドに記載されている要件を満たす少なくとも 2 つのビルドをリリースする必要があります。
アクティブ ユーザーの割合が 0% なのはなぜですか?
アクティブ ユーザーの割合は、受信したセッション データに基づいており、他のデータ(Google Play データやクラッシュ レポートなど)に基づくものではありません。
比較やアクティブ ユーザーの割合が表示されないのはなぜですか?
互換性のある Crashlytics SDK バージョンでアプリを初めてリリースする場合、Crashlytics には比較する以前のセッションデータがありません。
アラートを設定する
Crashlytics を含む複数の Firebase プロダクトは、プロダクト固有のさまざまな理由でアラートを送信できます。アラートを受信するには、必要な権限が必要です。
最新リリースの安定性をモニタリングするには、Performance Monitoring と Crashlytics の両方からアラートを設定します。特に Crashlytics の場合、次のアラートを設定できます。
ベロシティ アラートを使用すると、アプリ内の個々の問題が Firebase コンソールで定義したしきい値を超えた場合に、チームに通知できます。
新しい問題やリグレッションの問題に関するアラートを、任意の通知チャンネルに送信します。
Cloud Functions for Firebase を使用して、サードパーティ サービスへの高度なアラートを設定します。
リリース前にスムーズなリリースを確実にする
最新バージョンをリリースする前に、スムーズなリリースを実現するために、次のサービスや機能の使用を検討してください。
プレリリース版テスト サービスを使用する
Firebase には、プレリリース テストに役立つ 2 つのプロダクト(Test Lab と App Distribution)があります。どちらのサービスも CI/CD フローに統合できます。
Firebase Test Lab は、クラウドベースでアプリのテストを行うインフラストラクチャです。アプリをさまざまなデバイスや構成でテストして、ユーザーのデバイスでどのように動作するかを早期に把握できます。
最新のビルドを信頼できる人間テスターに渡す準備ができたら、Firebase App Distribution を使用します。Apple プラットフォームと Android のプレリリース版の両方を同じ場所で管理できます。
ロールアウトと限定テストのサービスを使用する
Firebase Remote Config を使用して、パーセンテージ ロールアウト メカニズムで新機能をリリースするか、限定的なテストグループで新機能をテストします。
Firebase には A/B Testing も用意されているため、アプリの UI、機能、エンゲージメント キャンペーンの変更をテストし、変更を広範囲にロールアウトする前に、主要な指標(収益や定着率など)に与える影響を確認できます。