Amazonアプリストアにおけるアプリ申請時のテスト基準
Amazon Fireデバイス対応のアプリやゲームをAmazonアプリストアに申請する場合、アプリが一連のテストを通過しない限り公開は認められません。アプリを開発するときは、アプリ申請前に行う独自の品質保証テストのガイドとして、このページのテスト基準を使用してください。
- コンテンツポリシー
- 一般要件
- テスト基準グループ1: デバイス機能テスト
- テスト基準グループ2: Fire TVデバイスでのアプリの動作
- テスト基準グループ2: Fireタブレットデバイスでのアプリの動作(Fireタブレットのみ)
- テスト基準グループ2: アプリの主なパフォーマンス指標
- テスト基準グループ3: アプリのコア機能
- テスト基準グループ4: Amazon Fire TVリモコンの動作(Fire TVのみ)
- テスト基準グループ5: Amazon Fire TVゲームコントローラーの動作(Fire TVのみ)
コンテンツポリシー
申請する各アプリは、Amazonアプリストアのコンテンツポリシーに準拠する必要があります。これらのガイドラインで禁止されているコンテンツをアプリが包含、助長、宣伝していると判断した場合、Amazonはアプリの申請を却下し、開発者アカウントに関連付けられているEメールアドレスを使用して通知します。
一般要件
アプリは全般的に次のような要件を満たしている必要があります。
- シンプルで考え抜かれたユーザーエクスペリエンスを備え、ユーザーを混乱させることがない。
- 徹底的にテストされ、バグがなく、クラッシュせず、明らかな欠陥がない。
- ユーザーのアクションの成功または失敗を視覚的に表示する。
- 対応していない機能にユーザーがアクセスしようとしても、エラーになるだけで異常終了しない。たとえば、「この機能は現在使用できません」のようなエラーメッセージを表示します。
- FireタブレットまたはFire TVの画面領域を最大限に活用する。
- 画像の欠け/ゆがみ/ブロックノイズ、UI要素の配置ミス、読みにくいテキストといった視覚的な欠陥がない。
- UIテキストに文法上の誤りやスペルミスがない。
Fire TV対応アプリの追加要件
Fire TV対応アプリは、次の追加要件を満たす必要があります。
- 最適なユーザーエクスペリエンスを提供するために、解像度1080p(1920×1080px)でアプリが表示されるように設計する。
- 要求されるテキスト入力が少ない。大量のテキスト入力はユーザーエクスペリエンスを損ないます。
- 約3メートル離れた場所からユーザーが文字やUI要素を判読できる。
- 2GB以下のサイズにする(推奨)。このサイズには、最初にダウンロードする追加アセットまたはその他のコンテンツが含まれます。アプリのファイルサイズが4GBを超えるかそれに近いと、デバイスでインストール・実行ができない場合があります。
Fireタブレット対応アプリの追加要件
Fireタブレット対応アプリは、次の追加要件を満たす必要があります。
- UIが通知バーと動的なソフトキーメニューバーの両方を考慮かつ活用した設計になっている。
Amazon Fire TVリモコンおよび音声認識リモコンのための要件
Fire TVリモコンとの互換性を保つために、アプリは、次の特徴を備えている必要があります。
- 上下左右の動き(D-Pad)で簡単に移動できるシンプルなUIを備えている。
- モーションイベントや、速い動作での入力を必要としない。
- 片手で操作できる。両手の使用を、対話性を維持するための必要条件にしないでください。
- アプリを使用するためにリモコンを横向きに持つ必要がある場合は、起動時にそのことをユーザーに知らせ、ナビゲーションが正しく処理されるようにする。
- ボタンの同時入力、特にコア機能の同時入力は避ける。
ゲームおよびその他のコントローラー
アプリとゲームコントローラー(Amazon Fire TVゲームコントローラー(日本では現在お取り扱いできません)とその他のBluetoothゲームコントローラーの両方)の互換性を保つには、D-Padまたはアナログスティックで簡単に移動できるシンプルなUIが必要です。
アプリでその他のコントローラーを使用する必要がある場合は、そのコントローラーがBluetooth HIDゲームパッドプロファイルに対応している必要があります。また、入力のための追加ソフトウェアが不要でなければなりません。
テスト基準グループ1: デバイス機能テスト
このテストグループでは、Amazon FireタブレットまたはFire TVデバイスに存在しない機能をアプリが使用していないことを確認します。デバイスに存在しないパーミッションをアプリがリクエストした場合、アプリはエラーメッセージを表示するなどのユーザーフレンドリーな方法でエラー状況を処理する必要があります。デバイスにこれらの機能がないことでアプリが強制終了したり、クラッシュしたりしないようにする必要があります。
最適なユーザーエクスペリエンスを提供するために、アプリが次のいずれのパーミッションも使用しないようにする必要があります。
android.permission.SET_WALLPAPER
android.permission.CALL_PRIVILEGED
android.permission.CALL_PHONE
android.permission.MODIFY_PHONE_STATE
android.permission.READ_PHONE_STATE
android.permission.READ_SMS
android.permission.RECEIVE_SMS
android.permission.SEND_SMS
android.permission.WRITE_SMS
android.permission.ACCESS_FINE_LOCATION
android.permission.RECORD_AUDIO
また、Fire TVアプリでは次のパーミッションを使用しないでください。
android.permission.CAMERA
テスト基準グループ2: Fire TVデバイスでのアプリの動作
アプリはAmazon Fire TVデバイスおよびFire TVプラットフォームと正しく連携する必要があります。このテストグループを完了するには、アプリをFire TVデバイスにインストールして起動します。
2.1 インストールサイズ
- テスト: アプリをインストールし、ディスク上のフルインストールサイズが4GB以下であることを確認します。
- 期待される結果: Amazon Fire TVデバイスにフルインストールされたアプリのファイルサイズが4GB以上にならないようにします。アプリのすべてのコア機能を利用するために最初の起動時にメディアまたはコンテンツパッケージをダウンロードする必要がある場合は、最初の起動およびダウンロード後にインストールサイズを測定してください。
2.2 インストール時間
- テスト: アプリリソースが迅速にインストールされることを確認します。
- 期待される結果: アプリは15秒以内にインストールされるのが理想です。未使用のリソースがアプリから削除されていることを確認します。これによってアプリのサイズが小さくなり、インストール時間が短縮されます。
2.3 ロード時間
- テスト: 画面のロード時間が15秒を超えると「ロード中」というメッセージが表示されることを確認します。
- 期待される結果: ロードにかかる時間が15秒を超える場合、アプリはロード画面や進行状況バーなどを使用して、そのことをユーザーに通知する必要があります。
2.4 ログイン機能
- テスト: アプリを起動し、そのアプリで使用できるすべてのログインオプションの機能を確認します。
- 期待される結果: どのログインオプションでもユーザーがアプリにログインできる必要があります。ログインオプションの例としては、アクティベーションコードを使用したログイン、手動ログイン、携帯電話を使用したリモートログインなどがあります。ログイン機能と承認機能が意図したとおりに動作および表示される必要があります。
2.5 全体的なパフォーマンス
- テスト: アプリの全体的なパフォーマンスが、使用しやすく快適なユーザーエクスペリエンスを維持していることを確認します。詳細なガイダンスについては、アプリの主なパフォーマンス指標を参照してください。
- 期待される結果: 一定時間以上にわたって25fps以下になることがなく、高いフレームレートを維持する必要があります。アプリの性能によってユーザーの操作を妨げないようにする必要があります。たとえば、入力に著しい遅延が発生することや、アプリの使用中に強制終了、クラッシュ、フリーズしないようにしてください。高速で移動するグラフィックオブジェクトが含まれるアプリで推奨される平均フレームレートは55~60fpsです。
2.6 全体的なメモリ使用量
- テスト: Amazonアプリストアで公開するアプリの各バージョンとも、フォアグラウンドでの書き込みは平均50MB/時間、バックグラウンドでは2MB/時間を超えないようにします。
- 期待される結果: eMMCへの書き込みの上限である50MB/時間を超えると、影響のあるアプリを長期的に使用しているデバイスで障害の発生につながります。アプリのアップデートをリリースする前に、アプリで再生されるビデオやオーディオがeMMCにバッファリングされないことを確認してください。この処理が行われる場合、eMMCコンポーネントへのアプリの書き込みが50MB/時間を超えやすくなります。ビデオやオーディオのバッファリングは、通常、eMMC以外のコンポーネントで行われます。
2.7 安定性
- テスト: アプリが安定した状態を保ち、実行中に完全な対話性を維持していることを確認します。
- 期待される結果: アプリの使用中に動画の減速(FPSの低下)、強制終了、クラッシュ、フリーズが発生したり、エラーメッセージが送出されたりしないようにしてください。また、競合する入力を処理するときも安定した状態を保つ必要があります。
2.8 グラフィックの問題
- テスト: アプリのグラフィカルユーザーインターフェイス要素を確認して、ゆがみ、ブロックノイズ、配置ミスなどのグラフィックの異常が発生しないか検証します。
- 期待される結果: アプリのグラフィックにゆがみ、ブロックノイズ、配置ミスなどの異常がないようにする必要があります。また、Amazon Fire TVデバイスに搭載されるすべてのアプリは、自動的に横向きモードで表示され、解像度480p以上のより大きなフォームファクターでは、TV/モニターに合わせてスケーリングする必要があります。
2.9 画面の表示範囲
- テスト: アプリが占有する画面範囲を確認します。
- 期待される結果: 完全な互換性を確保するために、アプリが画面の90%を占有する必要があります(アプリ内課金(IAP)のユーザーエクスペリエンス(UX)に関するデザインガイドラインに記載されているオーバースキャンの問題を考慮します)。ただし、アプリが画面の80%を占有し、縦向きと横向きのどちらでも画面中央に配置されれば、合格する可能性はあります。アプリが画面の隅に配置されないようにする必要があります。また、画面の空白部分にグラフィックの異常がないようにする必要があります。
2.10 テキスト入力と表示
- テスト: テキスト入力が必要なアプリのすべてのコア機能を特定し、さらに約3メートル離れてアプリ内のテキストを確認します。
- 期待される結果: アプリはコア機能の一環として大量のテキスト入力を要求してはなりません。UIコンポーネント(メニュー、ボタン、画像)は、約3メートル離れても判読できるように十分な大きさと間隔が設定されている必要があります。アプリ内のテキストもこの距離から明確に判読できる必要があります。
2.11 UIの強調表示
- テスト: 選択したUI要素が強調表示されることを確認します。
- 期待される結果: アプリは、UIの現在のフォーカスをユーザーに示すことでタッチスクリーン入力ではなくボタン入力に対応するUIを備えている必要があります。これは、デフォルトの長方形ボックス、移動可能なカーソル、ユーザーの選択内容を示すその他のインジケーターによって実現できます。
2.12 タッチスクリーンUI
- テスト: アプリのUIに、バーチャルジョイスティック、一時停止アイコンなどのタッチスクリーン関連のリファレンスが表示されないことを確認します。
- 期待される結果: コントローラーからの入力が検出された場合は、タッチスクリーンのUI要素を無効にするか、アプリ全体からすべてのタッチスクリーンリファレンスを削除する必要があります。
2.13 ナビゲーション性
- テスト: 抜け出せない領域、つまり、画面要素とコントローラーのボタンのどちらを使用してもそこから移動できない領域がないか探します。
- 期待される結果: ユーザーはどの画面にもロックされずに、アプリのユーザーインターフェイスを移動できる必要があります。また、ユーザーが [ホーム] ボタンを使用してアプリを強制終了しないで済むようにする必要があります。
2.14 外部リンク
- テスト: アプリでユーザーが外部コンテンツにリンクされるかどうかを確認します。
- 期待される結果: 外部リンクによって、アプリの機能が損なわれないようにする必要があります。別のアプリ内のビデオコンテンツに直接リンクできるのは、2つのアプリが相互に関連付けられている場合のみです。アプリ内からのディープリンクも参照してください。
2.15 超高解像度(UHD)、4K再生
- テスト: アプリがUHDや4Kに対応している場合は、アプリでUHDまたは4Kコンテンツを選択して再生します。
- 期待される結果:
- オーディオとビデオのアーティファクトが発生しないようにする必要があります。
- オーディオとビデオが同期している必要があります。
- 解像度が3840 x 2160であることを確認します。
-
テストに関するヒント:
開発ツールメニューには色域規格に関する情報が表示されます。また、アプリに関するリアルタイム指標などの情報を表示するオプションもあります。開発者ツールメニューには次の方法でアクセスします。
- Amazon Fire TVリモコンの場合: D-Padで [選択] ボタンを1秒間長押しします。[選択] を押したまま、[下] ボタンも押します。そのまま両方のボタンを3~4秒間長押しします。次に、両方のボタンを放し、リモコンの [メニュー] ボタンを押します。うまくいかない場合は、時間を空けず、[選択] と [下] を同時に長押ししてみてください。
- Amazon Fire TVゲームコントローラーの場合: [A] ボタンと [Y] ボタンを同時に5秒間長押しします。両方のボタンを放し、コントローラーの [メニュー] ボタンを押します。
- Android Debug Bridgeの場合: Fire TVでADBが有効になっていて、コンピューターが接続されている場合は、コンピューターで次のコマンドを実行して開発者ツールメニューを呼び出すことができます。
adb shell am start com.amazon.ssm/com.amazon.ssm.ControlPanel
adbコマンドを使用するには、Fire TVの設定でADBデバッグを有効にしていること、Android Studioがインストールされていること、Fire TVのIPアドレスを確認しておくことが必要です。Fire TVのIPアドレスを確認するには、[設定] > [My Fire TV](または [デバイスとソフトウェア])> [バージョン情報] > [ネットワーク] の順に選択します。コンピューターでターミナルウィンドウを開き、コマンド
adb connect 123.456.7.89:5555
を使用してADB経由で接続します。123.456.7.89は自分のIPアドレスに置き換えてください。ポートの5555はそのまま使用します。Android MediaCodec APIを使用している場合にマルチメディア情報を表示するには、[詳細オプション] をオンにします。このオプションをオンにしてメディアを再生すると、画面上に追加の画面が表示されます。この画面の [MUL] セクションにはマルチメディア(オーディオとビデオ)情報が表示され、[AUD] セクションにはオーディオフォーカス情報が表示されます。
次のスクリーンショットは、開発者ツールメニューと [詳細オプション] の画面を示しています。
2.16 ドルビービジョン、ハイダイナミックレンジ(HDR)
ドルビービジョンなどのHDR形式に対応しているデバイスでは、HDRやドルビービジョン形式で録画された映画を再生できる必要があります。Fire TVで表示設定を確認するには、[設定] > [ディスプレイとサウンド] > [ディスプレイ] の順に選択します。
- テスト: ドルビービジョンまたはHDR対応のタイトルをアプリで選択して再生します。
- 期待される結果:
- コンテンツがドルビービジョンまたはHDR形式で視聴可能であることを示すロゴまたはタグが必要です。
- オーディオとビデオのアーティファクトが発生しないようにする必要があります。
- オーディオとビデオが同期している必要があります。
- 色域規格はBT2020である必要があります。
- テストに関するヒント
2.17 ドルビーアトモス
アプリはデバイスの機能を検出できる必要があり、したがってアトモス対応コンテンツをアトモスオーディオ形式でストリーミングする必要があります。オーディオトラックがドルビーアトモスエンコード形式で構成されていて、接続先のエンドポイントがそのエンコード形式に対応している場合は、コンテンツをアトモスオーディオ形式で再生する必要があります。接続先のエンドポイントがドルビーアトモスに対応していない場合は、ドルビー以外の形式にフォールバックする必要があります。ドルビーの統合に関する詳細なガイドラインについては、ドルビーの統合に関するガイドライン(Fire TV)を参照してください。
Fire TVでドルビーの設定を確認するには、[設定] > [ディスプレイとサウンド] > [オーディオ] の順に選択します。
-
テスト: アトモス対応Fire TVをアトモス対応オーディオ/ビデオレシーバー(AVR)に接続するか、アトモスオーディオ形式に対応したTVを使用してください。
Fire TVをAVRに接続するには、次の手順に従います。
- Fire TV StickをAVRの入力ポートに接続します。
- AVRのオーディオリターンチャネル(ARC)ポートとTVのARCポートをHDMIケーブルで接続します。
スマートTVをAVRに接続するには、次の手順に従います。
- スマートTVのARCポートをAVRのARCポートに接続します。
Fire TVをAVRに接続したら、Fire TVにビデオが表示され、オーディオがAVRを経由していることを確認します。AVRが接続されているため、オーディオはTVのスピーカーを経由しなくなります。
アトモス対応コンテンツをアプリで再生します。
-
期待される結果:
- AVRのデジタルディスプレイに「Atmos」という文字が表示されます。
- 再生中にオーディオとビデオが同期している必要があります。
- フレームドロップ、音飛び、カラーアーティファクトが発生しないようにする必要があります。
2.18 オーディオフォーカス
オーディオを再生するアプリはいずれも、再生時間と正確に一致した状態でオーディオフォーカスを適切に取得および解放する必要があります。複数の音楽アプリによる同時再生を防ぐため、Androidはオーディオフォーカスの概念を取り入れて、一度に1つのアプリだけがオーディオフォーカスを保持できるようにしています。オーディオフォーカスの処理方法の詳細については、オーディオフォーカスの管理(Fire TV)を参照してください。
- テスト:
- アプリ(テスト対象のアプリ)でコンテンツを再生します。
- リモコンの [ホーム] ボタンを押します。
- ほかの音楽アプリ(Amazon Musicなど)を起動します。
- リモコンの [ホーム] ボタンを押して音楽アプリを終了します。
- テスト対象のアプリを起動し、再生を再開します。
- 再生中に [再生/一時停止] を押します。
- 期待される結果:
- オーディオが重なって再生されないようにする必要があります。
- テスト対象のアプリがフォアグラウンドに残り、オーディオフォーカスが音楽アプリに戻らないようにする必要があります。
2.19 HDMIの接続解除
HDMI接続解除イベントを受け取ったら、アプリはメディアの再生を一時停止する必要があります。画面のない状態では、アプリで再生を継続するべきではありません。4K画質のビデオ再生は大量のデータを使用する可能性がありますが、画面がなければデータを使用する必要はありません。オーディオ専用アプリであっても、HDMIシンクが接続解除されたら再生が一時停止するようにしてください。HDMIケーブルがディスプレイに再接続されても、アプリは一時停止状態を維持することが求められます。詳細については、要件7.1: HDMIの接続解除を参照してください。
- テスト:
- アプリで再生を開始します。再生中に、TVで別のHDMI入力に切り替えます。3分以上待ってから、再びFire TVに切り替えてアプリを起動します。
- アプリで再生を開始します。再生中に、リモコンの [電源] ボタンを使用してTVをオフにします。3分以上待ってから、Fire TVをオンにしてアプリを起動します。
- 期待される結果:
- HDMI入力が切り替わったときに、アプリでの再生が一時停止する必要があります。
- Fire TVが再接続されたときに、コンテンツが同じ位置から再開されるようにする必要があります。
- クラッシュしないようにする必要があります。
2.20 対応していないソフトウェア
- テスト: アプリ内の機能が、対応していないソフトウェアに依存していないかテストします。
- 期待される結果: Amazon Fire TVプラットフォームで対応していないソフトウェアまたはOSの機能に依存しているために使用できないアプリは、このテストで不合格となります。テスターは、このテストで確認された制限事項を記録する必要があります(テーマ、壁紙、ウィジェット、プログラムランチャー、バーチャルキーボード、プログラムランチャー、アプリ評価など)。
2.21 対応していないハードウェア
- テスト: 対応していないハードウェア入力の使用に対するアプリ内の制御をテストします。
- 期待される結果: デバイスで対応していない制御メカニズムがアプリで必要とならないようにしてください。次の機能が挙げられます。
- ジャイロスコープ
- 加速度計(または「傾き」制御)
- その他の外部ハードウェア
- Bluetooth HIDゲームパッドプロファイルに対応していないコントローラー
2.22 終了時間
- テスト: [ホーム] ボタンが押されるとスムーズかつ迅速に終了することを確認します。
- 期待される結果: [ホーム] ボタンが押されたら、アプリは2秒以内に終了する必要があります。
2.23 アンインストール
- テスト: デバイスからアプリをアンイストールします。
- 期待される結果: アプリがデバイスからアンインストールされる必要があります。
2.24 アンインストール時間
- テスト: アプリが迅速にアンインストールされ、すべてのアーティファクトが削除されることを確認します。
- 期待される結果: アプリは2秒以内にアンインストールされるのが理想です。アプリがディスクに作成するアーティファクトは、最小限にする必要があります。これにより、アプリのアンインストール時のクリーンアップ時間を短縮できます。
テスト基準グループ2: Fireタブレットデバイスでのアプリの動作(Fireタブレットのみ)
アプリはFireタブレットおよびその動作環境と正しく連携する必要があります。このテストグループを完了するには、アプリをFireタブレットにインストールして起動します。
2.1 エラーのない起動
- テスト: アプリライブラリからアプリを正常に起動します。
- 期待される結果: アプリがFireタブレットで起動し、正常にユーザーインターフェイスが表示されます。
2.2 ロード時間
- テスト: 画面のロード時間が15秒を超えると「ロード中」というメッセージが表示されることを確認します。
- 期待される結果: ロードにかかる時間が15秒を超える場合、アプリはロード画面や進行状況バーなどを使用して、そのことをユーザーに通知する必要があります。
2.3 全画面モードでのユーザビリティ
- テスト: アプリで全画面を使用する場合は、全画面のハンドルを表示したままソフトキーツールバーが最小化され、設定ツールバーが非表示になることを確認します。
- 期待される結果: アプリで全画面を使用する場合は、全画面のハンドルを表示したままソフトキーツールバーが最小化され、設定ツールバーが非表示になる必要があります。
2.4 ソフトキーツールバーおよび設定ツールバー
- テスト: アプリで全画面を使用しない場合は、ソフトキーツールバーと設定ツールバーが表示されることを確認します。
- 期待される結果: アプリで全画面を使用しない場合は、ソフトキーツールバーと設定ツールバーを表示する必要があります。
2.5 ソフトキーのメニューボタンの機能
- テスト: ソフトキーのメニューボタンが展開して、その他のソフトキーオプションが表示されることを確認します。
- 期待される結果: メニューボタンの使用は必須ではありません。ただし、使用する場合は、メニューボタンをタップしてもアプリが強制終了しないようにしてください。
2.6 [戻る] ボタンの正しい動作
- テスト: アプリ内で [戻る] ボタンを押して前の画面に戻るときの [戻る] ボタンの動作を確認します。
- 期待される結果: [戻る] ボタンの使用は必須ではありません。ただし、使用する場合は、[戻る] ボタンを押してもアプリが強制終了しないようにしてください。
2.7 [ホーム] ボタンの正しい動作
- テスト: アプリ内で [ホーム] ボタンを押したときの [ホーム] ボタンの動作を確認します。
- 期待される結果: [ホーム] ボタンの使用は必須で、ユーザーはFireタブレットのホーム画面に戻ることができる必要があります。
2.8 [検索] ボタンの正しい動作
- テスト: アプリ内で [検索] ボタンを押したときの [検索] ボタンの動作を確認します。
- 期待される結果: [検索] ボタンの使用は必須ではありません。ただし、使用する場合は、[検索] ボタンを押してもアプリが強制終了せず、ユーザーはアプリ内で検索できる必要があります。
2.9 設定ツールバー起動時のアプリのパフォーマンス
- テスト: 設定ツールバーを起動したときの設定ツールバーの動作を確認し、音量など、設定を変更したときのアプリのパフォーマンスを確認します。
- 期待される結果: アプリの実行中に、ユーザーがFireタブレットの設定を変更できる必要があります。[設定] メニューを使用しても、ユーザーの状態が維持され、強制終了せず、ユーザーエクスペリエンスを妨げないようにします。
2.10 ソフトキーツールバーの干渉
- テスト: ソフトキーツールバーがアプリに干渉したり、重要なUI要素を隠したりしないことを確認します。
- 期待される結果: ソフトキーツールバーが、ボタン、テキスト、重要なグラフィックなど、アプリの要素を妨げないようにします。
2.11 ナビゲーション性
- テスト: 抜け出せない領域、つまり、画面要素とソフトキーのボタンのどちらを使用してもそこから移動できない領域がないか探します。
- 期待される結果: ユーザーはどの画面にもロックされずに、アプリのユーザーインターフェイスを移動できる必要があります。また、ユーザーが [ホーム] ソフトキーを使用してアプリを強制終了しないで済むようにする必要があります。
2.12 休止モード後の状態の保持
- テスト: 電源ボタンを押して、デバイスの休止モードを起動します。
- 期待される結果: デバイスが休止モードになるとユーザーデータと進行状況がすべて保存され、休止モードが解除されたときに、アプリは以前の状態に戻る必要があります。状態を保存するために、ほとんどのアプリは一時停止する必要があります。ただし、アラーム、ラジオ、音楽プレーヤーなど、一部のアプリはデバイスが休止していても実行を続ける必要があります。また、ユーザーの状態が失われてもほとんど影響のないアプリの場合はテストを通過する可能性があります。
2.13 ダウンロード中のネットワーク接続の中断
- テスト: ダウンロードが進行しているときにネットワーク接続が切断された場合のアプリの動作を確認します。
- 期待される結果: 5分以上かかる大きなダウンロードに対しては、WakeLockがアクティブになる必要があります。WakeLockが実装されていない状態でデバイスが休止モードに入った場合は、ユーザーがアプリに戻るときに、ダウンロードに失敗したことを示すメッセージでユーザーに通知する必要があります。
2.14 全体的なパフォーマンス
- テスト: アプリの全体的なパフォーマンスが、使用しやすく快適なユーザーエクスペリエンスを維持していることを確認します。詳細なガイダンスについては、アプリの主なパフォーマンス指標を参照してください。
- 期待される結果: 一定時間以上にわたって25fps以下になることがなく、高いフレームレートを維持する必要があります。アプリの性能によってユーザーの操作を妨げないようにする必要があります。たとえば、アプリへの入力に著しい遅延が発生しないようにします。アプリの使用中に強制終了、クラッシュ、フリーズしないようにしてください。高速で移動するグラフィックオブジェクトが含まれるアプリで推奨される平均フレームレートは55~60fpsです。
2.15 強制終了
- テスト: 再現可能または再現不可能な強制終了を確認します。
- 期待される結果: 強制終了が発生せずに、ユーザーがアプリのUIと機能を操作できる必要があります。
2.16 フリーズ
- テスト: 再現可能または再現不可能なフリーズを確認します。
- 期待される結果: フリーズが発生せずに、ユーザーがアプリのUIと機能を操作できる必要があります。
2.17 ユーザーの誤使用によるエラー
- テスト: 画面のボタンまたはその他のグラフィック要素を繰り返し押します。
- 期待される結果: ユーザーがボタンを連打しても、アプリが強制終了しないようにする必要があります。
2.18 グラフィックの問題
- テスト: アプリのグラフィカルユーザーインターフェイス要素を確認して、ゆがみ、ブロックノイズ、配置ミスなどのグラフィックの異常が発生しないか検証します。
- 期待される結果: アプリのグラフィックにゆがみ、ブロックノイズ、配置ミスなどの異常がないようにする必要があります。低品質のグラフィックが原因で、ユーザーエクスペリエンスが損なわれないようにする必要があります。
2.19 UIの位置のずれ
- テスト: キーを押して、UIの位置のずれを確認します。
- 期待される結果: UIグラフィックの位置が、タッチスクリーンでのインタラクティブ領域と正確に一致することを確認します。たとえば、ボタンが表示されている位置よりも20px上をユーザーが押す必要がある場合、テストを通過しません。
2.20 外部リンク
- テスト: アプリでユーザーが外部コンテンツにリンクされるかどうかを確認します。
- 期待される結果: アプリ内の外部リンクによって、アプリの機能が損なわれないようにする必要があります。外部リンクからアプリに戻ったら、ユーザーの状態と進行状況がアプリに保存されている必要があります。まだ公開されていないアプリに誘導するリンクの場合は、機能しないように見えます。これは、想定どおりの動作です。ただし、アプリが公開されたら、リンクは機能する必要があります。別のアプリ内のビデオコンテンツに直接リンクできるのは、これらのアプリが相互に関連付けられている場合のみです。アプリ内からのディープリンクも参照してください。
2.21 画面の表示範囲
- テスト: アプリが占有する画面範囲を確認します。
- 期待される結果: 完全な互換性を確保するには、アプリが画面の100%を占有する必要があります。ただし、アプリが画面の80%を占有し、縦向きと横向きのどちらでも画面中央に配置されれば、合格する可能性はあります。アプリが画面の隅に配置されないようにする必要があります。また、画面の空白部分にグラフィックの異常がないようにする必要があります。
2.22 音量制御
- テスト: アプリ内の音量制御とミュート制御の動作を確認します。
- 期待される結果: アプリに組み込んだ音量機能とミュート機能が、想定どおりに機能する必要があります。ミュートした場合は、音声が再生されなくなる必要があります。
2.23 テキストの配置
- テスト: ユーザーの入力データフィールド内のテキストとその配置を確認します。
- 期待される結果: 入力ボックスでは、ユーザーが入力したテキストが、欠けたり、判読できなかったりせずに、完全に表示される必要があります。
2.24 向きの変更
- テスト: デバイスを回転して横向きモードと縦向きモードを切り替えるときのアプリの動作を確認します。アプリ全体にわたって必要に応じて繰り返します。
- 期待される結果: 画面の向きが回転したときに、画面のグラフィックは新しいレイアウトに収まるよう適切に調整される必要があります。テキスト、グラフィック、およびボタンは、正常に表示され、レイアウトが切り替わっても十分に機能する必要があります。画面を回転できないアプリもあることに注意してください。また、画像と動画は、縦横比が固定されているために、この規則の例外になる場合があることにも注意してください。
2.25 ソーシャルネットワークへのログイン機能
- テスト: すべてのソーシャルネットワークログインページの機能を確認します。
- 期待される結果: ユーザーはソーシャルネットワークのログインページを操作して、アカウントにログインできる必要があります。ログイン機能と承認機能が意図したとおりに動作および表示される必要があります。
2.26 SMS/MMSでの適切なエラー処理
- テスト: ユーザーデータの送信または共有に使用する、アプリ内のボタンの動作を確認します。
- 期待される結果: SMSまたはMMSを使用してユーザーデータを共有するアプリは、強制終了しないようにしてくださいこれらのアプリは、関連するエラーメッセージを表示してエラーを適切に処理できるようにする必要があります。
2.27 ソーシャルネットワークの共有
- テスト: ソーシャルネットワークの機能とアプリとの連携機能を確認します。
- 期待される結果: アプリがソーシャルネットワーク(Facebook、Twitterなど)と連携している場合は、これらのメディアにコンテンツを想定どおりにアップロードおよび共有できることを確認します。アカウントの作成: アプリの外部サービスでユーザーアカウントの作成が必要になる場合は、アプリを使用してアカウントを作成、使用できることを確認します。
2.28 Amazonアプリストアリンクの正常機能
- テスト: Amazonアプリストアにリンクする外部リンクを確認します。
- 期待される結果: ほかのアプリにリンクするすべてのリンクが、Amazonアプリストアに正しくリンクしている必要があります。リンクがAmazonアプリストアのアプリを直接参照しているものの、そのアプリが現在アプリストアで公開されていない場合は、そのリンクが機能しなくてもかまいません。
2.29 アンインストール
- テスト: デバイスからアプリをアンイストールします。
- 期待される結果: アプリがデバイスからアンインストールされる必要があります。
2.30 終了時間
- テスト: アプリを終了します。
- 期待される結果: [ホーム] ボタンが押されたら、アプリは2秒以内に終了する必要があります。
2.31 インストール時間
- テスト: アプリリソースが迅速にインストールされることを確認します。
- 期待される結果: アプリは15秒以内にインストールされるのが理想です。未使用のリソースがアプリから削除されていることを確認します。これによってアプリのサイズが小さくなり、インストール時間が短縮されます。
2.32 アンインストール時間
- テスト: アプリが迅速にアンインストールされ、すべてのアーティファクトが削除されることを確認します。
- 期待される結果: アプリは2秒以内にアンインストールされるのが理想です。アプリがディスクに作成するアーティファクトは、最小限にする必要があります。これにより、アプリのアンインストール時にクリーンアップ時間を短縮できます。
2.33 向きのロック
- テスト: デバイスの向きの設定に従って、アプリの向きが正しいことを確認します。
- 期待される結果: デバイス設定でデバイスの向きがロックされている場合、デバイスを回転してもアプリの向きが変わらないようにする必要があります。アプリはデフォルトの向き、またはデバイスでロックされている向きに開く必要があります。デバイスの向きがロックされている場合、デバイスを回転しても向きが自動で変わらないようにする必要があります。
2.34 バッテリー使用量
- テスト: アプリが過剰にバッテリーを消費していないことを確認します。
- 期待される結果: バッテリーを大量に消費する処理の消費電力を抑えるよう最適化する必要があります。
2.35 温度
- テスト: デバイスを長時間使用しても、その温度がユーザーに不快感を与えるほど上昇しないようにする必要があります。
- 期待される結果: アプリによってデバイスが過熱して、デバイスを両手で持っているユーザーが不快感を覚えるようなことがないようにしてください。1時間アプリを継続して使用し、デバイスの温度が40℃(通常周囲温度が33℃のとき)に達した場合は、アプリは不適格と見なされます。集中的な処理は、温度が低く保たれるように最適化する必要があります。
2.36 ジェスチャー
- テスト: 使用可能なすべてのジェスチャーが、標準的な動作に従って処理されることを確認します。期待される結果: ピンチ(イン/アウト)、スワイプ(左/右/上/下)、長押しが想定どおりに機能する必要があります。
2.37 USBの着脱後の状態の保持
- テスト: USBの着脱後に、ゲームの状態が保持されることを確認します。
- 期待される結果: デバイスがUSBモードになるとユーザーデータと進行状況がすべて保存され、USBモードが解除されたときに、アプリは以前の状態に戻る必要があります。
2.38 バックグラウンドのエラーと例外
- テスト: アプリから例外が返されないことを確認します。
- 期待される結果: デバイスログを分析して、アプリがエラーまたは例外を返していないことを確認することをお勧めします。アプリがバックグラウンドでエラーや例外をまったく返さないのが理想的です。
テスト基準グループ2: アプリの主なパフォーマンス指標
起動時間テスト
コールドスタート:最初のフレームを表示するまでの時間
これは、アプリのプロセスが強制終了された後またはデバイスが再起動した後、アプリを初めて起動したときに、最初のフレームが表示されるまでにかかる時間です。Fire TVおよびFireタブレット対応アプリは、コールドスタートでの起動後2秒以内に最初のフレームを表示する必要があります。
パラメーター | テスト詳細 |
---|---|
測定 | 自動 |
反復回数 | 平均50回 |
ネットワーク | Wi-Fi(最低速度: 25Mbps) |
デバイス | テスト対象デバイス(DUT): - FOS6: Fire TV Stick 4K(2018) - FOS7: Fire TV Stick(音声認識リモコン付き)(2020) - Fire HD 10タブレット(2023) |
テスト対象アプリ(AUT)- 前提条件
- テストアカウントを使用してデバイスにログインします。
- テスト対象のアプリをダウンロードします。
- デバイスを安定した状態にします。
- バックグラウンドにほかのアプリがないことを確認します。
テスト手順
- AUTがバックグラウンドで実行されていないことを確認します。バックグラウンドで実行されている場合は、adbコマンドを使用してアプリのプロセスを強制終了します。
- adbコマンド
adb shell am start AppPackage/AppActivity
を使用してアプリを起動します。 - アプリの最初のフレームが描画されるまでにかかった時間を計算します。
- アプリを強制終了します。
- 手順1~4を50回繰り返します。
adb logcat | grep "Displayed APP_PACKAGE_NAME/LAUNCHER_ACTIVITY"
adb logcat | findstr "Displayed APP_PACKAGE_NAME\LAUNCHER_ACTIVITY"
出力サンプル: ActivityManager: Displayed APP_PACKAGE_NAME/LAUNCHER_ACTIVITY +930ms (total +849ms)
ウォームスタート:最初のフレームを表示するまでの時間
これは、アプリのプロセスが既にバックグラウンドで実行されているときに、最初のフレームが表示されるまでにかかる時間です。この起動アクティビティの一部として、システムはアプリをバックグラウンドからフォアグラウンドに移動させます。Fire TVおよびFireタブレットで動作するアプリはすべて、ウォームスタート後1秒以内に最初のフレームを表示する必要があります。
パラメーター | テスト詳細 |
---|---|
測定 | 自動 |
反復回数 | 平均50回 |
デバイス | テスト対象デバイス(DUT): - FOS6: Fire TV Stick 4K(2018) - FOS7: Fire TV Stick(音声認識リモコン付き)(2020) - Fire HD 10タブレット(2023) |
テスト対象アプリ(AUT)- 前提条件
- テストアカウントを使用してデバイスにログインします。
- テスト対象のアプリをダウンロードします。
- デバイスを安定した状態にします。
- バックグラウンドにほかのアプリがないことを確認します。
テスト手順
- AUTを起動し、[ホーム] ボタンを押します。AUTがバックグラウンドにあることを確認します。
- adbコマンドadb shell am start AppPackage/AppActivityを使用してアプリを起動します。
- アプリの最初のフレームが描画されるまでにかかった時間を計算します。
- [ホーム] ボタンを押します。
- 手順2~4を50回繰り返します。
adb logcat | grep "Displayed APP_PACKAGE_NAME/LAUNCHER_ACTIVITY"
adb logcat | findstr "Displayed APP_PACKAGE_NAME\LAUNCHER_ACTIVITY"
出力サンプル: ActivityManager: Displayed APP_PACKAGE_NAME/LAUNCHER_ACTIVITY +930ms (total +849ms)
コールドスタート:使用準備が完了するまでの時間
これは、アプリのプロセスが強制終了された後またはデバイスが再起動した後、アプリを初めて起動したときに、描画が完了してユーザーが操作できるようになるまでにかかる時間です。Fire TV対応アプリでは、コールドスタートでの起動後10秒以内に使用準備が完了する必要があります。Fireタブレット対応アプリでは、このしきい値はゲームアプリで15秒、ゲーム以外のアプリで10秒となります。
パラメーター | テスト詳細 |
---|---|
測定 | 自動または手動 |
反復回数 | 平均10回 |
デバイス | テスト対象デバイス(DUT): - FOS6: Fire TV Stick 4K(2018) - FOS7: Fire TV Stick(音声認識リモコン付き)(2020) - Fire HD 10タブレット(2023) |
テスト対象アプリ(AUT)- 前提条件
- テストアカウントを使用してデバイスにログインします。
- テスト対象のアプリをダウンロードします。
- デバイスを安定した状態にします。
- バックグラウンドにほかのアプリがないことを確認します。
テスト手順
- AUTがバックグラウンドで実行されていないことを確認します。バックグラウンドで実行されている場合は、adbコマンドを使用してアプリのプロセスを強制終了します。
- アプリを起動します。アプリに
reportFullyDrawn
が実装されていない場合は、アプリを起動すると同時に手動でタイマーを開始します。詳細については、reportFullyDrawn
のドキュメント(英語のみ)を参照してください。 - アプリが完全に読み込まれるまでにかかる時間、つまりユーザーがアプリの操作を始められる状態になるまでの時間を計算します。
- アプリを強制終了します。
- 手順1~4を10回繰り返します。
adb logcat | grep "Fully drawn APP_PACKAGE_NAME/LAUNCHER_ACTIVITY"
adb logcat | findstr "Fully drawn APP_PACKAGE_NAME\LAUNCHER_ACTIVITY"
出力サンプル: ActivityManager: Fully drawn APP_PACKAGE_NAME/LAUNCHER_ACTIVITY +930ms (total +849ms)
アプリにreportFullyDrawn
メソッドが実装されていない場合は、使用準備が完了するまでの時間を手動で測定できます(正確さを欠く可能性があります)。
ウォームスタート:使用準備が完了するまでの時間
これは、アプリのプロセスが既にバックグラウンドで実行されているときに、描画が完了してユーザーが操作できるようになるまでにかかる時間です。この起動アクティビティの一部として、システムはアプリをバックグラウンドからフォアグラウンドに移動させます。Fire TV対応アプリおよびFireタブレット対応アプリでは、ウォームスタートでの起動後2秒以内に使用準備が完了する必要があります。ユーザーのログインが必要なアプリの場合、この時間はログイン後のユースケースについて測定してください。
パラメーター | テスト詳細 |
---|---|
測定 | 自動または手動 |
反復回数 | 平均10回 |
デバイス | テスト対象デバイス(DUT): - FOS6: Fire TV Stick 4K(2018) - FOS7: Fire TV Stick(音声認識リモコン付き)(2020) - Fire HD 10タブレット(2023) |
テスト対象アプリ(AUT)- 前提条件
- テストアカウントを使用してデバイスにログインします。
- テスト対象のアプリをダウンロードします。
- デバイスを安定した状態にします。
- バックグラウンドにほかのアプリがないことを確認します。
テスト手順
- AUTを起動し、[ホーム] ボタンを押します。AUTがバックグラウンドにあることを確認します。
- アプリを起動します。アプリに
reportFullyDrawn
が実装されていない場合は、アプリを起動すると同時に手動でタイマーを開始します。 - アプリが完全に読み込まれるまでにかかる時間、つまりユーザーがアプリを操作できる画面になるまでの時間を計算します。
- [ホーム] ボタンを押します。
- 手順2~4を10回繰り返します。
adb logcat | grep "Fully drawn APP_PACKAGE_NAME/LAUNCHER_ACTIVITY"
adb logcat | findstr "Fully drawn APP_PACKAGE_NAME\LAUNCHER_ACTIVITY"
出力サンプル: ActivityManager: Fully drawn APP_PACKAGE_NAME/LAUNCHER_ACTIVITY +930ms (total +849ms)
アプリにreportFullyDrawn
メソッドが実装されていない場合は、使用準備が完了するまでの時間を手動で測定できます(正確さを欠く可能性があります)。
メモリテスト
フォアグラウンドメモリ使用量
これは、フォアグラウンドにあるアプリがビデオ再生中に使用するメモリです。Fire TV対応アプリでは、フォアグラウンドメモリ(RAM)使用量を、4Kビデオアプリの場合は400MB、解像度が1080P以下の場合は300MBまでに制限する必要があります。Fireタブレット対応アプリでは、ゲームアプリの場合はフォアグラウンドメモリ使用量を1000MB未満に制限し、ゲーム以外のアプリの場合はフォアグラウンドメモリ使用量を600MB未満に制限する必要があります。
パラメーター | テスト詳細 |
---|---|
測定 | 自動 |
反復回数 | 平均10回 |
デバイス | テスト対象デバイス(DUT): - FOS6: Fire TV Stick 4K(2018) - FOS7: Fire TV Stick(音声認識リモコン付き)(2020) - Fire HD 10タブレット(2023) |
テスト対象アプリ(AUT)- 前提条件
- テストアカウントを使用してデバイスにログインします。
- テスト対象のアプリをダウンロードします。
- デバイスを安定した状態にします。
- バックグラウンドにほかのアプリがないことを確認します。
テスト手順
- AUTがバックグラウンドで実行されていないことを確認します。バックグラウンドで実行されている場合は、adbコマンドを使用してアプリのプロセスを強制終了します。
- adbコマンド
adb shell am start AppPackage/AppActivity
を使用してアプリを起動します。 - アプリを開き、ビデオコンテンツを15分間再生します。
- アプリのフォアグラウンドメモリ使用量を計算します。
- [ホーム] ボタンを押します。
- 手順2~4を10回繰り返します。
adb shell dumpsys meminfo | grep "APP PACKAGE"
adb shell dumpsys meminfo | findstr "APP PACKAGE"
出力サンプル: 81,773K: APP PACKAGE (pid 21917 / activities)
ビデオストリーミング後のバックグラウンドメモリ使用量
これは、フォアグラウンドにあるアプリがビデオ再生セッションを終了し、直後にバックグラウンドに移動してから使用するメモリです。バックグラウンドメモリ使用量にはしきい値が定義されていませんが、システムのメモリ(RAM)が不足すると、アプリのバックグラウンドメモリ使用量がバックグラウンドアプリの強制終了を決定する要因となります。システムがフォアグランドのタスクや優先度の高いタスクの処理にメモリを必要としている場合、バックグランドメモリ使用量の最も多いアプリが最初に強制終了されます。
パラメーター | テスト詳細 |
---|---|
測定 | 自動 |
反復回数 | 平均10回 |
デバイス | テスト対象デバイス(DUT): - FOS6: Fire TV Stick 4K(2018) - FOS7: Fire TV Stick(音声認識リモコン付き)(2020) - Fire HD 10タブレット(2023) |
テスト対象アプリ(AUT)- 前提条件
- テストアカウントを使用してデバイスにログインします。
- テスト対象のアプリをダウンロードします。
- デバイスを安定した状態にします。
- バックグラウンドにほかのアプリがないことを確認します。
テスト手順
- AUTがバックグラウンドで実行されていないことを確認します。バックグラウンドで実行されている場合は、adbコマンドを使用してアプリのプロセスを強制終了します。
- adbコマンド
adb shell am start AppPackage/AppActivity
を使用してアプリを起動します。 - アプリを開き、ビデオコンテンツを15分間再生します。
- [ホーム] ボタンを押してアプリをバックグラウンドに送ります。
- 60秒間待ちます。
- アプリのバックグラウンドメモリ使用量を計算します。
- 手順2~4を10回繰り返します。
adb shell dumpsys meminfo | grep "APP PACKAGE"
adb shell dumpsys meminfo | findstr "APP PACKAGE"
出力サンプル: 81,773K: APP PACKAGE (pid 21917 / activities)
詳細については、「アプリのパフォーマンススクリプト」を参照してください。
テスト基準グループ3: アプリのコア機能
一般的に、アプリは「設計どおりに動作する」必要があります。 これは一般論ですが、コア機能はテストの最も重要な側面の1つでありながら見過ごされがちです。次のテストは、スコアを正しく維持する、ルールに従うなど、ゲームのコア機能に関連しています。
3.1 アプリのコア機能
- テスト: アプリのコア機能を確認します。
- 期待される結果: アプリの主な目的と、その目的のためにアプリをAmazon FireタブレットまたはFire TVデバイスで使用できるかどうかを判定します(たとえば、音楽アプリは音楽を再生できる必要があります)。
3.2 不足している機能
- テスト: アプリのメタデータに機能として含まれていながら、アプリが備えていない機能がないかどうかを確認します。
- 期待される結果: アプリの説明に記載されている機能は、アプリの機能の一部として使用できる必要があります。
3.3 グレースフルデグラデーション
- テスト: アプリの機能のうち、ターゲットとするFireデバイスで使用できないものを確認します。
- 期待される結果: ターゲットとするFireデバイスで使用できない機能については、いずれも強制終了はせずに、メッセージを表示して最低限の機能を提供する必要があります。
実際アプリの機能を必要に応じて制限した場合でも、引き続きエンドユーザーに価値を提供できる必要があります。コア機能がアプリの唯一の価値である場合、その機能が正常に動作しなければそのアプリは不合格です。たとえば、写真撮影アプリで写真が撮影できない場合、カメラが使用できないことをユーザーにメッセージで通知したとしても、そのアプリは不合格になります。
一方、ユーザーがアプリの主要な機能にアクセスできるのであれば、ほかの機能にアクセスできなくても、そのアプリはテストに合格する可能性があります。たとえば、バス路線アプリの場合、Googleマップは使用できないがバスの路線と時刻表は確認できることをユーザーに通知すれば、そのアプリはテストに合格する可能性があります。
3.4 Eメール(Fireタブレットのみ)
- テスト: Eメールがデバイスに設定されている場合とまだ設定されていない場合に、アプリのコア機能に関係してくる外部のEメールアプリ機能の使用を確認します。
- 期待される結果: 外部のEメールクライアントによるEメールの送信がアプリのコア機能に含まれる場合、その機能のテストは、過去に外部のEメールクライアントを通じて設定したユーザーのEメールを使用せずに行う必要があります。外部のEメールクライアントを呼び出そうとすると、アプリが強制終了することが確認されています。期待される結果は、アプリが強制終了しないで済むことです。アプリはユーザーへの通知メッセージの有無に関係なく、Eメールの機能を無効にできます。
3.5 ソフトウェア関連設定
- テスト: ソフトウェア関連オプション(ゲーム難易度、フィルタリング、表示設定など)の設定を変更したときのアプリの動作を確認します。
- 期待される結果: テスト設定が期待どおりに機能して、アプリ内の関連機能が変更される必要があります。
3.6 ハードウェア関連の設定(Fireタブレットのみ)
- テスト: ハードウェア関連オプションの設定(音量、加速度計、横向きの設定と縦向きの設定など)を変更したときのアプリの動作を確認します。
- 期待される結果: テスト設定が期待どおりに機能して、アプリ内の関連機能が変更される必要があります。
3.7 アプリのデータストレージ
- テスト: アプリが終了後にユーザーの状態やデータを保存できることを確認します。
- 期待される結果: アプリにユーザーデータを保存するモードまたは機能がある場合、データを保存し、アプリを終了して再開した後も、そのデータにアクセスできる必要があります。
3.8 更新後のデータの永続性
- テスト: 旧バージョンのアプリをインストールして、一部のユーザーデータを保存します。旧バージョンのアプリの上から最新バージョンのアプリをインストールします。旧バージョンのアプリで保存したデータが最新バージョンのアプリでアクセスできるかどうかを確認します。
- 期待される結果: アプリは、ゲームデータ、アプリ内課金で購入したコンテンツ、保存した設定、ダウンロードコンテンツ、ログイン認証情報、検索情報、チャット内容、ブックマーク、保存したページなどのユーザーデータを維持する必要があります。
3.9 外部アプリのアクセス
- テスト: アプリの依存関係が正しく処理されていることを確認します。
- 期待される結果: アプリが特定のタスクの実行(ファイル送信など)をほかのアプリに依存しているものの、そのアクションを実行するアプリがデバイスにない場合、メインのアプリが強制終了されないようにする必要があります。
3.10 レイアウト(Fireタブレットのみ)
- テスト: アプリのレイアウトがFireタブレット画面に適切に表示されることを確認します。
- 期待される結果: アプリの表示が、携帯電話版のアプリをFireタブレット画面向けに拡大した表示にならないようにしてください。レイアウトや、ボタン、テキスト入力ボックス、フォント、画像などのUI要素は、Fireタブレット用に最適化されている必要があります。また、タッチの対象となるオブジェクトも、小さすぎないようにする必要があります。オブジェクトは簡単に識別できる必要があります。太い指でもタッチできるだけの大きさと間隔を考慮したサイズにする必要があります。
3.11 ハードウェアアクセラレーション(Fireタブレットのみ)
- テスト: アプリ全体で、2Dグラフィックがスムーズにレンダリングされることを確認します。
-
期待される結果: ハードウェアアクセラレーションをマニフェストファイルで有効にする必要があります。2Dグラフィックのハードウェアアクセラレーションを有効にするには、AndroidManifest.xmlファイルを編集して、次の属性を
<application />
タグに追加する必要があります。android:hardwareAccelerated="true"
3.12 サードパーティ製コントローラーへの対応(Fire TVのみ)
- テスト: アプリで対応しているすべてのサードパーティ製コントローラーが、Bluetooth HIDゲームパッドプロファイルと互換性があることを確認します。
- 期待される結果: Amazon Fire TVデバイスは、Bluetooth HIDゲームパッドプロファイルを使用するサードパーティ製コントローラーに対応しています。追加のドライバーまたはランチャーアプリのインストールが必要な独自開発技術には対応していません。
3.13 複数コントローラーの入力(Fire TVのみ)
- テスト: ローカルマルチプレイに対応しているアプリの場合、アプリが複数のコントローラーからの同時入力を受け取ることを確認します。
- 期待される結果: アプリは、ゲームプレイに悪影響を及ぼさずに、複数のコントローラーからの同時ボタン入力を処理する必要があります。アプリが複数のコントローラータイプに対応している場合、対応しているコントローラーであればどのような組み合わせでもローカルマルチプレイを実行できる必要があります。
3.13 オーディオの再生
- テスト: ユーザーがアプリを終了したら、オーディオの再生が停止することを確認します。
- 期待される結果: ユーザーがアプリを終了したら、アプリはオーディオの再生を停止する必要があります。(コンテンツ再生中の)音楽アプリは、バックグラウンドで再生を続ける場合があります。新しいオーディオソースの再生が始まると(別のアプリを起動する場合など)、最初のアプリはオーディオフォーカスを放棄する必要があります。
3.14 Daydreamモードおよびシステムスタンバイ(Fire TVのみ)
- テスト: デバイスがDaydreamモード(スクリーンセーバーの表示)またはスタンバイモードに入ると、オーディオの再生が停止することを確認します。
- 期待される結果: デバイスがDaydreamモード(スクリーンセーバーの表示)またはスタンバイモードに入ると、アプリはオーディオの再生が停止する必要があります。このルールには次の2つの例外があります。
- (コンテンツ再生中の)ビデオアプリの場合は動作を続ける必要があり(
FLAG_KEEP_SCREEN_ON
)、絶対にDaydreamモードまたはスタンバイモードに入らないようにしなければなりません。 - (コンテンツ再生中の)音楽アプリの場合は、オーディオフォーカスを維持したままスリープモードおよびスタンバイモードで再生を続ける必要があります。
3.15 メタデータ
- テスト: アプリ用に申請されたスクリーンショットおよびアイコンが適切なサイズであり、グラフィック上のエラーがなく、適切なバージョンのアプリの外観を表していることを確認します。
- 期待される結果: アプリの申請には、大きなアイコン(透過性のある512×512のPNG)および3枚から10枚のスクリーンショット(PNGまたはJPG)を含める必要があります。UIで見たときに、これらの画像にゆがみ、伸び、ブロックノイズが発生していないようにする必要があります。Fire TVアプリストアの申請プロセスで指定したアプリのスクリーンショットがAmazon Fire TV固有のものでない場合、そのスマートフォンやタブレットのスクリーンショットがFire TVでアプリのものとして使用されることにご注意ください。これはユーザーを混乱させる原因になります。Fire TVをターゲットとするアプリの場合、Fire TVのスクリーンショットを提供するか、すべてのデバイスについて一般的にアプリを説明できるスクリーンショットを指定してください。画像のガイドラインについては、画像と動画を参照してください。
テスト基準グループ4: Amazon Fire TVリモコンの動作(Fire TVのみ)
Amazon Fire TVは、ナビゲーションおよびユーザー入力の両方にリモコンを使用します。Fire TVプラットフォームはマウス、キーボードには対応しておらず、タッチイベントも使用できません。
注: 4.2([マイク] ボタン)を除くこのセクションのテストはすべて、Amazon Fire TVリモコンおよびAlexa対応音声認識リモコンを対象としています。
4.1 [選択] ボタン
- テスト: [選択] ボタンを押します。D-PadでUI要素が強調表示されている状況、およびUI要素が何も強調表示されていない状況でテストします。
- 期待される結果: [選択] ボタンを押すと、強調表示されているユーザーインターフェイスオブジェクトに対して論理的なアクションが開始される必要があります(強調表示された領域でタッチスクリーンを「タップ」するのに似ています)。
4.2 [マイク] ボタン(Fire TV音声認識リモコンのみ)
- テスト: [マイク] ボタンを押して、音声検索を実行します。
- 期待される結果: [マイク] ボタンを押しても、音声検索アクティビティの結果として安定性やグラフィックの問題が発生しないことを確認します。アプリは、状態を保持するために
onPause()
を実装し、さらに、音声検索が終了した後で再開するためにonResume()
を実装する必要があります。音楽アプリの場合は、OnAudioFocusChangeListener
を使用してオーディオをダッキングする(音量を下げる)必要があります。
4.3 D-Pad
- テスト: D-Padのすべての方向(上下左右)を押します。
- 期待される結果: D-Padのボタンで、ユーザーインターフェイスのフォーカスおよび強調表示が指定の方向に移動する必要があります。
4.4 [ホーム] ボタン
- テスト: [ホーム] ボタンを押します。
- 期待される結果:
- Amazonアプリストアでゲームに分類されるアプリの場合は、[ホーム] ボタンを押すと、[ゲームが一時停止されました] というダイアログが表示されます。この動作がアプリの安定性またはグラフィックの問題を発生させないようにする必要があります。アプリは、[ゲームが一時停止されました] というダイアログが表示されたときの状態を保持するために、
onPause()
を実装する必要があります。 - その他すべてのアプリの場合、[ホーム] ボタンを押すと、Fire TVランチャーの [ホーム] セクションに移動します。予期せずホームに戻った場合に状態を保持するために、アプリは
onPause()
を実装する必要があります。
4.5 [戻る] ボタン
- テストケース: アプリ内で [戻る] ボタンを押したときに、UIが前の画面に戻る必要があります。
- 期待される結果: [戻る] ボタンの使用は必須ではありません。ただし、使用する場合は、[戻る] ボタンを押してもアプリが強制終了したり、UI内で無限ループに入ったりしないようにしてください。
4.6 メディアボタン
- テスト: [早送り]、[再生/一時停止]、および [早戻し] のボタンを押します。
- 期待される結果: メディアボタンを操作したとおりに、再生中のメディアが動作します。 メディア以外のアプリでは、メディアボタンがそのアプリのほかの機能のために使用されないようにする必要があります。使用されると、バックグラウンドで再生されているメディアをシステムが制御できなくなる場合があるためです。 Unityなどのフレームワークはシステムにキーイベントを渡す機能に対応していないため、このようなフレームワークを使用しているアプリの場合、この要件は無視できます。
4.7 その他すべてのボタン
- テスト: その他すべてのボタンを押します。
- 期待される結果: これらのボタンに対する動作要件はありません。ただし、次を確認する必要があります。
- 1つのボタンを押すだけでアプリが終了してホーム画面に戻ることがないこと。
- ボタンを使用して、前の画面に戻ることができること。
- アプリのメインメニュー(または同等のUIナビゲーション開始点)から、ボタンを押してアプリを終了できること。
4.8 コア機能
- テスト: アプリのコア機能を確認し、テストします。
- 期待される結果: アプリ使用の最も一般的なユースケース/シナリオを特定したら、詳細な通しテスト(10分~15分)を実行して機能をテストします。この特定のコントローラーを使用して機能を操作するときに、アプリがAmazon Fire TVデバイスと完全な互換性があるかどうかを判断します。**注:**アプリによっては、コア機能を選んで使用するために、ボタンの同時入力(例:D-Pad入力と [選択] ボタンの組合せ)が必要になる場合があります。Amazon Fire TVリモコンおよび音声認識リモコンは片手で使用できるよう最適化されているので、この機能テストでは、片手でのUXによってアプリとの対話性を維持できるかどうかを判断する必要があります。
テスト基準グループ5: Amazon Fire TVゲームコントローラーの動作(Fire TVのみ)
ゲームコントローラーとの互換性を宣言しているすべてのアプリは、Amazon Fire TVゲームコントローラー(日本では現在お取り扱いできません)をリファレンスデバイスに使用して評価されます。Bluetooth HIDゲームパッドプロファイルを使用できるゲームコントローラーにのみ対応しています。
5.2 D-Pad
- テスト: D-Padをすべての方向(上下左右)に動かします。
- 期待される結果: D-Padの方向ボタンを押すと、ユーザーインターフェイスのフォーカスが指定の方向に移動する必要があります。
5.3 [A] ボタン
- テスト: [A] ボタンを押します。
- 期待される結果: [A] ボタンは、メニューオプションを確認するとき、またはUIプロンプトを受け入れるときに使用します。
- ゲームの場合、プレイ中に [A] アクションボタンを押すと、ゲームコントロールレイアウトのプライマリアクションが実行される必要があります。
- メディアアプリでは、[A] ボタンはオーディオ/ビデオを再生および一時停止できる必要があります。
5.4 [B] ボタン
- テスト: [B] ボタンを押します。
- 期待される結果: [B] アクションボタンを押すことにより、メニューオプション以外の動きとして元に戻ることや、UIプロンプトを拒否することができる必要があります。アプリがゲームの場合、プレイ中に [B] アクションボタンを押すとゲームコントロールレイアウトのセカンダリアクションが実行される必要があります。
5.5 [ホーム] ボタン
- テスト: [ホーム] ボタンを押します。
- 期待される結果:
- Amazonアプリストアでゲームに分類されるアプリの場合は、[ホーム] ボタンを押すと、[ゲームが一時停止されました] というダイアログが表示されます。この動作がアプリの安定性またはグラフィックの問題を発生させないようにする必要があります。アプリは、[ゲームが一時停止されました] というダイアログが表示されたときの状態を保持するために、
onPause()
を実装する必要があります。 - その他すべてのアプリの場合、[ホーム] ボタンを押すと、Fire TVランチャーの [ホーム] セクションに移動します。予期せずランチャーに戻った場合に状態を保持するために、アプリは
onPause()
を実装する必要があります。
5.6 メディアボタン
- テスト: [早送り]、[再生/一時停止]、および [早戻し] のボタンを押します。
- 期待される結果: メディアボタンを操作したとおりに、再生中のメディアが動作します。 メディア以外のアプリでは、メディアボタンがそのアプリのほかの機能のために使用されないようにする必要があります。使用されると、バックグラウンドで再生されているメディアをシステムが制御できなくなる場合があるためです。 Unityなどのフレームワークはシステムにキーイベントを渡す機能に対応していないため、このようなフレームワークを使用しているアプリの場合、この要件は無視できます。
5.7 その他のボタン
- テスト: その他すべてのボタンを押し、左右のアナログスティックを動かします(上下左右)。
- 期待される結果: これらのボタンまたはアナログスティックに対する動作要件はありません。ただし、次を確認する必要があります。
- 1つのボタンを押すだけでアプリが終了してホーム画面に戻ることがないこと。
- ボタンを使用して、前の画面に戻ることができること。
- アプリのメインメニュー(または同等のUIナビゲーション開始点)から、ボタンを押してアプリを終了できること。
5.8 コア機能
- テスト: アプリのコア機能を確認し、テストします。
- 期待される結果: アプリ使用の最も一般的なユースケース/シナリオを特定したら、詳細な通しテスト(10分~15分)を実行して機能をテストします。この特定のコントローラーを使用して機能を操作するときに、アプリがAmazon Fire TVと完全な互換性があるかどうかを判断します。
Last updated: 2024年11月5日