App Testerを使用してアプリをテストする方法
App Testerは、Amazonアプリストアに変更を公開することなく、統合中にアプリのAppstore SDK機能をテストできるツールです。App Testerツールは、テストデバイスにインストールできるAPKです。すべてのFire TVとFireタブレットに組み込まれており、AmazonアプリストアクライアントAPKを模倣しています。App Testerは、本番環境のAmazonアプリストアサービスの代わりにアプリリクエストを処理します。App Testerを使用すると、Appstore SDKの一部として提供されている3つの主要機能(IAP、DRM、SSI)をすべてテストできます。App Testerは独自のローカルデータストアを維持するため、テストアカウントやデバイスの本番状態に影響を与えることなく、すべてのリクエストを処理します。
App Testerを使用してアプリ内課金(IAP)APIをテストする方法の詳細については、App Testerユーザーガイドを参照してください。
App Tester APKは、Amazonアプリストアから入手できます。Amazon App Testerのページにアクセスして、デバイス用のAPKをダウンロードしてください。
App Testerを使用したテスト
App Testerでテストするには、アプリでサンドボックスモードをアクティブ化する必要があります。ADB(Fire TV/Fireタブレット)を使用してデバイスに接続し、次のコマンドを実行します。
adb shell setprop debug.amazon.sandboxmode debug
App Testerをインストールして開きます。テストを構成するには、[Appstore SDK APIs] をクリックします。


SSI関連のテストを構成して実行するには、[Simple Sign-in API Response Settings] セクションおよび [Manage Simple Sign-in links] セクションを使用してください。
シンプルサインインAPIレスポンスの構成方法
以下の画像は、App Testerの [Simple Sign-In API Response Settings] セクションを示しています。

このセクションでは、サンドボックステストモードのときにApp Testerがアプリに返すレスポンスを制御できます。App Testerは、手動で介入することなくSUCCESSFULレスポンスを返します。シンプルサインインメソッドgetUserAndLinks()およびlinkUserAccount()は、シンプルサインインのバックエンドサービスに依存します。以下のセクションで説明する手順を使用して、これらのメソッドのレスポンスを構成できます。
GetUserAndLinks API
サンドボックスモードでテストするときにアプリからアカウントリンクを設定すると、App Testerはリンク済みアカウントの状態をローカルデータベースに保存します。デフォルトでは、getUserAndLinks()メソッドへのレスポンスは、そのデータベースからのアカウントリンクの現在の状態に基づいています。
アプリが特定のシナリオをどのように処理するかをテストするには、レスポンス設定を構成し、アプリの動作を確認します。以下の画像で示す画面を視覚的なガイドとして使用できます。リクエストステータス値の一覧については、RequestStatusを参照してください。

モックレスポンスを使用したテスト
App Testerでは、getUserAndLinks()を構成して、ローカルデータベースを参照せずにオンザフライで生成されたモックレスポンスを返すこともできます。この機能は、getUserAndLinks()メソッドをテストする前に、リンク済みアカウントを設定するための余分な作業を回避したい場合に便利です。
[Mocked response for GetUserAndLinks] チェックボックスをオンにして、このオプションを有効にします(下のスクリーンショットを参照)。返されると思われるリンク済みアカウントの数に基づいて、受信するモックレスポンスの種類を選択できます。
- デフォルトでは、[No linked accounts] が選択されているため、レスポンスで返されるリンク済みアカウントはありません。
- [One linked account] を選択すると、App Testerは、1つの事前定義されたリンク済みアカウントのデータを含むレスポンスを返します。
- [Two linked accounts] を選択すると、App Testerは、2つの事前定義されたリンク済みアカウントのデータを含むレスポンスを返します。
モックレスポンスオプションを選択しても、App Testerのローカルデータベースに保存されたテストデータは消去されません。このチェックボックスをオフにすると、App Testerに保存されたテストデータを使用したテストに戻ります。

LinkUserAccount API
App Testerは、ローカルデータベースに保存されたリンクトークンを使用して、アカウントリンクのリクエストをローカルで処理します。
App TesterでgetUserAndLinks()を構成してアプリをテストする方法と同様に、受信するレスポンスを指定してlinkUserAccount()メソッドを設定します(下のスクリーンショットを参照)。リクエストステータス値の一覧については、RequestStatusを参照してください。

App TesterはAmazonアプリストアのクラウドに接続しないため、アプリのAmazonアプリストアプライベートキーにアクセスできません。そのため、新しいアカウントリンクリクエストで指定されたlinkSigningKeyを復号化することはできません。その結果、サンドボックスモードでgetUserAndLinks()メソッドから返されたSSIトークンは、任意のプライベート署名キーを使用して署名されます。これらのトークンは、クラウド内のアプリの実際のAmazonアプリストアパブリックキーでは検証できません。
App Testerを使用して、開発の初期段階でAppstore SDK統合のユニットテストを行い、ライブアプリテスト(LAT)を活用してエンドツーエンドのテストを行います。App Testerを使用してエンドツーエンドのフローをテストするには、バックエンドに追加の変更を加えて、アプリのデバッグバージョンからの認証リクエストを識別し、SSIトークン署名の検証をスキップします。
App Testerのトラブルシューティング
アプリからのSSI API呼び出しでApp Testerが正しく起動されていないと思われる場合は、以下を確認してください。
- テストにAPKのデバッグビルドを使用している:App Testerはデバッグバージョンのアプリでのみ動作します。
- 最新バージョンのApp Testerを使用している:App Testerを以前にインストールしていた場合は、古いバージョンを使用している可能性があります。この問題を解決するには、App Testerをアンインストールして最新バージョンをインストールします。
-
デバイスがサンドボックスモードになっている:Appstore SDKの
SimpleSignInServiceクラスでgetSDKMode()メソッドを問い合わせて、Appstore SDKの現在のモードを特定できます。このメソッドから返される戻り値は次のとおりです。SANDBOXPRODUCTIONUNKNOWN
SDKモードはSANDBOXである必要があります。SDKモードがUNKNOWNを返す場合は、アプリ内でAppstore SDKの初期化に問題が発生していることを示します。アプリのコンテキストとレスポンスハンドラーを登録するために、SimpleSignInService#registerResponseHandler()を呼び出したかどうかを確認します。詳細については、手順2: 具体的な実装を登録するを参照してください。
リンク済みアカウントの管理
App Testerのローカルデータベースに保存されているリンク済みアカウントは削除できます。[Unlink linked accounts] をクリックして、現在のユーザーのリンク済みアカウントをすべて消去します。

ユーザーエクスペリエンスのシミュレーション
App Testerでは、ユーザー同意画面とログイン画面をシミュレーション実装します。これらの画面はアプリの本番画面でも同じ内容を表示しますが、これらの画面のルックアンドフィールはアプリの画面と大きく異なり、完成度が低い状態です。


Last updated: 2026年2月17日

