观看列表
观看列表
    
    
    
 开放Beta测试文档 作为预发布开放Beta测试的一项内容,亚马逊提供了此技术文档。随着亚马逊收到反馈并对功能进行迭代,所描述的这些功能可能会发生变化。有关最新功能的信息,请参阅发行说明。
这些说明适用于在客户的观看列表中添加和删除内容。Fire TV可能会使用观看列表信息来更新客户的通用观看列表。
要发送的内容
对于每个触发器(参见“何时发送”),发送包含以下字段的事件。无需筛选您发送的数据或检查是否有重复数据。亚马逊会在必要时进行该操作。
| 字段名 | 必填项(是/否) | 描述 | 
|---|---|---|
| Content ID(内容ID) | 是 | 对应于通过目录集成提供给Fire TV的内容ID。 | 
| Date When Added(添加日期) | 是 | 客户将条目添加到观看列表时的时间戳。 | 
| Internal Profile ID(内部个人资料ID) | 是 | 经过混淆处理的Profile ID(个人资料ID),以便Fire TV将活动与正确的应用客户关联。 | 
何时发送
- 应用初次启动时和登录时。
- 添加或删除客户观看列表中的项目时。此操作可以在设备外发生。
- Fire TV的设备端服务要求刷新时。
- 切换到新的个人资料时。
发送方式
要共享客户添加到观看列表的最新作品,请使用以下TypeScript代码:
// 用户开始观看内容时生成的客户条目事件示例
const customerListEntry: ICustomerListEntry = new CustomerListEntryBuilder()
    .addedTimestampMs(Date.now())
    .contentId(
    new ContentIdBuilder()
        .id('string')
        .idNamespace(ContentIdNamespaces.NAMESPACE_CDF_ID)
        .build(),
    )
    .profileId(
    new ProfileIdBuilder()
        .id('myProfileId1')
        .idNamespace(ProfileIdNamespaces.NAMESPACE_APP_INTERNAL)
        .build(),
    )
    .build();
// 发送事件
ContentPersonalizationServer.reportNewCustomerListEntry(
    CustomerListType.WATCHLIST,
    customerListEntry,
);
发送客户的完整观看列表
以下TypeScript代码演示了如何在收到内容个性化数据服务的请求时发送客户的完整观看列表:
const customerListEntriesHandler: ICustomerListEntriesHandler = {
    getAllCustomerListEntries: (
      listType: CustomerListType,
      customerListEntriesProvider: ICustomerListEntriesProvider,
    ) => {
        let listEntries: ICustomerListEntry[] = [];
        const customerListEntry1: ICustomerListEntry = new CustomerListEntryBuilder()
            .addedTimestampMs(Date.now())
            .contentId(
                new ContentIdBuilder()
                    .id('content1_CDF_ID')
                    .idNamespace(ContentIdNamespaces.NAMESPACE_CDF_ID)
                    .build(),
            )
            .profileId(
                new ProfileIdBuilder()
                .id('myProfileId')
                .idNamespace(ProfileIdNamespaces.NAMESPACE_APP_INTERNAL)
                .build(),
            )
            .build();
        listEntries.add(customerListEntry1);
        const customerListEntry2: ICustomerListEntry = new CustomerListEntryBuilder()
            .addedTimestampMs(Date.now())
            .contentId(
                new ContentIdBuilder()
                    .id('content2_CDF_ID')
                    .idNamespace(ContentIdNamespaces.NAMESPACE_CDF_ID)
                    .build(),
            )
            .profileId(
                new ProfileIdBuilder()
                .id('myProfileId')
                .idNamespace(ProfileIdNamespaces.NAMESPACE_APP_INTERNAL)
                .build(),
            )
            .build();
        listEntries.add(customerListEntry2);
        customerListEntriesProvider.addCustomerListChunk(listType,listEntries);
        customerListEntriesProvider.commit();
    }
};
// 务必要在HeadlessService的onStart函数中设置客户列表条目处理程序
ContentPersonalizationServer.setCustomerListEntriesHandler(
        customerListEntriesHandler,
);
Last updated: 2025年9月30日

