Ten przewodnik opisuje model danych i kroki integracji związane z publikowaniem treści wideo i telewizji na żywo za pomocą pakietu Engage SDK.
Model danych MovieEntity
Element MovieEntity reprezentuje film pełnometrażowy. W tabeli poniżej znajdziesz podsumowanie najważniejszych pól.
| Metody publiczne | Typ | Wymaganie | Opis |
|---|---|---|---|
getName() |
Ciąg znaków | Wymagane | Tytuł filmu (np. „Avengers: Koniec gry”) |
getDescription() |
Ciąg znaków | Wymagane | Podsumowanie zawierające kontekst, które pojawia się po najechaniu kursorem |
getPosterImages() |
List<Image> | Wymagane | Lista obrazów używanych do wyświetlania plakatu filmu |
getPlatformSpecificPlaybackUris() |
List<PlatformSpecificUri> | Wymagane | Precyzyjne linki do odtwarzania na określonych platformach |
getDurationMillis() |
Długi | Wymagane | Łączny czas trwania filmu w milisekundach |
getCallToAction |
Ciąg znaków | Wymagane (GTV) | Tekst wyświetlany, aby zachęcić użytkownika do interakcji (np. „Obejrzyj teraz”) |
getTags |
List<String> | Opcjonalnie | Słowa kluczowe używane do kategoryzacji (np. „Akcja/Thriller”) |
Model danych LiveTvProgramEntity
Element LiveTvProgramEntity reprezentuje program emitowany lub zaplanowany do emisji w określonym kanale.
| Metody publiczne | Typ | Wymaganie | Opis |
|---|---|---|---|
getName() |
Ciąg znaków | Wymagane | Tytuł programu (np. „NBC CT Late News”) |
getDescription() |
Ciąg znaków | Wymagane | Podsumowanie zawierające kontekst programu |
getPosterImages() |
List<Image> | Wymagane | Obrazy używane do wyświetlania programu |
getAvailabilityTimeWindows() |
List<DisplayTimeWindow> | Wymagane | Zaplanowane okna czasowe programu |
getChannelId() |
Ciąg znaków | Wymagane | Unikalny identyfikator kanału telewizyjnego |
getChannelName() |
Ciąg znaków | Wymagane | Nazwa kanału telewizyjnego |
getChannelLogoImage() |
Obraz | Wymagane | Obraz logo kanału telewizyjnego |
getCallToAction() |
Ciąg znaków | Wymagane (GTV) | Tekst zachęcający do interakcji |
getTags() |
List<String> | Opcjonalnie | Słowa kluczowe używane do kategoryzacji |
Przykłady użycia narzędzia do tworzenia
Przykład MovieEntity
Zobacz 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)
.setCallToAction("Watch Now")
.addTag("Action/Thriller")
.build();
Przykład LiveTvProgramEntity
Zobacz 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())
.setCallToAction("Watch Now")
.addTag("News")
.build();
Interfejs API
Do wysyłania proponowanych treści do karuzeli funkcji będzie używana metoda publishRecommendationClusters(). Typ klastra należy ustawić jako RecommendationClusterType.TYPE_PROVIDER_ROW.
Wersja pakietu Engage SDK
Pamiętaj, że do tej integracji wymagana jest minimalna wersja pakietu Engage SDK:
engage-tv: 1.0.6