リリース前レポートを使って問題を特定する

オープンテスト、クローズド テスト、内部テストのいずれかのトラックに APK や App Bundle をアップロードすると、さまざまなバージョンの Android を搭載した多様な端末で問題を検出することができます。

Play Console のリリース前レポートでは、以下を確認できます。

  • 安定性の問題
  • Android の互換性に関する問題
  • パフォーマンスの問題
  • ユーザー補助の問題
  • セキュリティの脆弱性

リリース前レポートの仕組み

テスト版の APK や App Bundle をアップロードして公開すると、テスト端末が自動的にアプリを起動して、アプリを数分間クロールします。このクロールでは、入力、タップ、スワイプなどのアプリの基本操作を数秒ごとに行います。

テストが完了すると、結果が Play Console の [リリース前レポート] に表示されます。

:

  • テスト端末は、人気、クラッシュの頻度、画面の解像度、メーカー、オペレーティング システムなど、多種多様な基準に基づいて選定されます。使用されるテスト端末はさまざまな要因により変更される場合があります。
  • リリース前レポートは Firebase Test Lab for Android の分析に基づいて作成されます。

すべて折りたたむ すべて展開

リリース前レポートを作成する

アプリをテストする

アプリのリリース前レポートを作成するには、オープンテスト、クローズド テスト、内部テストのいずれかのトラックでアプリを公開します

テストトラックに今後公開されるすべてのバージョンは、端末の互換性、表示の問題、パフォーマンスの問題、セキュリティの脆弱性について自動的にテストされます。

:

  • テスト結果は通常、APK や App Bundle のアップロード後すぐに届きますが、場合によってはアップロードから数時間経って届くこともあります。
  • 複数のアプリの APK や App Bundle を同時にテストできます。
  • 現在のところ、リリース前レポートの端末では、テスト スクリプトをアプリ上で実行することはできません。テスト スクリプトを実行するには、下記の「Firebase Test Lab for Android でテストをカスタマイズする」の手順をご覧ください。
ゲームをテストする

ゲームの一連の定義済み操作をテストするには、デモループを使用できます。デモループにより、リリース前レポートがゲームプレイのテストに関連付けられます。標準クローラは OpenGL に対応していません。

手順: 

  1. ゲーム内にデモループを作成します。詳しくは、Firebase のヘルプセンターをご覧ください。
    • 注: リリース前レポートでデモループを使用するのに Firebase アカウントは必要ありません。
  2. リリース前レポートでデモループを使用するには、次の動作を行うようゲームを変更する必要があります。
    • デモループを起動する
    • デモループを実行する
    • デモループを閉じる(省略可)
  3. デモループを含むゲームのバージョンをオープンテスト、クローズド テスト、内部テストのいずれかのトラックに公開します。クローラはゲーム内のデモループを自動的に検出して実行します。
参考: Firebase Test Lab for Android でテストをカスタマイズする

Firebase Test Lab を使って、有料で端末のタイプとテスト方法を選択してカスタムテストを作成できます。カスタムテストの結果は Firebase コンソールに表示されます。

カスタムテストを行うには:

  1. Play Console にログインします。
  2. アプリを選択します。
  3. [リリース管理] > [リリース前レポート] を選択します。
  4. カスタムテストを実施できる場合は、画面の上部に [カスタムテストの実行] と表示されます。テストを開始するには、[スタート] を選択します。

テスト結果を表示する

テスト結果を表示するには:

  1. Play Console にログインします。
  2. アプリを選択します。
  3. [リリース管理] > [リリース前レポート] を選択します。
  4. [安定性]、[パフォーマンス]、[ユーザー補助機能]、[スクリーンショット]、[セキュリティ] タブを確認します。各ページに最新のテスト結果が表示されます。以前のビルドのテスト結果を表示するには、[選択] プルダウンを使用します。
    • : 「テスト中です」と表示される場合は、直近のテストがまだ終了していません。直近のテストが実行できなかった場合、「テストに失敗しました」と表示されます。もう一度テストするには、別の APK や App Bundle を公開します。

結果

テストはすべての問題の検出を保証するものではありませんのでご注意ください。

