統合の手順
手順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がアプリにリンクされており、メッセージを処理していることを確認します。 アプリログを検索することによって手順を検証できます。手順5:アプリ内機能の一部としてAPI呼び出しを行う
それぞれのデータの種類について、そのデータの種類の「送信するタイミング」セクションを確認して、コードのどこでVegaコンテンツパーソナライゼーションを呼び出すかを理解してください。ユーザーが各アクションを実行したときに実行されるコード部分を特定し、API呼び出しを追加します。データの種類によってトリガーは異なります。- 視聴アクティビティの場合は、視聴アクティビティ:送信するタイミングを参照してください。
- ウォッチリストの場合は、ウォッチリスト:送信するタイミングを参照してください。
reportNewCustomerListEntry APIを呼び出す必要があります。まず、アプリのコードでウォッチリストにアイテムを追加している部分を特定し、次に、アプリのロジックの一部としてAPI呼び出しを行います。
手順6:バックグラウンドまたはデバイス外のデータ用にデータプルサービスを実装する
Amazonがアプリからデータをプルできるようにするには、以下の説明に従ってサービスを実装します。このサービスには、セットアップと接続に必要な処理がすべて含まれています。開発者に求められる作業は、レシーバーオブジェクトにデータを送信する関数を実装することだけです。このオブジェクトを使用すると、必要に応じてデータをチャンクに分けて共有できます。これにより、大きなリストがメモリに読み込まれることを防ぎます。-
package.jsonが保存されているのと同じパスに、次の内容を含むservice.jsファイルを作成します。これにより、
content.dataRefresh.providerサービスのエントリポイントがシステムに通知されます。 -
src/headless/HeadlessServiceInterface.tsとして、以下の内容のヘッドレスサービスインターフェイスファイルを作成します。
-
src/headless/HeadlessService.tsとして、以下の内容のデータプルサービスを作成します。
カタログ統合の変更(Amazon担当者から指示されたとき)
エンタイトルメントとアクティビティのデータを利用するために、Fire TVには、既存のFire TVカタログ統合から以下のデータが必要です。これらの要素については、今後、Fire TVのカタログ統合に関する公開ドキュメントを更新して含める予定ですが、ここでは、Vegaコンテンツパーソナライゼーションの統合に必要となる内容のプレビューを示します。これらのカタログの変更を開始する時期は、Amazonの担当者がお知らせします。- 国際化 - 他国への展開に向けて、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による更新は、ユーザーのログインやデバイス外でのアクティビティによってリストが大幅に変更された場合や、別の理由でリストが同期されていないと思われる場合に役立ちます。

