adbを使用してランチャー統合をテストする(オプション)


adbを使用してランチャー統合をテストする(オプション)

アプリとFire TVホーム画面ランチャーを統合した後、Android Debug Bridge(adb)を使用して、アプリがサインインインテントや再生インテントに正しく応答するかをテストできます。

このテストオプションを使用するタイミング

このテストオプションは、アプリの開発がまだ完了していない段階や、ランチャーからのインテントに応答するコードを実装する前に使用してください(アプリとFire TVホーム画面ランチャーを統合するを参照)。アプリのランチャー統合のテストには、Fire TVデバイスが必要となります。

まだアプリが完成していない場合、またはインテントに応答するコードをまだ実装していない場合は、テストアプリの機能を使用してランチャー統合のテストを行ってください。統合テストアプリを使用してFire TVランチャーの統合をテストするを参照してください。

プロセスの概要

adbを使用したFire TVランチャー統合のテストは、主に次のようなプロセスに沿って行います。

手順A: adbを使用してアプリをFire TVデバイスにインストールする

アプリをテストする前に、アプリをFire TVデバイスにインストールする必要があります。次の手順に従ってアプリをFire TVデバイスにインストールします。

  1. adbを使用してFire TVデバイスを開発用コンピューターに接続します(adbを使用してFire TVデバイスに接続するを参照)。
  2. テストのためにアプリをデバイスにサイドロードします(アプリをインストールして実行するを参照)。

このページのすべてのadbコマンドでは、Androidアクティビティマネージャー(am)を使用してインテントをアプリに送信します。amの構文とオプションの詳細については、Androidの開発者向けウェブサイトのAndroid Debug Bridgeを参照してください。

手順B: アプリへのサインインリクエストをテストする

Fire TVランチャーからのサインインリクエストには、リクエスト自体に加えて、リクエストされたコンテンツへのリファレンスが含まれています。このため、ユーザーがサインインするとすぐにコンテンツが再生されます。コンテンツリファレンスは、実装によって、URIである場合や、データエクストラの名前と値のペアである場合があります。

次の手順に従ってサインインリクエストをテストします。

  1. adbを使用してFire TVデバイスに接続したコンピューターで、ターミナルウィンドウを開いてコマンドラインにアクセスします。
  2. シェルのプロンプトで、以下のコマンドのいずれかを入力します。
    • コンテンツがURIで指定されている場合は、以下を入力します。

      adb shell am start -a <signin_intent_action>  -n <signin_component> -f <signin_intent_flags> -d <content_uri>
      
    • コンテンツがデータエクストラで指定されている場合は、以下を入力します。

      adb shell am start -a <signin_intent_action>  -n <signin_component> -f <signin_intent_flags> -e <data_extra_name> <content_id>
      

コマンドオプション

次の表に、上の2つのコマンドで使用できるオプションを示します。<山かっこ>内のテキストはアプリに応じた値に置き換えてください。

コマンド 説明
-a <signin_intent_action> SIGNIN_INTENT_ACTIONエクストラからのサインインインテントアクション。

例:com.yourcompany.player.SIGN_IN
-n <signin_component> サインインアクティビティの完全なコンポーネント名。パッケージ名とクラス名はスラッシュで区切られます。これらの値はそれぞれ、SIGNIN_INTENT_PACKAGEエクストラとSIGNIN_INTENT_CLASSエクストラから取得されます。

例:com.yourcompany.player/com.yourcompany.player.MainActivity
-f <signin_intent_flags> SIGNIN_INTENT_FLAGSエクストラで小数値として指定し、デフォルトのランチャーフラグと結合したインテントフラグ。デフォルトでは、ランチャーは以下のフラグを送信します。

Intent.FLAG_ACTIVITY_NEW_TASK

Intent.FLAG_INCLUDE_STOPPED_PACKAGES

Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