概要
各テストの概要には、テスト中に検出されたエラー、警告、軽微な問題の数が問題の種類別に表示されます。また、アプリのテスト結果に基づいて推奨事項も表示されます。
テスト中に検出される問題の例を以下に示します。
  • エラー: クラッシュ、制限されているサポート対象外の API の使用
  • 警告: ANR、起動や読み込みの遅れ、ログインやクロールの問題、メモリの問題、まだ制限されていないサポート対象外の API の使用
  • 軽微な問題: コンテンツ ラベルの欠落、色のコントラストの問題、タップ ターゲットのサイズの問題(小さすぎる)、実装の問題

カテゴリ別にレポートを表示する

アプリの [概要] タブの下半分には、安定性、パフォーマンス、セキュリティとプライバシー、ユーザー補助機能に関連する問題をまとめた個別のカードが表示されます。テスト結果によっては、アプリの改善に役立つインサイトや推奨事項も表示される場合があります。

各カードの説明には、テスト中に検出された問題の数と種類が記載されます。

個々の問題を表示する

各カードで、[すべての問題を表示] またはカードの右下にある下矢印をクリックすると、各問題の簡単な説明が表示されます。特定の問題の詳細を表示するには、[問題を表示] をクリックします。

他のビルドと比較する

アプリの [概要] タブの最下部付近にあるグラフには、以前のビルドと比較したテスト概要が表示されます。APK や App Bundle ごとに、エラー、警告、軽微な問題、完了したテストの数に加えて、レポートが生成された時間が表示されます。

リリース前レポートの使用に関するヒントを確認する

アプリの [概要] タブの最下部には、リリース前レポートをより効果的に使用するためのチュートリアルやヒントが表示されます。

安定性

各テストの概要には以下の数字が表示されます。

  • 問題の発生した端末数
  • 問題の発生しなかった端末数
  • テスト済みの端末数

他のビルドと比較する

アプリの [安定性] タブには、以前のビルドとの互換性が表示されます。

各バーは、APK や App Bundle の最近テストしたビルドを表します。テスト中に、起動に成功および失敗した回数も表示されます。

レポートを個別に表示する

アプリの [安定性] タブの下半分近くで、Android の異なるバージョンを搭載したデバイスからの個々のレポートを確認できます。

行ごとに、テストしたデバイス名、そのデバイスの Android のバージョン、テストでアプリに問題があったかどうかのアイコンが表示されます。

  • テスト中に端末で問題があった場合、赤色のアイコンが表示されます。
  • テスト中に問題がなかった場合、緑色のチェックマークが表示されます。

テストを選択すると、デバイス名、オペレーティング システム、テスト期間、テスト中のスクリーンショットと動画、デモループの出力、スタック トレース(利用可能な場合)などの詳細が表示されます。

: テスト中に検出されたクラッシュもアプリの [クラッシュと ANR] ページに表示されます。リリース前レポートを生成している間に検出されたクラッシュはテストデバイスのものであるため、クラッシュ統計情報には影響しません。

Android の互換性

公開されている Android SDK にないインターフェース(多くの場合、「サポート対象外」または「SDK 以外」のインターフェースと呼ばれる)をアプリで使用している場合は、リリース前レポートの [概要] と [安定性] タブにエラーや警告が表示されます。

個々の問題を表示する

使用されているサポート対象外のインターフェースを特定するには、リリース前レポートの「OS の互換性」エラーと警告の横にある [問題を表示] をクリックします。アプリ内で特定のインターフェースが呼び出された場所を確認するには、インターフェースの隣にある下矢印をクリックして、スタック トレースを表示します。1 回のテストで、1 つのインターフェースを複数回呼び出すことができます。

サポート対象外のインターフェースは、重大度別に分類されます。安定性の問題を回避するには、サポート対象外のインターフェースの使用を完全に中止することをおすすめします。しかし、優先的に処理する必要のある問題を判断するために、カテゴリを使用することができます。

推奨される優先順位は次のとおりです。

  1. 制限付き: 一部またはすべてのバージョンの Android で問題があるインターフェースです。
  2. サポート対象外であるが、間もなく制限される: 動作することが保証されておらず、今後のリリースで制限されるインターフェースです。
  3. サポート対象外であり、すぐに制限されることはない: 動作することが保証されていないインターフェースです。

: カテゴリごとに、頻度順にインターフェースが一覧表示されます。これも、どの問題を優先して処理するかを判断するために役立ちます。

パフォーマンス

