开发者控制台

使用ADB测试启动器集成(可选)

使用ADB测试启动器集成(可选)

将您的应用与Fire TV启动器集成后,您可以使用Android调试桥 (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调试桥

步骤B: 测试您应用的登录请求

来自Fire TV启动器的登录请求包括请求本身和对请求内容的引用,相应内容应在用户登录后立即播放。内容引用可能会是URI,也会是额外数据名称/值对,具体取决于您的实现。

要测试登录请求,请执行以下操作:

  1. 在通过ADB连接到Fire TV设备的计算机上,打开终端窗口,以便您可以访问命令行。
  2. 在shell提示符处,键入以下命令之一:
    • 如果您的内容由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>
      

命令选项

下表描述了这两个命令的可用选项。将<尖括号>中的文本替换为您的应用的正确值:

命令 描述
-a <signin_intent_action> 您的登录意图操作,来自SIGNIN_INTENT_ACTION的额外信息。

示例:com.yourcompany.player.SIGN_IN
-n <signin_component> 您的登录活动的完整组件名称,由用斜杠分隔的程序包名和类名组成。这些值分别来自SIGNIN_INTENT_PACKAGESIGNN_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. 在shell提示符处,键入以下命令之一:
    • 如果您的内容由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>`
      

命令选项

下表描述了这两个命令的可用选项。将<尖括号>中的文本替换为您的应用的正确值:

命令 描述
-a <play_intent_action> 您的播放意图操作,来自PLAY_INTENT_ACTION的额外信息。

示例:android.intent.action.VIEW
-n <play_component> 您的播放活动的完整组件名称,由以斜杠分隔的程序包名和类名组成。这些值分别来自PLAY_INTENT_PACKAGEPLAY_INTENT_CLASS的额外信息。

示例:com.yourcompany.player/com.yourcompany.player.PlayActivity
-f <play_intent_flags> 您在PLAY_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`