このガイドでは、Engage SDK を使用して動画コンテンツとライブテレビ コンテンツを公開するためのデータモデルと統合手順について説明します。
MovieEntity データモデル
MovieEntity は長編映画を表します。次の表に、主なフィールドをまとめます。
| public メソッド | タイプ | 要件 | 説明 |
|---|---|---|---|
getName() |
文字列 | 必須 | 映画のタイトル(例: 「アベンジャーズ / エンドゲーム」) |
getDescription() |
文字列 | 必須 | カーソルを合わせると表示されるコンテキストを提供する概要 |
getPosterImages() |
List<Image> | 必須 | 映画のポスター表示に使用される画像のリスト |
getPlatformSpecificPlaybackUris() |
List<PlatformSpecificUri> | 必須 | 特定のプラットフォームでの再生用のディープリンク |
getDurationMillis() |
Long | 必須 | 映画の合計再生時間(ミリ秒単位) |
getCallToActionText() |
文字列 | 必須(GTV) | ユーザー インタラクションを促すために表示されるテキスト(「今すぐ見る」など) |
getTags() |
List<String> | 省略可 | 分類に使用されるキーワード(例: 「アクション/スリラー」) |
LiveTvProgramEntity データモデル
LiveTvProgramEntity は、特定のチャンネルで放送中または放送予定の番組を表します。
| public メソッド | タイプ | 要件 | 説明 |
|---|---|---|---|
getName() |
文字列 | 必須 | 番組のタイトル(「NBC CT Late News」など) |
getDescription() |
文字列 | 必須 | プログラムのコンテキストを提供する概要 |
getPosterImages() |
List<Image> | 必須 | プログラムの表示に使用される画像 |
getAvailabilityTimeWindows() |
List<DisplayTimeWindow> | 必須 | プログラムのスケジュール設定された時間枠 |
getChannelId() |
文字列 | 必須 | テレビチャンネルの一意の識別子 |
getChannelName() |
文字列 | 必須 | テレビチャンネルの名前 |
getChannelLogoImage() |
画像 | 必須 | テレビチャンネルのロゴ画像 |
getCallToActionText() |
文字列 | 必須(GTV) | インタラクション プロンプトのテキスト |
getTags() |
List<String> | 省略可 | 分類に使用されるキーワード |
ビルダーの使用例
MovieEntity の例
MovieEntity.Builder をご覧ください。
MovieEntity movie = new MovieEntity.Builder()
.setName("La hora 25")
.setDescription("Brogan tiene 24 horas para revalorar su vida antes de ser encarcelado")
.addPosterImage(new Image.Builder()
.setImageUri(Uri.parse("https://www.example.com/movie_poster.png"))
.build())
.addPlatformSpecificPlaybackUri(new PlatformSpecificUri.Builder()
.setUri("https://www.example.com")
.setPlatformType(PlatformType.TYPE_TV)
.build())
.setDurationMillis(7200000L)
.setCallToActionText("Watch Now")
.addTag("Action/Thriller")
.build();
LiveTvProgramEntity の例
LiveTvProgramEntity.Builder をご覧ください。
LiveTvProgramEntity liveProgram = new LiveTvProgramEntity.Builder()
.setName("3:30AM: NBC CT Late News")
.setDescription("The latest local news, weather and investigative stories.")
.setChannelId("https://www.example.com")
.setChannelName("Tastemade")
.setChannelLogoImage(new Image.Builder()
.setImageUri(Uri.parse("https://example.com/v1/channels/logo.png"))
.build())
.addAvailabilityTimeWindow(new DisplayTimeWindow.Builder()
.setStartTimestampMillis(1756713600000L)
.setEndTimestampMillis(1756715400000L)
.build())
.addPosterImage(new Image.Builder()
.setImageUri(Uri.parse("https://example.com/v1/assets/image.jpg"))
.build())
.setCallToActionText("Watch Now")
.addTag("News")
.build();
API
publishRecommendationClusters() は、候補コンテンツを Feature Carousel に送信するために使用されます。クラスタタイプは RecommendationClusterType.TYPE_PROVIDER_ROW に設定する必要があります。
アイテムの上限とターゲティング
- アイテムの上限: おすすめカルーセルには最大 3 個のアイテムが表示されます。
- ターゲティング: 個々のデバイスごとに、注目のカルーセルのコンテンツをカスタマイズできます。コンテンツはデバイスにインストールされたクライアント アプリから公開されるため、ユーザーまたはデバイスごとに一意の候補リストを生成できます。ただし、Engage SDK にはターゲティングのサポートが組み込まれていないため、このターゲティング ロジックの実装はデベロッパーの責任となります。
Engage SDK のバージョン
この統合に必要な Engage SDK の最小バージョンは次のとおりです。
engage-tv: 1.0.6