各端末モデルのテスト結果の概要には、次のものが含まれます。

  • 平均フレーム/秒: フレームの平均表示速度
    • 注: 平均フレーム/秒のデータが表示されるのは、デモループを使用したテストの場合のみです。
  • 平均 CPU: 端末モデル上でのアプリの平均 CPU 使用率
  • 平均ネットワーク送信: デバイスモデル上でネットワーク接続を介してアプリから送信された 1 秒あたりの平均バイト数
  • 平均ネットワーク受信: デバイスモデル上でネットワーク接続を介してアプリが受信した 1 秒あたりの平均バイト数
  • 平均メモリ: 選択した期間に、デバイスモデル上でアプリが使用した平均メモリ量

注: 古いバージョンの Android を搭載したテスト端末では、パフォーマンス データを作成できない場合があります。

レポートを個別に表示する

各端末モデルを選択すると、テスト中に測定された各項目のグラフと記録が表示されます。

たとえば CPU 使用率は、テストの進行中にも表示できます。CPU 使用率の急増がテスト中にわかった場合は、その時点でクローラが行った動作を確認して、問題を解決できます。

ユーザー補助

各テストの概要には、テスト中に検出されたユーザー補助のエラー、警告、軽微な問題の数が次に挙げる問題の種類別に表示されます。

カテゴリ別にレポートを表示する

[ユーザー補助] タブの下半分には、カテゴリ別にユーザー補助の問題がアプリのどの部分で見つかったかを特定する画面クラスタが表示されます。

  • エラーが検出された場合は赤いアイコンが表示されます。
  • 警告が検出された場合はオレンジ色のアイコンが表示されます。
  • 軽微な問題のみ検出された場合は青いアイコンが表示されます。
  • 何も問題が検出されなかった場合は緑色のチェックマークが表示されます。

個々の問題を表示する

画面クラスタをクリックすると、該当する端末のモデル名、オペレーティング システム、画面サイズ、画面密度、言語を記載したサンプルのスクリーンショットが最適化案とともに表示されます。

アプリのユーザー補助を改善する

スクリーンショット

テストの概要

  • さまざまな言語のテスト端末でアプリがどのように表示されるかを示す画像
  • テスト端末に関するメタデータ(モデル名、Android のバージョン、言語、画面の解像度、DPI など)
  • スクリーンショットを記録した端末数
  • APK や App Bundle をテストできなかった端末数
    • テストが完了しなかった端末: 該当の APK や App Bundle に対応している端末ですが、テスト中に問題が発生しました。テストできない端末があった場合は、別の APK や App Bundle をアップロードして再テストすることをおすすめします。
    • 互換性のない端末: 該当の APK や App Bundle に対応していない端末があります。もう一度テストすると、対応していない端末でのテスト結果は表示されなくなります。

: デモループを使ってテストした場合、[スクリーンショット] タブにデータは表示されません。

スクリーンショットの表示方法

  • 画面クラスタ: [画面クラスタ] タブを選択すると、類似のスクリーンショットが異なる端末でどのように表示されるかを確認できます。このビューでは、画面の要素またはウィジェットに基づいて画像がグループ化されます。
  • 端末: [端末] タブを選択すると、特定の端末に関連付けられているスクリーンショットがすべて表示されます。テスト中に撮影されたスクリーンショットを時系列で確認できます。

言語の設定

特定の言語でスクリーンショットを表示するには、[設定] タブで言語を設定します。

セキュリティ

各テストの概要には APK や App Bundle で見つかったセキュリティの脆弱性の名前と説明が表示されます。

: セキュリティの脆弱性が表示された場合は、製品版の APK や App Bundle を公開する前に対処することをおすすめします。

リリース前レポートの設定を管理する

リリース前レポートのバージョン

2017 年 10 月から、リリース前レポートでは新しいクローラを導入して、アプリをより詳しく確認できるようになりました。これを行うには、Google のテスト環境内で APK や App Bundle を一時的に再署名する必要があります。

新しいテストプロセスで生じる可能性のある制限事項

再署名プロセスの結果、一部のアプリでテストに制限が生じる場合があります。制限事項には次のものが含まれます。

  • Google アカウントに自動ログインできない
  • 認証方法としてアプリ署名鍵を使用するウェブサービス リモート プロシージャ コールを正常に実行できない
  • 検出されるクラッシュの数が減少する

: ほとんどのアプリではこれらの制限による影響はなく、より徹底したクロールで、以前のリリース前レポートに比べて多くの問題を検出できます。

以前のテストプロセスに切り替える

