使用ADB测试启动器集成(可选)
在将您的应用与Fire TV启动器集成后,您可以使用Android调试桥 (ADB) 来测试应用,确保它能够正确响应登录和播放意图。
何时使用该测试选项
如果您尚未完成应用的开发或尚未实现用于响应启动器意图的代码,请使用此测试选项(参阅将您的应用与Fire TV启动器集成)。您还需要一台Fire TV设备才能测试您的应用的启动器集成。
如果你想测试启动器集成,但尚未完成应用的开发或至少尚未实现响应意图的代码,请使用测试应用选项。使用集成测试应用来测试Fire TV启动器集成。
流程概述
借助ADB,使用以下大致流程来测试您的Fire TV启动器集成:
步骤A: 使用ADB将应用安装到Fire TV设备上
在测试应用之前,您需要将应用安装到Fire TV设备上。要将您的应用安装到Fire TV设备,请执行以下操作:
- 使用ADB将Fire TV设备连接到您的开发计算机。(参阅通过ADB连接到Fire TV。)
- 将您的应用侧载到设备上以便进行测试。(参阅安装和运行您的应用)。
此页面上的所有adb
命令都使用Android活动管理器 (am
) 将意图发送到您的应用。有关am
语法和选项的更多信息,请参阅Android开发者网站上的Android调试桥。
步骤B: 测试您应用的登录请求
来自Fire TV启动器的登录请求包括请求本身和对请求内容的引用,相应内容应在用户登录后立即播放。内容引用可能会是URI,也会是额外数据名称/值对,具体取决于您的实现。
要测试登录请求,请执行以下操作:
- 在通过ADB连接到Fire TV设备的计算机上,打开终端窗口,以便您可以访问命令行。
- 在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_PACKAGE 和SIGNN_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,也会是额外数据名称/值对,具体取决于您的实现。要播放请求,请执行以下操作:
- 在通过ADB连接到Fire TV设备的计算机上,打开终端窗口,以便您可以访问命令行。
- 在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_PACKAGE 和PLAY_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`