Veröffentlichen von Inhalten im Karussell mit empfohlenen Inhalten

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