Amazonアプリストアにおけるアプリ申請時のテスト基準


Amazonアプリストアにおけるアプリ申請時のテスト基準

Amazon Fireデバイス対応のアプリやゲームをAmazonアプリストアに申請する場合、アプリが一連のテストを通過しない限り公開は認められません。アプリを開発するときは、アプリ申請前に行う独自の品質保証テストのガイドとして、このページのテスト基準を使用してください。

コンテンツポリシー

申請する各アプリは、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ゲームコントローラーとその他の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デバイスでのアプリの動作(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 全体的なパフォーマンス

  • テスト: アプリの全体的なパフォーマンスが、使用しやすく快適なユーザーエクスペリエンスを維持していることを確認します。
  • 期待される結果: 一定時間以上にわたって25fps以下になることがなく、高いフレームレートを維持する必要があります。アプリの性能によってユーザーの操作を妨げないようにする必要があります。たとえば、入力に著しい遅延が発生することや、アプリの使用中に強制終了、クラッシュ、フリーズしないようにしてください。高速で移動するグラフィックオブジェクトが含まれるアプリで推奨される平均フレームレートは55~60fpsです。

2.5 全体的なメモリ使用

  • テスト: アプリが実行中に1GBを超えてシステムメモリを使用しないことを確認します。
  • 期待される結果: Amazon Fire TVデバイスで使用できるメモリは非常に限られています。アプリで使用するシステムメモリが、メインメモリとGPUの両方を含めて1GBを超えないようにする必要があります。

2.6 安定性

  • テスト: アプリが安定した状態を保ち、実行中に完全な対話性を維持していることを確認します。
  • 期待される結果: アプリの使用中に動画の減速(FPSの低下)、強制終了、クラッシュ、フリーズが発生したり、エラーメッセージが送出されたりしないようにしてください。また、競合する入力を処理するときも安定した状態を保つ必要があります。

2.7 グラフィックの問題

  • テスト: アプリのグラフィカルユーザーインターフェイス要素を確認して、ゆがみ、ブロックノイズ、配置ミスなどのグラフィックの異常が発生しないか検証します。
  • 期待される結果: アプリのグラフィックにゆがみ、ブロックノイズ、配置ミスなどの異常がないようにする必要があります。また、Amazon Fire TVデバイスに搭載されるすべてのアプリは、自動的に横向きモードで表示され、解像度480p以上のより大きなフォームファクターでは、テレビ/モニターに合わせてスケーリングする必要があります。

2.8 画面の表示範囲

  • テスト: アプリが占有する画面範囲を確認します。
  • 期待される結果: 完全な互換性を確保するために、アプリが画面の90%を占有する必要があります( デザインとユーザーエクスペリエンス(UX)に関するガイドラインに記載されているオーバースキャンの問題を考慮します)。ただし、アプリが画面の80%を占有し、縦向きと横向きのどちらでも画面中央に配置されれば、合格する可能性はあります。アプリが画面の隅に配置されないようにする必要があります。また、画面の空白部分にグラフィックの異常がないようにする必要があります。

2.9 テキスト入力と表示

  • テスト: テキスト入力が必要なアプリのすべてのコア機能を特定し、さらに約3メートル離れてアプリ内のテキストを確認します。
  • 期待される結果: アプリはコア機能の一環として大量のテキスト入力を要求してはなりません。UIコンポーネント(メニュー、ボタン、画像)は、約3メートル離れても判読できるように十分な大きさと間隔が設定されている必要があります。アプリ内のテキストもこの距離から明確に判読できる必要があります。

2.10 UIの強調表示

  • テスト: 選択したUI要素が強調表示されることを確認します。
  • 期待される結果: アプリは、UIの現在のフォーカスをユーザーに示すことでタッチスクリーン入力ではなくボタン入力に対応するUIを備えている必要があります。これは、デフォルトの長方形ボックス、移動可能なカーソル、ユーザーの選択内容を示すその他インジケーターを介して実行できる場合があります。

2.11 タッチスクリーンUI

  • テスト: アプリのUIに、バーチャルジョイスティック、一時停止アイコンなどのタッチスクリーン関連のリファレンスが表示されないことを確認します。
  • 期待される結果: コントローラーからの入力が検出された場合は、タッチスクリーンのUI要素を無効にするか、アプリ全体からすべてのタッチスクリーンリファレンスを削除する必要があります。

2.12 ナビゲーション性

  • テスト: 抜け出せない領域、つまり、画面要素とコントローラーのボタンのどちらを使用してもそこから移動できない領域がないか探します。
  • 期待される結果: ユーザーはどの画面にもロックされずに、アプリのユーザーインターフェイスを移動できる必要があります。また、ユーザーが [ホーム] ボタンを使用してアプリを強制終了しないで済むようにする必要があります。

2.13 外部リンク

  • テスト: アプリ内でいずれかの外部リンクをクリックしたときの動作を確認します。
  • 期待される結果: アプリ内の外部リンクによって、アプリの機能が損なわれないようにする必要があります。現在、Amazon Fire TVプラットフォームにはインターネットブラウザが含まれていません。このため、ブラウザを必要とする部分がアプリにある場合は、その部分の機能を適切に(アプリの状態を変えずに安定を保ったまま)制限するか、アプリから完全に削除する必要があります。

2.14 対応していないソフトウェア

  • テスト: アプリ内の機能が、対応していないソフトウェアに依存していないかテストします。
  • 期待される結果: Amazon Fire TVプラットフォームで対応していないソフトウェアまたはOSの機能に依存しているために使用できないアプリは、このテストで不合格となります。テスターは、このテストで確認された制限事項を記録する必要があります(テーマ、壁紙、ウィジェット、プログラムランチャー、バーチャルキーボード、プログラムランチャー、アプリ評価など)。

2.15 対応していないハードウェア

  • テスト: 対応していないハードウェア入力の使用に対するアプリ内の制御をテストします。
  • 期待される結果: デバイスで対応していない制御メカニズムがアプリで必要とならないようにしてください。次の機能が挙げられます。
  • ジャイロスコープ
  • 加速度計(または「傾き」制御)
  • その他の外部ハードウェア
  • Bluetooth HIDゲームパッドプロファイルに対応していないコントローラー

2.16 終了時間

  • テスト: [ホーム] ボタンが押されるとスムーズかつ迅速に終了することを確認します。
  • 期待される結果: [ホーム] ボタンが押されたら、アプリは2秒以内に終了する必要があります。

2.17 アンインストール

  • テスト: デバイスからアプリをアンイストールします。
  • 期待される結果: アプリがデバイスからアンインストールされる必要があります。

2.18 アンインストール時間

  • テスト: アプリが迅速にアンインストールされ、すべてのアーティファクトが削除されることを確認します。
  • 期待される結果: アプリは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 バックグラウンドのエラーと例外

  • テスト: アプリから例外が返されないことを確認します。
  • 期待される結果: デバイスログを分析して、アプリがエラーまたは例外を返していないことを確認することをお勧めします。アプリがバックグラウンドでエラーや例外をまったく返さないのが理想的です。

テスト基準グループ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 スリープモードおよびシステムスタンバイ(Fire TVのみ)

  • テスト: デバイスがスリープモード(スクリーンセーバーの表示)またはスタンバイモードに入ると、オーディオの再生が停止することを確認します。
  • 期待される結果: デバイスがスリープモード(スクリーンセーバーの表示)またはスタンバイモードに入ると、アプリはオーディオの再生が停止する必要があります。このルールには次の2つの例外があります。
  • (コンテンツ再生中の)ビデオアプリの場合は動作を続ける必要があり(FLAG_KEEP_SCREEN_ON)、絶対にスリープモードまたはスタンバイモードに入らないようにしなければなりません。
  • (コンテンツ再生中の)音楽アプリの場合は、オーディオフォーカスを維持したままスリープモードおよびスタンバイモードで再生を続ける必要があります。

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プラットフォームはマウス、キーボードには対応しておらず、タッチイベントも使用できません。

注: 3.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 メディアボタン

  • テスト: [早送り][再生/一時停止]、および [早戻し] のボタンを押します。
  • 期待される結果: メディアボタンを操作したとおりに、再生中のメディアが動作します。  メディア以外のアプリでは、メディアボタンがそのアプリの他の機能のために使用されないようにする必要があります。使用されると、バックグラウンドで再生されているメディアをシステムが制御できなくなる場合があるためです。  Unityなどのフレームワークはシステム経由で主要なイベントを渡す機能に対応していないため、これらのフレームワークを使用しているアプリの場合、この要件は無視できます。

4.6 その他すべてのボタン

  • テスト: その他すべてのボタンを押します。
  • 期待される結果: これらのボタンに対する動作要件はありません。ただし、次を確認する必要があります。
  • 1つのボタンを押すだけでアプリが終了してホーム画面に戻ることがないこと。
  • ボタンを使用して、前の画面に戻ることができること。
  • アプリのメインメニュー(または同等のUIナビゲーション開始点)から、ボタンを押してアプリを終了できること。

4.7 コア機能

  • テスト: アプリのコア機能を確認し、テストします。
  • 期待される結果: アプリ使用の最も一般的なユースケース/シナリオを特定したら、詳細な通しテスト(10分~15分)を実行して機能をテストします。この特定のコントローラーを使用して機能を操作するときに、アプリがAmazon Fire TVデバイスと完全な互換性があるかどうかを判断します。**注:**アプリによっては、コア機能を選んで使用するために、ボタンの同時入力(例:D-Pad入力と [選択] ボタンの組合せ)が必要になる場合があります。Amazon Fire TVリモコンおよび音声認識リモコンは片手で使用できるよう最適化されているので、この機能テストでは、片手でのUXによってアプリとの対話性を維持できるかどうかを判断する必要があります。

テスト基準グループ5: Amazon Fireゲームコントローラーの動作(Fire TVのみ)

ゲームコントローラーとの互換性を宣言しているすべてのアプリは、Amazon Fireゲームコントローラーをリファレンスデバイスに使用して評価されます。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と完全な互換性があるかどうかを判断します。