In dieser Anleitung werden das Datenmodell und die Integrationsschritte für die Veröffentlichung von Video- und Live-TV-Inhalten mit dem Engage SDK beschrieben.
MovieEntity-Datenmodell
Die MovieEntity steht für einen Film in voller Länge. In der folgenden Tabelle sind die wichtigsten Felder zusammengefasst.
| Öffentliche Methoden | Typ | Anforderung | Beschreibung |
|---|---|---|---|
getName() |
String | Erforderlich | Der Titel des Films (z.B. „Avengers: Endgame“) |
getDescription() |
String | Erforderlich | Eine Zusammenfassung mit Kontext, die angezeigt wird, wenn der Nutzer mit dem Mauszeiger darauf fährt |
getPosterImages() |
List<Image> | Erforderlich | Eine Liste von Bildern, die für das Poster des Films verwendet werden |
getPlatformSpecificPlaybackUris() |
List<PlatformSpecificUri> | Erforderlich | Deeplinks für die Wiedergabe auf bestimmten Plattformen |
getDurationMillis() |
Lang | Erforderlich | Die Gesamtdauer des Films in Millisekunden |
getCallToActionText() |
String | Erforderlich (Bruttotransaktionswert) | Text, der angezeigt wird, um den Nutzer zur Nutzerinteraktion aufzufordern (z.B. „Jetzt ansehen“) |
getTags() |
List<String> | Optional | Keywords, die für die Kategorisierung verwendet werden (z.B. „Action/Thriller“) |
LiveTvProgramEntity-Datenmodell
Die LiveTvProgramEntity steht für eine Sendung, die auf einem bestimmten Sender ausgestrahlt wird oder deren Ausstrahlung geplant ist.
| Öffentliche Methoden | Typ | Anforderung | Beschreibung |
|---|---|---|---|
getName() |
String | Erforderlich | Der Titel der Sendung (z.B. „NBC CT Late News“) |
getDescription() |
String | Erforderlich | Eine Zusammenfassung mit Kontext zur Sendung |
getPosterImages() |
List<Image> | Erforderlich | Bilder, die für die Anzeige der Sendung verwendet werden |
getAvailabilityTimeWindows() |
List<DisplayTimeWindow> | Erforderlich | Die geplanten Zeitfenster für die Sendung |
getChannelId() |
String | Erforderlich | Eindeutige Kennung für den Fernsehsender |
getChannelName() |
String | Erforderlich | Name des Fernsehsenders |
getChannelLogoImage() |
Image | Erforderlich | Logo des Fernsehsenders |
getCallToActionText() |
String | Erforderlich (Bruttotransaktionswert) | Text der Interaktionsaufforderung |
getTags() |
List<String> | Optional | Keywords, die für die Kategorisierung verwendet werden |
Beispiele für die Verwendung von Builder
MovieEntity-Beispiel
Siehe 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-Beispiel
Siehe 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() wird verwendet, um Kandidateninhalte an das Feature-Karussell zu senden. Der Clustertyp sollte auf RecommendationClusterType.TYPE_PROVIDER_ROW festgelegt werden.
Elementlimits und Targeting
- Elementlimits:Im Feature-Karussell werden maximal drei Elemente angezeigt.
- Targeting:Sie können die Inhalte des Feature-Karussells für jedes einzelne Gerät anpassen. Da die Inhalte aus der auf dem Gerät installierten Client-App veröffentlicht werden, können Sie sie mit eindeutigen, personalisierten Kandidatenlisten pro Nutzer oder Gerät füllen. Sie sind jedoch für die Implementierung dieser Targeting-Logik verantwortlich, da das Engage SDK keine integrierte Targeting-Unterstützung bietet.
Engage SDK-Version
Beachten Sie die mindestens erforderliche Engage SDK-Version für diese Integration:
engage-tv: 1.0.6