小数値の例: 270532640
-d <content_uri> コンテンツへのリンクがURIで指定されている場合はそのURI。オプション-dを使用する場合は、オプション-eを使用しないでください。
-e <data_extra_name>
<content_id>
コンテンツへのリンクがURI以外の方法で指定されている場合は、そのコンテンツのキーと値のペア。キーはDATA_EXTRA_NAMEエクストラから取得されます。オプション-eを使用する場合は、オプション-dを使用しないでください。

以下の例は、コンテンツをURIで指定している場合に入力するサインインインテントのコマンドを示しています。

adb shell am start -a com.yourcompany.player.SIGN_IN  -n com.yourcompany.player/com.yourcompany.player.MainActivity -f 270532640 -d myplayer://content/12345`

以下の例は、コンテンツをURI以外で指定している場合に入力するサインインインテントのコマンドを示しています。

adb shell am start -a com.yourcompany.player.SIGN_IN  -n com.yourcompany.player/com.yourcompany.player.MainActivity -f 270532640 -e content_id 12345`

手順C: アプリへの再生リクエストをテストする

サインインリクエストと同様に、再生リクエストでは、機能交換の際に、ランチャーに提供したデータを使用します。再生リクエストにはコンテンツリファレンスが含まれ、実装によって、URIである場合と、データエクストラの名前と値のペアである場合があります。次の手順に従って再生リクエストをテストします。

  1. adbを使用してFire TVデバイスに接続したコンピューターで、ターミナルウィンドウを開いてコマンドラインにアクセスします。
  2. シェルのプロンプトで、以下のコマンドのいずれかを入力します。
    • コンテンツがURIで指定されている場合は、以下を入力します。

      adb shell am start -a <playback_intent_action>  -n <playback_component> -f <playback_intent_flags> -d <content_uri>
      
    • コンテンツがデータエクストラのキーと値のペアで指定されている場合は、以下を入力します。

      adb shell am start -a <playback_intent_action>  -n <playback_component> -f <playback_intent_flags> -e <data_extra_name> <content_id>`
      

コマンドオプション

次の表に、上の2つのコマンドで使用できるオプションを示します。<山かっこ>内のテキストはアプリに応じた値に置き換えてください。

コマンド 説明
-a <signin_intent_action> SIGNIN_INTENT_ACTIONエクストラからのサインインインテントアクション。

例:com.yourcompany.player.SIGN_IN
-n <signin_component> サインインアクティビティの完全なコンポーネント名。パッケージ名とクラス名はスラッシュで区切られます。これらの値はそれぞれ、SIGNIN_INTENT_PACKAGEエクストラとSIGNIN_INTENT_CLASSエクストラから取得されます。

例:com.yourcompany.player/com.yourcompany.player.MainActivity
-f <signin_intent_flags> SIGNIN_INTENT_FLAGSエクストラで小数値として指定し、デフォルトのランチャーフラグと結合したインテントフラグ。デフォルトでは、ランチャーは以下のフラグを送信します。

Intent.FLAG_ACTIVITY_NEW_TASK

Intent.FLAG_INCLUDE_STOPPED_PACKAGES

Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

小数値の例: 270532640
-d <content_uri> コンテンツへのリンクがURIで指定されている場合はそのURI。オプション-dを使用する場合は、オプション-eを使用しないでください。
-e <data_extra_name>
<content_id>
コンテンツへのリンクがURI以外の方法で指定されている場合は、そのコンテンツのキーと値のペア。キーはDATA_EXTRA_NAMEエクストラから取得されます。オプション-eを使用する場合は、オプション-dを使用しないでください。

以下の例は、コンテンツがURIで指定されている場合に入力する再生インテントのコマンドを示しています。

adb shell am start -a com.yourcompany.player.PLAY  -n com.yourcompany.player/com.yourcompany.player.MainActivity -f 270532640 -d myplayer://content/12345

以下の例は、コンテンツがURI以外で指定されている場合に入力する再生インテントのコマンドを示しています。

adb shell am start -a com.yourcompany.player.PLAY  -n com.yourcompany.player/com.yourcompany.player.MainActivity -f 270532640 -e content_id 12345`