开发者控制台

一般故障排除

一般故障排除

此页面包含与集成Fire TV集成SDK有关的常见问题。

设备上未生成SDK日志

设备不受支持
确保您使用的是受支持的设备。请咨询您的亚马逊联系人,获取当前支持的设备类型列表。
设备软件已过时
如果您使用的是受支持的设备,请确保您已安装最新软件。导航到Settings(设置)> My Fire TV(我的 Fire TV)> About(简介),然后点击Check for Updates(检查更新)。
应用中未正确包含相应工件
如果您使用的是受支持的设备并且已安装最新软件,请仔细检查应用中是否正确包含相应工件。有关其他详细信息,请参阅在您的应用中添加SDK

应用正在调用SDK并生成SDK日志,但Continue Watching行中未显示任何内容

检查点#1 - 确认功能已启用
导航到Settings > Preferences(首选项)> Privacy Settings(隐私设置)> Manage Sharing from Apps(管理来自应用的共享),验证是否已为您的CustomerID(客户ID)启用内容个性化功能。如果缺少Manage Sharing from Apps选项,请联系您的亚马逊联系人并提供您的CustomerID和DSN(设备序列号)。
Settings > Preferences > Privacy Settings下的预期菜单项
检查点#2 - 确认已将您的应用列入许可名单
导航到Settings > Preferences > Privacy Settings > Manage Sharing from Apps > Manage by App,确认已将您的应用列入许可名单。如果其中不包含您的应用:
  1. 确保您的应用已安装在设备上,此列表仅显示已安装的应用。
  2. 选择Sync Amazon Content(同步亚马逊内容),等待最多15分钟,然后再次查看列表。
  3. 如果列表中仍缺少该应用,请联系您的亚马逊联系人,并提供您的CustomerID、DSN和用于开发的程序包名称。
您的应用应出现在Settings > Preferences > Privacy Settings > Manage Sharing from Apps > Manage by App下的此列表中
检查点3 - 确认该功能已开启
确认您的应用已列入许可名单后,请确保您已启用该功能,方法是导航到Settings > Preferences > Privacy Settings > Manage Sharing from AppsShare App Viewing and Content Info(共享应用查看和内容信息)功能设置为ON(开启)。
应将Share App Viewing and Content Info设置为ON
我还是找不到我的应用
确认您已满足以下所有条件:
  • 正在使用受支持的设备,并且该设备具有所有最新更新
  • 已完成开始使用Fire TV集成SDK - 步骤4
  • 已在检查点#3中确认功能已启用和已将应用列入许可名单
  • 已确认您正在使用目录文件中显示的CDF ID

如果您仍然无法在Continue Watching行中看到内容,请通过您的亚马逊联系人报告错误。

Fire TV系统未调用数据集成服务

此功能尚未启用,但您必须将其作为集成的一部分来实现。亚马逊将在内部验证实现情况。

SDK功能检查返回true,但设备未显示Continue Watching行

某些设备也许能够加载SDK库,但尚不完全支持Continue Watching体验。功能检查仅表明库是否可用,不保证功能的可用性。我们建议您仍然在设备上添加对SDK的调用,因为亚马逊将来可能会支持这些设备。您的亚马逊联系人可以共享当前支持Continue Watching功能的设备列表。

Continue Watching行未按预期运行

请参见故障排除

处理后台进程结束的场景

当前台进程需要内存时,Android操作系统会停止其他进程以释放内存。但是,活动历史记录会保留在活动堆栈中。下次启动该活动时,将使用停止该进程之前的初始启动意图启动该活动。第二个意图(即最新的意图),接下来使用onNewIntent() 回调实现。

后台信息

Android的处理流程

了解处理流程将有助于您了解操作系统如何使用进程和意图。

  1. 第三方应用(活动A)以深度链接意图(意图A)启动。
  2. ActivityA.onCreate() 被调用,并且getIntent() 将产生意图A。
  3. 活动A已移至后台,客户可能会使用其他应用和功能。
  4. Android内存不足终止守护程序 (lmkd) 会停止活动A以释放内存。
  5. ActivityA.onDestroy() 被调用,然后活动A进程停止。

  6. 活动A稍后以不同的用例和不同的意图(意图B)开始。
  7. ActivityA.onCreate() 被调用,但getIntent() 仍将产生意图A。
    1. 如果使用非标准启动模式,例如singleTopsingleTasksingleInstance,则Android操作系统将检查任务是否已经存在活动,并将尝试使用onNewIntent() 回调来路由意图。
    2. 对于标准启动模式,您必须创建目标任务的新实例,并将意图传送到该新实例。
  8. 接下来会调用ActivityA.onNewIntent(),将意图B作为回调中的意图。
跨实例保存状态

当一个进程通过Android操作系统在后台结束时,系统会首先调用onSaveInstanceState(Bundle),这样该活动就可以将状态信息保存到实例状态Bundle中。在下次活动启动期间,在onCreate() 中,保存的实例Bundle可用于指示该进程在由Android操作系统结束后重新启动,或者该进程是否是新启动的活动。

该活动不会结束以释放内存,但活动运行时所在的进程将停止。重新创建活动时,可以从Bundle中恢复保存的实例。

有关更多信息,请参阅以下内容:

如果深度链接似乎不能正常起作用,则可能是因为选择了上一个意图,而不是最新的意图。有两种方法可以解决这个问题。

选项1

第一个选项是使用从应用收到的最新意图。如果深度链接未显示正确的信息,则可能是因为您没有使用最新的意图。除最新意图以外的所有意图都会被系统删除或忽略。

有关更多信息,请参阅onNewIntent()

选项2

除了选项1,您还可以使用专门的活动来接收和转发深度链接。这样做的好处是,在处理深度链接后,活动可以调用finish(),将其从活动历史记录中删除。下次启动活动时,当从onCreate() 等生命周期回调中使用getIntent() 时,该活动将包含最新的意图。这样系统就不需要等待onNewIntent() 回调。


Last updated: 2024年10月25日