問題が発生した場合は、次の方法で以前のテストプロセスに戻すことができます(再署名は不要です)。

  1. Play Console にログインします。
  2. アプリを選択します。
  3. [リリースの管理] > [リリース前レポート] > [設定] の順にクリックします。
  4. [リリース前レポートのバージョン] で、[オプトアウト] スイッチを右に動かして青色にします。
リリース前レポートをすべてオフにする

リリース前レポートは、アプリをオープンテスト、クローズド テスト、内部テストのいずれかのトラックに公開すると自動的に作成されます。すべてのリリース前レポートを無効にするには、次のようにします。

  1. Play Console にログインします。
  2. アプリを選択します。
  3. [リリースの管理] > [リリース前レポート] > [設定] を選択します。
  4. [リリース前レポートを有効にする] スイッチを左に動かして灰色にします。リリース前レポートを後でもう一度オンにしたい場合は、スイッチを右に戻して青色にします。

その他のテスト機能

ログイン画面で認証情報の入力を求められるアプリの場合は、テスト アカウントの認証情報を Play Console に追加できます。

重要: ここで提供する認証情報は、テストの目的で使用されます。このような認証情報を提供した場合でも、テストですべての問題の検出が保証されるわけではありません。

提供された認証情報の扱い

リリース前レポートによるテストを行う際に認証情報を追加すると、その認証情報は保存され、(編集しない限り)それ以降に実施するすべてのテストで使用されることになります。アプリのテスト用の認証情報を編集した場合は、新たに実施するいずれのテストでも、その更新された認証情報が使われます。アプリのテスト用の認証情報を削除した場合、その後テストを行うためには、アプリにログインできるよう新しい認証情報を追加する必要があります。

Google では、テスト用の認証情報の保護には万全を期していますが、正式な認証情報はリリース前レポートに追加しないことをおすすめします。代わりに、テスト アカウントのユーザー名とパスワードを作成してください。

: 認証情報は、標準の Android ウィジェットを使用している Android アプリにのみ自動的に挿入できます。OpenGL を使用してカスタム コントロールを表示しているアプリや、ウェブベース認証フロー用に WebView を使用しているアプリでは、認証情報を使用できません。

認証情報を設定する

  1. Play Console にログインします。
  2. アプリを選択します。
  3. 左側のメニューで、[リリースの管理] > [リリース前レポート] > [設定] を選択します。
  4. 次の情報を入力します。
    • ユーザー名のリソース名: 所定のユーザー名が入力される、アプリ内のテキスト欄の Android リソース名(例: テキスト欄が @+id/username_field の場合は、username_field と入力します)
    • ユーザー名: テスト アカウントに関連付けられているユーザー名
    • パスワードのリソース名: 所定のパスワードが入力される、アプリ内のテキスト欄の Android リソース名
    • パスワード: テスト アカウントに関連付けられているパスワード
    • ログインボタンのリソース名: ユーザー名とパスワードの入力後にタップされる、アプリ内のボタンの Android リソース名。これには、ログイン処理を有効にするボタンも含まれます。この項目は省略できます。
  5. 変更を保存します。

認証情報を編集または削除する

  1. Play Console にログインします。
  2. アプリを選択します。
  3. 左側のメニューで、[リリースの管理] > [リリース前レポート] > [設定] を選択します。
  4. 表示される画面で次のように操作します。
    • 認証情報を編集する場合は、新しい認証情報を入力します。
    • 認証情報を削除する場合は、[すべての項目をクリア] を選択します。
  5. 変更を保存します。
特定の言語のテスト結果を表示する

リリース前レポートで特定の言語のテスト結果のみを表示する場合は、[設定] タブで言語を設定します。言語は最大 5 つまで設定できます。

ヒント: リリース前レポートは、テスト版の APK や App Bundle を公開すると自動的に作成されるため、最初のテストが完了した後にのみ言語設定を追加できます。

  1. Play Console にログインします。
  2. アプリを選択します。
  3. 左側のメニューで、[リリースの管理] > [リリース前レポート] > [設定] を選択します。
  4. [言語設定] で「言語を追加」アイコン をクリックします。
  5. 言語を最大 5 つまで選択します。テストでは、その言語の結果のみが表示されるようになります。
    • 設定した言語を解除するには、キャンセル アイコン をクリックします。
リリース前レポートでアプリを調べる方法を制御する

