開発者コンソール

ウォッチリスト

ウォッチリスト

ユーザーのウォッチリストのコンテンツを追加および削除する際の処理について説明します。Fire TVは、ウォッチリスト情報を使用してユーザーのユニバーサルウォッチリストを更新する場合があります。

送信する内容

トリガーがアプリのインストールやログインである場合、またはFire TVのオンデバイスサービスが更新を要求する場合は、すべてのウォッチリストアイテムにaction=addを指定します。それ以外の場合は、追加および削除されたアイテムのみを送信します。トリガーされたときは、すべてのデータを送信します。重複はAmazonが処理するため、開発者自身が除外する必要はありません。

フィールド名 必須(Y/N) 説明
コンテンツID Y カタログ統合を通じてFire TVに提供されたコンテンツIDに対応します。
アクティビティの日付 Y ユーザーがエンタイトルメントを追加または削除したときのタイムスタンプ。
リストアクション Y ADDEDまたはREMOVED
内部プロフィールID Y Fire TVがアクティビティを正しいアプリユーザーに関連付けることができるように、難読化されたプロフィールIDを提供します。

送信するタイミング

  • アプリの初回インストール時とログイン時
  • ユーザーのウォッチリストのアイテムを追加または削除するとき(このアクションはデバイス外でも発生します)
  • Fire TVのオンデバイスサービスから更新するように求められたとき
  • 新しいプロフィールに切り替えるとき

送信方法

ユーザーがウォッチリストに追加した最新のタイトルを共有するには、次のコードを使用します。

AmazonCustomerListReceiver listReceiver = AmazonCustomerListReceiver.getInstance(getContext());
AmazonCustomerListEntry listEntry = AmazonCustomerListEntry.builder()
   .contentId(AmazonContentId.builder()
      .id("contentId")
      .namespace(AmazonContentId.NAMESPACE_CDF_ID).build())
   .addedTimestampMs(System.currentTimeMillis())
   .profileId(AmazonProfileId.builder()
      .id("myProfileId1")
      .namespace(AmazonProfileId.NAMESPACE_APP_INTERNAL)
      .build())
   .build();

listReceiver.addCustomerListEntry(AmazonCustomerListType.WATCHLIST, listEntry);
val listReceiver: AmazonCustomerListReceiver = AmazonCustomerListReceiver.getInstance(context)
val listEntries: List<AmazonCustomerListEntry> = ArrayList()
val listEntry: AmazonCustomerListEntry = AmazonCustomerListEntry.builder()
    .contentId(
        AmazonContentId.builder()
            .id("contentId")
            .namespace(AmazonContentId.NAMESPACE_CDF_ID).build()
    )
    .addedTimestampMs(System.currentTimeMillis())
    .profileId(
        AmazonProfileId.builder()
            .id("myProfileId1")
            .namespace(AmazonProfileId.NAMESPACE_APP_INTERNAL)
            .build()
    )
    .build()
listEntries.add(listEntry)
val listEntry2: AmazonCustomerListEntry = AmazonCustomerListEntry.builder()
    .contentId(
        AmazonContentId.builder()
            .id("contentId2")
            .namespace(AmazonContentId.NAMESPACE_CDF_ID).build()
    )
    .addedTimestampMs(System.currentTimeMillis())
    .profileId(
        AmazonProfileId.builder()
            .id("myProfileId1")
            .namespace(AmazonProfileId.NAMESPACE_APP_INTERNAL)
            .build()
    )
    .build()
listEntries.add(listEntry2)
listReceiver.setCustomerList(AmazonCustomerListType.WATCHLIST, listEntries)

ユーザーのウォッチリスト全体を送信

次のコード例は、ユーザーのウォッチリスト全体を送信する方法を示しています。

AmazonCustomerListReceiver listReceiver = AmazonCustomerListReceiver.getInstance(getContext());        List<AmazonCustomerListEntry> listEntries = new ArrayList<>();
   AmazonCustomerListEntry listEntry = AmazonCustomerListEntry.builder()
      .contentId(AmazonContentId.builder()
         .id("contentId")
         .namespace(AmazonContentId.NAMESPACE_CDF_ID).build())
      .addedTimestampMs(System.currentTimeMillis())
      .profileId(AmazonProfileId.builder()
         .id("myProfileId1")
         .namespace(AmazonProfileId.NAMESPACE_APP_INTERNAL)
         .build())
      .build();
   listEntries.add(listEntry);
   
   AmazonCustomerListEntry listEntry2 = AmazonCustomerListEntry.builder()
      .contentId(AmazonContentId.builder()
         .id("contentId2")
         .namespace(AmazonContentId.NAMESPACE_CDF_ID).build())
      .addedTimestampMs(System.currentTimeMillis())
      .profileId(AmazonProfileId.builder()
         .id("myProfileId1")
         .namespace(AmazonProfileId.NAMESPACE_APP_INTERNAL)
         .build())
      .build();
   listEntries.add(listEntry2);

listReceiver.setCustomerList(AmazonCustomerListType.WATCHLIST, listEntries);
val listReceiver: AmazonCustomerListReceiver = AmazonCustomerListReceiver.getInstance(context)
val listEntries: List<AmazonCustomerListEntry> = ArrayList()
val listEntry: AmazonCustomerListEntry = AmazonCustomerListEntry.builder()
    .contentId(
        AmazonContentId.builder()
            .id("contentId")
            .namespace(AmazonContentId.NAMESPACE_CDF_ID).build()
    )
    .addedTimestampMs(System.currentTimeMillis())
    .profileId(
        AmazonProfileId.builder()
            .id("myProfileId1")
            .namespace(AmazonProfileId.NAMESPACE_APP_INTERNAL)
            .build()
    )
    .build()
listEntries.add(listEntry)
val listEntry2: AmazonCustomerListEntry = AmazonCustomerListEntry.builder()
    .contentId(
        AmazonContentId.builder()
            .id("contentId2")
            .namespace(AmazonContentId.NAMESPACE_CDF_ID).build()
    )
    .addedTimestampMs(System.currentTimeMillis())
    .profileId(
        AmazonProfileId.builder()
            .id("myProfileId1")
            .namespace(AmazonProfileId.NAMESPACE_APP_INTERNAL)
            .build()
    )
    .build()
listEntries.add(listEntry2)
listReceiver.setCustomerList(AmazonCustomerListType.WATCHLIST, listEntries)

次のステップ

データの種類のリファレンスでは、データの種類に関する便利なリファレンスを参照できます。


Last updated: 2023年11月29日