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 zestawiono najważniejsze pola.
| 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 |
getCallToActionText() |
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 |
getCallToActionText() |
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)
.setCallToActionText("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())
.setCallToActionText("Watch Now")
.addTag("News")
.build();
Interfejs API
Do wysyłania treści do karuzeli z polecanymi treściami będzie używana metoda publishRecommendationClusters(). Typ klastra należy ustawić jako RecommendationClusterType.TYPE_PROVIDER_ROW.
Limity elementów i kierowanie
- Limity elementów: karuzela z polecanymi treściami wyświetla maksymalnie 3 elementy.
- Kierowanie: możesz dostosować zawartość karuzeli z polecanymi treściami na każdym urządzeniu. Ponieważ treści są publikowane z aplikacji klienta zainstalowanej na urządzeniu, możesz wypełnić ją unikalnymi, spersonalizowanymi listami kandydatów dla każdego użytkownika lub urządzenia. Odpowiadasz jednak za wdrożenie tej logiki kierowania, ponieważ pakiet Engage SDK nie zapewnia wbudowanej obsługi kierowania.
Wersja pakietu Engage SDK
Zwróć uwagę na minimalną wersję pakietu Engage SDK wymaganą do tej integracji:
engage-tv: 1.0.6