テストを細かく制御するには、一般的なユーザー手順やアプリの新しいセクションをテストするなど、特定の操作を実行するための Robo スクリプトを設定します。標準的なテストでは、クローラがこの同じ操作を実行するとは限りません。

スクリプトを設定した状態でテストを実行すると、クローラは最初にスクリプト設定済みの操作を実行し、その後で通常どおりアプリを調べます。

手順:

  1. Firebase のヘルプセンターの手順に沿って、スクリプトを記録します。Robo スクリプトの記録では、テスト対象アプリの外部にある操作は捕捉されません。
    • 注: Robo スクリプトを実行するのに Firebase アカウントは必要ありません。
  2. スクリプトの準備が整ったら、Play Console にログインします。
  3. アプリを選択します。
  4. [リリース管理] > [リリース前レポート] を選択します。
  5. [設定] タブを選択します。
  6. [Robo スクリプト] でスクリプトをアップロードします。

すべて折りたたむ すべて展開

テストに関する留意点とサポート範囲

テスト端末の場所

テスト端末は米国にあります。アプリが位置情報を使用する場合や、コンテンツが国に応じて制限される場合、テスト端末が表示できるのはその場所で利用可能なもののみとなります。

テスト端末が置かれている場所以外の特定の場所でのみ正常に動作するようアプリを設定している場合、公開する APK や App Bundle で、テストのためにその位置の要件を解除することを検討してください。

定期購入またはアプリ内アイテム

テスト中にテスト端末から購入することはできません。アプリの一部にアクセスするために、定期購入やアプリ内アイテムの購入が必要な場合、アプリのテストは限定されます。

メインの起動操作のないアプリ(ウィジェット、キーボードなど)

ランチャー、ウィジェット、キーボード、ウォッチフェイスなど、メインの起動操作がないアプリをテスト端末でテストすることはできません。

広告を表示するアプリ

自動化アプリテストで不正な広告収入が発生するのを防ぐ方法については、Google Developers サイトをご覧ください。

x86 端末用にコンパイルされたアプリ

テスト用端末セットは ARM 端末に限定されています。x86 APK は、すべてのテスト端末で互換性がないものとして表示されます。

Wear OS by Google、Auto、TV、および以前の Android バージョン向けのアプリ

端末セットはスマートフォンとタブレットに限定されているため、Wear OS by Google、Auto、TV ではアプリを直接テストできません。また、端末セットには、Android 4.1.1(Jelly Bean)より前のバージョンを搭載した端末も含まれません。

OpenGL や Unity3D のフレームワークに基づくアプリ

自動クローラは、OpenGL や Unity3D を使用するアプリの UI 要素を識別できません。テスト結果は、アプリの起動と数秒後のアプリの終了のテストに限られます。

ゲームの一連の定義済み操作をテストするには、デモループを使用できます。

プリロード メディアやプリインストールされた補助アプリ

メディアがプリロードされた端末や、プリインストールされたアプリはテスト プラットフォームでサポートされていません。

プリロード データを使用するアプリをテストしたい場合は、APK や App Bundle にメディア ファイルを組み込んで、テスト版のアプリを公開してください。

Google Play ライセンス サービスを使用するアプリ

アプリでオープンテストを実施しているか、アプリを製品版で公開した場合、リリース前レポートテストではアプリのライセンスが付与されているものとして機能する ID が使用されます。

アプリでオープンテストを実施しておらず、有効な APK を製品版として公開していない場合、アプリはライセンス チェックに失敗します。リリース前レポートの結果は表示されますが、アプリはライセンスが付与されていない状態になります。こうしたアプリでテストを実施するには、ライセンス サービスを無効にしたアプリのクローズド テスト版を公開してください。

横向きの設定を使用するアプリ

テスト端末は、デフォルトでページを縦向きに固定してテストするよう事前に定義されており、横向きを使用するアプリに対して縦向きに表示させることがあります。

root アクセス権限の取得について端末をチェックするアプリ

端末が Android に対する特権制御(root アクセス権限)を取得しているかどうかをチェックするアプリにはテスト プラットフォームは対応していません。

リリース前レポートの通知メールを登録する

リリース前レポートが表示可能になったときにメールで通知を受け取るには、Play Console のメールサービスの設定で登録してください。すべてのテストについて通知を受け取るか、問題が発生したテストについてのみ通知を受け取るかを選択できます。

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。