步骤2: 从目录验证深层链接
在将您的应用提交到亚马逊应用商店之前,请通过运行此处列出的测试案例来验证您的集成。成功验证行为是否正确将有助于亚马逊应用商店接受您的应用。根据应用的状态(已发布或未发布)和条件(是否需要登录、是否有免费试用),您只需要执行适用于应用的步骤。
- 使用adb启动Comrade,以查看已发送意图
- 已启动操作和已发送意图
- adb命令输出示例
- 登录意图输出示例
- 播放意图输出示例
- 测试案例:深层链接
- 测试案例: 用户可使用“后退”按钮返回到搜索结果页面
- 测试案例:发送无效的内容ID
- 其他测试
使用adb启动Comrade,以查看已发送意图
要查看应用程序发送的意图,请使用adb连接到Fire TV设备并启动Comrade。Comrade是Fire TV API的名称,使用启动器管理内容。
-
首先卸载您的应用。
要卸载应用,转到Settings(设置)> Applications(应用)> Manage Installed Applications(管理已安装应用)。选择您的应用,然后单击Uninstall(卸载)两次。
-
经由adb连接到Fire TV设备。例如:
adb connect 10.49.172.33:5555
您可通过该路径寻找网络地址:Settings > My Fire TV(我的Fire TV)> About(关于)> Network(网络)。(有些型号显示为“Device”(设备)而不是“My Fire TV”)
-
使用adb安装您的应用。例如:
adb install <APK文件的路径>
有关更多详细信息,请参阅安装和运行您的应用。
-
清除logcat:
adb logcat -c
-
根据您Fire TV设备的操作系统版本,运行以下命令:
adb logcat | grep FTVCS:ComradeActionHandler
-
始终开启中断,以便监控已发送意图。然后根据下一节已启动操作和已发送意图的说明启动操作,然后观察响应结果。再往后一节adb命令输出示例则显示了您应该在终端中看到的输出示例。
已启动操作和已发送意图
本节显示了已启动的操作和随后应该作为结果发送的意图。
已发起操作 | 已发送意图 |
---|---|
首次启动时,例如以下任何一种首次启动:
|
...默认情况下应发送登录意图。 ...只有在符合以下任何一项的情况下,才应发送播放意图:
|
在成功登录之后… | …应当已发送播放意图 |
在注销或登出时… | …应当发送登录意图 |
如果您的应用使用单点登录(SSO),并且您的应用处于后台… | …当您的应用恢复并且您确定存在有效的SSO令牌onResume时,应该发送播放意图。(注意: 要将应用程序移到后台,请启动应用,然后按下遥控器上的“主页”) |
adb命令输出示例
本节显示了应该出现在终端中的意图输出示例,并强调了关键信息。突出显示的值指示从您的应用接收到的意图:
- SIGN_IN: 登录意图
- PLAY: 播放意图
- PARTNER123: 合作伙伴的目录名称
登录意图输出示例
收到登录意图时,您将看到如下输出内容:
06-11 16:09:57.448 4347 16145 I FTVCS:ComradeActionHandler: Received capability: SIGN_IN for partner: PARTNER123 06-11 16:09:57.450 4347 16145 I FTVCS:ComradeActionHandler: Processing capabilities Capabilities{mPartnerId='PARTNER123', mPackageName='com.yourpackagename.firetv', mComradeApiVersion=V1, mSubscriptionIds=[], mCapabilities={SIGN_IN=Capabilities{mCapabilityType=SIGN_IN, mIntentPackageName='com.yourpackagename.firetv', mIntentAction='android.intent.action.VIEW', mIntentClassName='com.partner.android.IntegrationActivity', mIntentDataExtraName='null', mIntentFlags=-1}}}
以上代码使用一般值。您将看到应用程序自带的程序包名称、类和额外信息。
播放意图输出示例
收到播放意图时,您将看到如下输出内容:
06-11 16:09:57.379 4347 16145 I FTVCS:ComradeActionHandler: Received capability: PLAY for partner: PARTNER123 06-11 16:09:57.380 4347 16145 I FTVCS:ComradeActionHandler: Processing capabilities Capabilities{mPartnerId='PARTNER123', mPackageName='com.yourpackagename.firetv', mComradeApiVersion=V1, mSubscriptionIds=[], mCapabilities={PLAY=Capabilities{mCapabilityType=PLAY, mIntentPackageName='com.yourpackagename.firetv', mIntentAction='com.yourpackagename.amazon.catalog.ON_MESSAGE', mIntentClassName='com.yourpackagename.MainActivity', mIntentDataExtraName='null', mIntentFlags=268435456}}}
以上代码使用一般值。您将看到应用程序自带的程序包名称、类和额外信息。
测试案例:深层链接
除了确保发送正确的意图,还应当测试深层链接行为。更具体地讲,确保播放用户选择的内容会打开应用并直接启动视频播放(如果应用发送了播放意图),或者在启动时来到应用内的登录或注册屏幕(如果应用发送了登录意图)。
对于每个深层链接场景,应该测试两种类型的用户状态:未经身份验证的用户和经过身份验证的用户。要测试深层链接,您可以使用Fire TV的通用搜索从应用中搜索媒体,然后选择在应用中查看结果。下表显示了预期的条件和结果。
条件 | 结果 |
---|---|
未经身份验证的状态: 您的应用需要用户完成身份验证才能观看内容,但用户尚未登录。 | 深层链接应该会将您带到身份验证或注册屏幕。身份验证成功后,视频应开始播放。 |
已验证身份状态: 您的应用需要用户完成身份验证才能观看内容,并且用户已成功登录。或者,所有内容都可以免费观看,甚至不需要创建账户。 | 访问深层链接时,应启动视频的播放。不应转到视频详情页面。 |
测试以下深层链接场景:
从冷启动进入深层链接
“冷启动”是指应用安装后或强制停止运行后的首次启动。如果已在后台运行的应用必须冷启动,则深层链接行为会有所不同。
要从冷启动测试已验证身份状态下的深层链接:
- 启动您的应用。
- 登录您的应用。
- 按遥控器上的“Home”按钮。
- 强制停止应用。转到Settings > Applications > Manage Installed Applications > [您的应用] > Force stop。
- 使用Fire TV的通用搜索来搜索您应用的媒体,然后选择它。媒体详情页面会显示Watch Now with <您的应用>按钮。
- 单击Watch Now with <您的应用>,媒体应当在您的应用中打开。
访问深层链接时,应启动视频的播放。不应转到视频详情页面。
要从冷启动测试未经身份验证状态下的深层链接:
- 启动您的应用。
- 如果必要,请从应用登出。
- 按遥控器上的“Home”按钮。
- 强制停止应用。转到Settings > Applications > Manage Installed Applications > [您的应用] > Force stop。
- 使用Fire TV的通用搜索来搜索您应用的媒体,然后选择它。在媒体详情页面上,可能有各种订阅选项。您的应用可能列在More Ways to Watch(更多观看方式)下方。有关如何就此进行确定的更多信息,请参阅The Buy Box。
- 单击您的应用,将其启动。应当会出现您应用的登录或注册屏幕。
深层链接应该会将您带到身份验证或注册屏幕。身份验证成功后,视频应开始播放。
与后台应用之间的深层链接
要在您的应用处于后台时测试已验证身份阶段中的深层链接:
- 启动您的应用。
- 登录您的应用。
- 按遥控器上的“Home”按钮。
- 使用Fire TV的通用搜索来搜索您应用的媒体,然后选择它。媒体详情页面会显示Watch Now with <您的应用>按钮。
- 单击Watch Now with <您的应用>,媒体应当在您的应用中打开。
访问深层链接时,应启动视频的播放。不应转到视频详情页面。
要在您的应用处于后台时测试未经身份验证阶段中的深层链接:
- 启动您的应用。
- 如果必要,请从应用登出。
- 按遥控器上的“Home”按钮。
- 使用Fire TV的通用搜索来搜索您应用的媒体,然后选择它。在媒体详情页面上,可能有各种观看您的内容的方式。您的应用可能列在More Ways to Watch下方。有关如何就此进行确定的更多信息,请参阅The Buy Box。
- 单击您的应用,将其启动。应当会出现您应用的登录或注册屏幕。
深层链接应该会将您带到身份验证或注册屏幕。身份验证成功后,视频应开始播放。
与视频播放之间的深层链接
要在视频正在播放时测试已验证身份状态下的深层链接:
- 启动您的应用。
- 登录您的应用。
- 开始在您的应用中观看视频。
- 在观看视频时,按下遥控器上的Alexa按钮,进行无动词的内容语音搜索。例如,在搜索Friends(好友)时,按Alexa并说出Friends。
- 通用搜索应显示内容,您的应用应停止音频和视频播放。选择内容。
内容应当自动播放。不应转到视频详情页面。
测试案例: 用户可使用“后退”按钮返回到搜索结果页面
此测试案例将使用“后退”按钮检查行为是否合适。
- 从Fire TV主屏幕中,从应用中搜索媒体。
- 选择使用您的应用播放内容。
- 按Back按钮。按下Back按钮,您最终会返回到搜索结果。
测试案例:发送无效的内容ID
您应该运行的另一个测试案例是向应用程序发送无效的内容ID,以确保其能够妥善处理此条件。如果您的应用无法正确处理此条件,请重新访问您的错误处理代码,并根据需要进行更改。
要测试向您的应用发送无效的内容ID:
- 将您的应用下载或侧载到Fire TV设备。
- 如有必要,请登录和/或激活应用订阅。
- 使用测试应用(请参阅使用集成测试应用来测试Fire TV启动器集成)或adb命令(请参阅使用ADB来测试启动器集成)向您的应用发送无效ID。
- 首先发送一个有效的ID,以确保内容正确启动。
- 测试以下无效ID条件:
- 使用数字发送无效的ID。
- 使用字母字符发送无效的ID。
- 使用数字和字母的组合发送无效的ID。
- 验证在发送无效ID时,您的应用是否能够正确处理意图。
应用应该启动并将用户留在应用的主屏幕上。或者,您的应用应该提供适当的消息,例如“抱歉,您选择的内容不再提供。” 如果用户没能进入应用程序主屏幕或消息未显示,请修改错误处理代码进行修正。
其他测试
您也可以按照以下两个主题所述,对目录内容执行附加测试:
Last updated: 2024年9月27日