この記事では、リリース前レポートをセットアップして作成する方法について説明します。リリース前レポートを作成済みの場合、その結果をどのように解釈すればよいかについては、リリース前レポートを理解するをご覧ください。
リリース前レポートは、クローズド テストまたはオープンテストにアプリを公開すると自動的に作成されます。これにより、アプリがユーザーに公開される前に問題を特定できます。以下の項目などについて、テストが行われます。
- 安定性の問題
- Android の互換性に関する問題
- パフォーマンスの問題
- ユーザー補助の問題
- セキュリティの脆弱性
- プライバシーの問題
リリース前レポートの仕組み
テスト版の Android App Bundle をアップロードして公開すると、Google の Test Lab 内でそのアプリが Android デバイスセットにインストールされます。その後、アプリが自動的に起動され、数分間クロールされます。クローラは、入力、タップ、スワイプなどの基本的な操作を行います。また、クローラが使用するカスタムテストやテスト アカウントの認証情報をデベロッパーが指定することもできます。
クロールが完了すると、リリース前レポートに結果が集計されます。また、すべてのデバイスからアプリがアンインストールされます。
リリース前レポートに対するアプリの適合性を評価する
リリース前レポートは、アプリをインストールして「クロール」できる状態であれば機能します。ただし、アプリによってはコードを少し変更する必要があります。一般的な例として、国の検証やインストールの検証を必ず行うアプリがあります。詳しくは、よくある質問をご覧ください。
テストデバイスがアプリのテストを実施するには、ランチャー、ウィジェット、キーボード、ウォッチフェイスなど、メインの起動アクティビティが必要です。
リリース前レポートを作成する
アプリをテストするアプリのリリース前レポートを作成するには、クローズド テストトラックまたはオープン テストトラックでアプリを公開します。
オプトアウトしない限り、テストトラックで公開したアプリのリリース前レポートが自動的に届きます。通常、App Bundle をアップロードしてから 1 時間以内にテスト結果が届きます。場合によってはアップロードから数時間経って届くこともあります。
リリース前レポートのメール通知を受け取ることができます。手順は次のとおりです。
- Google Play Console > [通知] を開きます。
- [リリース前レポート] までスクロールし、横にあるチェックボックスをオンにします。すべてのテストについて通知を受け取るか、問題が発生したテストのみの通知を受け取るかを選択できます。
リリース前レポートは、クローズド テストトラックまたはオープン テストトラックでアプリを公開すると自動的に作成されます。アプリのすべてのリリース前レポートを無効にする手順は次のとおりです。
- Google Play Console> [リリース前レポート] > [設定] を開きます。
- [設定] まで下にスクロールし、[リリース前レポートを有効にする] チェックボックスをオフにして、そのアプリのレポートを無効にします。
- [保存] をクリックします。
テストをカスタマイズする
テストをカスタマイズして、リリース前レポートをそのアプリに関して、より包括的で関連性の高いものにすることができます。
ステップ 1: アプリにログイン画面がある場合は、テスト アカウントの認証情報を提供する
アプリにログイン画面があり、ログイン プロセスやログイン後のコンテンツをクローラにテストしてほしい場合は、アカウントの認証情報を提供してください。
注: アプリが「Google でログイン」機能をサポートしている場合は、認証情報を提供する必要はありません。クローラはこの機能を使って自動的にログインできます。[アプリのコンテンツ] ページで認証情報をすでに提供している場合も、同じく提供は不要です。
認証情報をテストする際は、以下の点にご留意ください。
- 提供する認証情報はテスト目的でのみ使用されます。
- Google では、テスト用認証情報の保護に万全を期していますが、正式な認証情報はリリース前レポートに提供しないことをおすすめします。代わりに、テスト アカウントのユーザー名とパスワードを作成してください。
- 認証情報は、標準の Android ウィジェットを使用する Android アプリにのみ自動的に挿入できます。カスタム コントロールの表示に OpenGL を使用するアプリや、ウェブベースの認証フローに WebView を使用するアプリでは、認証情報を使用できません。
- アプリが「Google でログイン」機能をサポートしている場合、Google は自動的にログインします。
- Google Play Console を開きます。
- アプリを選択します。
- 左側のメニューで [テスト] > [リリース前レポート] > [設定] を選択します。
- [テスト アカウントの認証情報] 欄で [認証情報を提供する] を選択します。
- 以下の情報を入力します。
- ユーザー名: テスト アカウントに関連付けられたユーザー名。
- パスワード: テスト アカウントに関連付けられたパスワード。
- [保存] をクリックすると、これらの認証情報は、編集しない限り、今後のすべてのテストで使用されます。
- Google Play Console を開きます。
- アプリを選択します。
- 左側のメニューで [テスト] > [リリース前レポート] > [設定] を選択します。
- 設定を変更します。
- 認証情報を編集するには: [テスト アカウントの認証情報] で新しい認証情報をユーザー名とパスワードの欄に入力します。
- 認証情報を削除するには: [テスト アカウントの認証情報] で [認証情報を提供しない] を選択します。
- 注: アプリのテスト用認証情報を削除した場合、以降のテストでデバイスがアプリにログインする前に新しい認証情報を提供しておく必要があります。
- [保存] をクリックすると、これらの認証情報は、編集しない限り、今後のすべてのテストで使用されます。
ステップ 2: Robo スクリプトまたはゲームループを提供する
アプリのテスト時にクローラによって行われる手順を制御したい場合、Robo スクリプトまたはゲームループを提供できます。
Java アプリのテストパスをカスタマイズする Robo スクリプトを提供する一般的なユーザー ジャーニーやアプリの新しいセクションのテストなど、特定のアクションを行う Robo スクリプトを提供することで、アプリをテストする際のクローラの手順を制御できます。
スクリプトを設定してテストを実行すると、クローラは最初にスクリプトに指定されたアクションを実行し、その後で通常どおりアプリを調べます。
リリース前レポートにスクリプトをアップロードするには:
- Android Studio の Firebase ツールを使ってスクリプトを記録します([Android Studio] > [Tool] > [Firebase] > [Test Lab] > [Record Robo Script])。詳しくは、Firebase のヘルプセンター記事をご覧ください。
- 注: Robo スクリプトの作成に Firebase アカウントは不要です。
- スクリプトの準備ができたら、Google Play Console を開きます。
- アプリを選択します。
- [テスト] > [リリース前レポート] > [設定] を選択します。[リリース前レポートでアプリを調べる方法の管理] セクションでスクリプトをアップロードします。ファイルをドラッグ&ドロップするか、[アップロード] を選択します。
- [保存] をクリックします。
OpenGL を使用するゲームまたはアプリをテストする場合は、適切なリリース前レポートを取得するためにゲームループを提供する必要があります。ゲームループでは、クローラに実行させるアクションを定義します。同じアプリ内で複数のゲームループをテストできます。
リリース前レポートでゲームループを使用するには:
- ゲームを次のように変更します。
- ループを起動する
- ループを実行する
- ループを終了する(省略可)。これらの変更は開発環境で行います。詳しくは、Firebase のヘルプセンター記事をご覧ください。
- 注: リリース前レポートでゲームループを使用する際に Firebase アカウントは不要です。
- ゲームループを含めたゲームのバージョンをクローズド テストトラックまたはオープンテスト トラックに公開します。クローラは自動的にゲームループを検出して実行します。
ステップ 3: ディープリンクを使用してテストの開始点をカスタマイズする
リリース前レポートに最大 3 つのディープリンクを追加して、アプリの追加のエントリ ポイントとしてテストできます。
クローラは通常どおり数分間動作し、アプリを閉じてから、各ディープリンクに順にアクセスし、さらに 30 秒間クロールします。これらの追加クロール中に見つかった問題は、通常のレポートに含まれます。
アプリのディープリンクを作成してテストする方法については、Android デベロッパー サイトをご覧ください。
ステップ 4: 特定の言語におけるテストのレポートを表示する
特定の言語でのテスト結果を表示する場合は、[リリース前レポートの設定] ページで言語設定を行います。言語は最大 5 つまで設定できます。
ヒント: リリース前レポートは、テスト用の App Bundle をアップロードすると自動的に作成されるため、最初のテストが完了した後にのみ言語設定を追加できます。
言語を設定する- Google Play Console を開きます。
- アプリを選択します。
- 左側のメニューで [テスト] > [リリース前レポート] > [設定] を選択します。
- [特定の言語でのアプリのテスト] で [言語を追加] を選択します。
- 最大 5 つの言語を選択できます。今後のテストでは、選択した言語での結果のみが表示されるようになります。
- 注: 言語を選択しない場合は、アプリのインストール数が最も多い言語が自動的に選択されます。
- [保存] をクリックします。
リリース前レポートを表示する
リリース前レポートを表示できる場合は、テスト中に見つかったエラー数、警告数、軽微な問題の数を問題の種類別に表示するなど、テストの概要を確認できます。また、アプリのテスト結果に基づいてリリースに関する推奨事項が表示されます。
リリース前レポートの概要を表示するリリース前レポートの概要を表示するには:
- Google Play Console を開きます。
- アプリを選択します。
- [テスト] > [リリース前レポート] > [概要] を選択します。
- 各セクションを確認します。
- 安定性
- パフォーマンス
- ユーザー補助
- セキュリティと信頼性
- 問題が表示されたセクションでは、[概要を表示] を選択して展開します。
- [詳細を表示] を選択すると、問題の詳細情報が表示されます。
- 以前のリリース前レポートを表示するには、ページの下部にある [レポートの詳細] セクションの表までスクロールします。
注: 「テスト中です」と表示される場合は、最新のテストがまだ終了していません。最新のテストを行えなかった場合、「テストに失敗しました」と表示されます。もう一度テストするには、別の App Bundle を公開します。
リリース前レポートの詳細な結果を表示するには:
- Google Play Console を開きます。
- アプリを選択します。
- [テスト] > [ リリース前レポート] > [ 詳細] を選択します。
- [安定性]、[パフォーマンス]、[ユーザー補助機能]、[スクリーンショット]、[セキュリティと信頼性] の各タブを確認します。各ページには、最新のテスト結果の全詳細(スタック トレース、スクリーンショット、グラフを含む)が表示されます。
注: 「テスト中です」と表示される場合は、最新のテストがまだ終了していません。最新のテストを行えなかった場合、「テストに失敗しました」と表示されます。もう一度テストするには、別の App Bundle を公開します。
よくある質問
アプリのテスト
テストにはどのくらい時間がかかりますか?通常、App Bundle をアップロードしてから 1 時間以内にテスト結果が届きます。場合によってはアップロードから数時間経って届くこともあります。2 日経ってもレポートが完了しない場合は、アーティファクトをもう一度アップロードしてみてください。それによって、新しいレポートが表示されます。
起動時に検証を行うアプリ
国の検証を行うアプリでリリース前レポートを作成できますか?コードに小さな変更を加えれば、リリース前レポートを作成できます。
テストデバイスは米国にあります。アプリが位置情報を使用する場合や、コンテンツが国に応じて制限される場合、テストデバイスが表示できるのはその場所で利用可能なもののみとなります。
テストデバイスが置かれている場所以外の位置情報でアプリをテストする必要がある場合、公開する App Bundle で、テストのためにその位置情報の要件を解除することを検討してください。次の 2 つの方法で、リリース前レポートのテストが Test Lab で実施されていることを検出できます。
- Firebase Test Lab の概要に記載されている IP アドレス ブロックを許可リストに登録する。
- Test Lab のインストゥルメンテーション テストの動作を修正するに記載されているシステム変数を追加する。
デバイスが Android に対する特権制御(root アクセス権限)を取得しているかどうかをチェックするアプリにはテスト プラットフォームは対応していません。
広告や購入オプションがあるアプリ
アプリで広告を表示しています。リリース前レポートのテストがインプレッション数やクリック数に影響しないようにするにはどうすればよいですか?(広告ネットワークで検出された場合、問題になる可能性があります)Google 広告では、リリース前レポートのアドレス範囲からのトラフィックはあらかじめ除外されています。他の広告ネットワークでは、除外する IP アドレス範囲を指定する必要があります。
自動化アプリテストで不正な広告収入が発生するのを防ぐ方法については、Google Developers サイトをご覧ください。
テスト中にテストデバイスから購入することはできません。アプリの一部にアクセスするために、定期購入やアプリ内アイテムの購入が必要な場合、アプリのテストは限定されます。
アプリのその他の動作
コードが難読化(Java)、または一部削除(ネイティブ)されています。その場合もリリース前レポートを使用できますか?はい、リリース前レポートのテストは同様に実施されます。
ただし、コードが難読化または一部削除されている場合、テスト中に見つかったクラッシュや ANR のスタック トレースも難読化または一部削除されます。スタック トレースをデバッグしやすくするため、難読化解除ファイルまたはシンボリケーション ファイルをアップロードすることをおすすめします。
難読化解除ファイルまたはシンボリケーション ファイルのアップロードに関する詳細をご確認ください。
いいえ、メディアがプリロードされたデバイスやプリインストールされたアプリは、テスト プラットフォームでサポートされていません。
ただし、プリロード データを使ってアプリをテストしたい場合は、App Bundle に埋め込んだメディア ファイルを使用するテスト版アプリを公開できます。
アプリでオープンテストを実施しているか、製品版を公開済みの場合、リリース前レポートのテストでは、アプリのライセンスが付与されているものとして機能する ID が使用されます。
アプリでオープンテストを実施しておらず、有効な App Bundle の製品版も公開していない場合、アプリはライセンス チェックに失敗します。リリース前レポートの結果は表示されますが、アプリはライセンスが付与されていない状態になります。こうしたアプリでテストを実施するには、ライセンス サービスを無効にしたアプリのクローズド テスト版を公開してください。
テストデバイスは、デフォルトで縦向きの固定ページでテストを実施するように事前定義されています。ただし、アプリが横向きにロックされている場合は、動画とスクリーンショットは横表示になります。
デバイスの選択
アプリのテストに使用するデバイスはどのようにして決まりますか?エコシステムの広範囲をカバーするようにテストデバイスが選択され、デバイスの人気、クラッシュの頻度、画面の解像度、メーカー、Android OS のバージョンなども考慮されます。使用されるテストデバイスはさまざまな要因により変更される場合があります。
アプリ マニフェストで一部のデバイスをターゲットから除外した場合は、リリース前レポートでもテスト対象から除外されますが、アプリ用に追加したデバイスもターゲットにならなくなります。
リリース前レポートは Firebase Test Lab の機能に基づいています。テスト対象のデバイスをカスタマイズするには、Firebase コンソールで独自のテストを実施することをご検討ください。
はい。テストではエミュレータ上でアプリを実行して、実機の場合と同じようにクロールします。
デバイスセットに含まれるのは、スマートフォン、タブレット、Wear OS、デスクトップ デバイス(Chromebook など)です。Android Auto デバイスや Android TV デバイスでアプリを直接テストすることはできません。
デバイスセットに含まれるのは、Android 9 以降を搭載したデバイスです。