as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート
アクセスいただきありがとうございます。こちらのページは現在英語のみのご用意となっております。順次日本語化を進めてまいりますので、ご理解のほどよろしくお願いいたします。

Watchlist

These instructions are for the addition and removal of content from the customer’s watchlist. Fire TV may use watchlist information to update the customer’s universal watchlist.

What to send

For each trigger (see when to send), send events with the fields below. There is no need to filter the data you send or check for duplicates. Amazon does this as necessary.

Field Name Required (Y/N) Description
Content ID Y Corresponds to the content ID provided to Fire TV through the catalog integration.
Date When Added Y Timestamp for when the customer added the entry to the watchlist.
Internal Profile ID Y An obfuscated Profile ID so Fire TV can associate the activity with the correct app customer.

When to send

  • On initial app launch and sign-in.
  • On adding or removing an item from the customer’s watchlist. This action can occur off-device.
  • When asked to refresh by Fire TV’s on-device service.
  • When switching to a new profile.

How to send

To share the latest title the customer added to the watchlist, use the following TypeScript code:

Copied to clipboard.

// Example customer entry event generated when user starts watching content

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();

// Send the event
ContentPersonalizationServer.reportNewCustomerListEntry(
    CustomerListType.WATCHLIST,
    customerListEntry,
);

Send the customer’s full watchlist

The following TypeScript code demonstrates how to send the customer’s full watchlist when requested by the Content Personalization data service:

Copied to clipboard.

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();
    }
};

// Remeber to set your customer list entries handler in the onStart function of your HeadlessService
ContentPersonalizationServer.setCustomerListEntriesHandler(
        customerListEntriesHandler,
);

Last updated: Sep 30, 2025