Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート
Skip to main content
ここでは、Fire TV対応アプリにVegaコンテンツパーソナライゼーションを統合する場合に知っておくべきことを説明します。この統合に使用されるデータの種類について確認するには、データの種類のリファレンスを参照してください。 データにアクセスできない場合やデータを変換する必要がある場合は、この統合にかかる時間が長くなる可能性があります。このドキュメントを使用して、アプリのデータが要件に合った形式で格納されていることを確認してください。

統合の手順

手順1:パッケージの依存関係をアプリに追加する

package.jsonファイルに、kepler-content-personalizationとheadless-task-manager、さらにamzn/kepler-epg-providerの依存関係を追加します。
  • kepler-content-personalizationパッケージは、コンテンツパーソナライゼーションデータをシステムに送信するためのAPIを提供します。
  • amzn/kepler-epg-providerパッケージは、PlaybackEventデータモデルのchannelDescriptorに使用される依存関係を提供します。
  • headless-task-managerパッケージは、データプルバックグラウンドサービスをシステムに登録するためのAPIを提供します。詳細は以下のとおりです。

手順2:マニフェストファイルを更新する

manifest.tomlファイルを更新して、コンテンツパーソナライゼーションのサポートを追加します。以下はサンプルアプリの例です。
以下の例は、複数のインターフェイスを定義する正しい方法を示しています。
以下は誤った方法の例です。このような指定はしないでください。

手順3:サンプルAPI呼び出しを行う

アプリ起動時に生成されるサンプルやモックイベントから始めましょう。イベントを作成して送信するには、以下のコードを使用します。

手順4:統合を検証する

作成したサンプルイベントコードをトリガーして、アプリ内で実行します。コードが正常に実行されたらログを表示し、SDKがアプリにリンクされており、メッセージを処理していることを確認します。 アプリログを検索することによって手順を検証できます。
ステップ3で示したイベントについて受信するログメッセージには、次のログの少なくとも1つが含まれている必要があります。

手順5:アプリ内機能の一部としてAPI呼び出しを実行する方法

それぞれのデータの種類について、そのデータの種類の「送信するタイミング」セクションを確認して、コードのどこでVegaコンテンツパーソナライゼーションを呼び出すかを理解してください。ユーザーが各アクションを実行したときに実行されるコード部分を特定し、API呼び出しを追加します。データの種類によってトリガーは異なります。 たとえば、ユーザーがウォッチリストにアイテムを追加したら、関連情報と共にreportNewCustomerListEntry APIを呼び出すことが想定されています。まず、ウォッチリストにアイテムを追加するコードをアプリ内で探し、ロジックの一部としてAPI呼び出しを行います。

手順6:バックグラウンドまたはデバイス外のデータ用にデータプルサービスを実装する

Amazonがアプリからデータをプルできるようにするには、以下の説明に従ってサービスを実装します。このサービスには、セットアップと接続に必要な処理がすべて含まれています。開発者に求められる作業は、レシーバーオブジェクトにデータを送信する関数を実装することだけです。このオブジェクトを使用すると、必要に応じてデータをチャンクに分けて共有できます。これにより、大きなリストがメモリに読み込まれることを防ぎます。
  1. package.jsonが保存されているのと同じパスに、次の内容を含むservice.jsファイルを作成します。これにより、content.dataRefresh.providerサービスのエントリポイントがシステムに通知されます。
  2. src/headless/HeadlessServiceInterface.tsとして、以下の内容のヘッドレスサービスインターフェイスファイルを作成します。
  3. src/headless/HeadlessService.tsとして、以下の内容のデータプルサービスを作成します。

実装の詳細

カタログ統合の変更(Amazon担当者から指示されたとき)

エンタイトルメントとアクティビティのデータを利用するために、Fire TVには、既存のFire TVカタログ統合から以下のデータが必要です。これらの要素については、今後、Fire TVのカタログ統合に関する公開ドキュメントを更新して含める予定ですが、ここでは、Vegaコンテンツパーソナライゼーションの統合に必要となる内容のプレビューを示します。これらのカタログの変更を開始する時期は、Amazonの担当者がお知らせします。
  • TVOD(購入およびレンタル)- 該当するタイトルに新規購入とレンタルのオファーを追加します。定期購入オファーと同じように見えますが、定期購入IDは使用されません。
  • 国際化 - 他国への展開に向けて、Fire TVは国別のカタログからFire TVのグローバルカタログ形式に移行する予定です。上記のカタログの変更は、グローバルカタログの一部に含めて実装すると移行が容易になります。ただし、Fire TVは引き続き国ごとのカタログもサポートします。

AmazonコンテンツID

Vegaコンテンツパーソナライゼーションは、さまざまな名前空間でのコンテンツ識別をサポートします。Amazonがコンテンツアイテムを識別できるようにするために、コンテンツIDを渡すときは常に、関連付けられている名前空間を一緒に指定する必要があります。Amazonでは、次の名前空間がサポートされています。

AmazonプロフィールID

どのデータの種類も、関連付けられているプロフィールIDを共有できるようになっています。プロフィールにはさまざまな種類があるため、名前空間を指定します。Amazonでは現在、以下のプロフィールID名前空間がサポートされています。

更新の報告

SDKには、次の3種類の操作を使用して情報を共有する機能が含まれています。
  • New(例:reportNewCustomerListEntry)- データセットに新しいエントリを追加するインクリメンタル更新を表します。
  • Removed(例:reportRemovedCustomerListEntry)- データセットからエントリを削除するデクリメンタル更新を表します。
  • Refreshed(例:reportRefreshedCustomerList)- デバイス外のアクションによりデータセットに変更があったため、データプルサービスを使用して更新された新しいバージョンのリストを取得する必要があることを示します。
NewとRemovedは、ユーザーがアプリ内のコンテンツを操作し、アプリが追加や削除を実行する場合に役立ちます。Refreshedによる更新は、ユーザーのログインやデバイス外でのアクティビティによってリストが大幅に変更された場合や、別の理由でリストが同期されていないと思われる場合に役立ちます。

大量のデータの提供

データプルサービスを通じて大量のデータを提供する場合は、クラウドバックエンドから適度に小さいページに分けてデータを取得し、データがプルダウンされるときにプロバイダーAPIを呼び出します。これにより、サービスのメモリ使用量が制限され、アプリがシステムによって終了されるのを防ぐことができます。 フローの例は次のようになります。

最終更新日 2026年11月12日