Panduan ini menjelaskan model data dan langkah-langkah integrasi untuk memublikasikan konten video dan TV live menggunakan Engage SDK.
Model data MovieEntity
MovieEntity mewakili film berdurasi panjang. Tabel berikut merangkum kolom utama.
| Metode Publik | Jenis | Persyaratan | Deskripsi |
|---|---|---|---|
getName() |
String | Wajib | Judul film (misalnya, "Avengers: Endgame") |
getDescription() |
String | Wajib | Ringkasan yang memberikan konteks yang muncul saat kursor diarahkan |
getPosterImages() |
List<Image> | Wajib | Daftar gambar yang digunakan untuk tampilan poster film |
getPlatformSpecificPlaybackUris() |
List<PlatformSpecificUri> | Wajib | Deep link untuk pemutaran di platform tertentu |
getDurationMillis() |
Panjang | Wajib | Total durasi film dalam milidetik |
getCallToActionText() |
String | Wajib (GTV) | Teks yang ditampilkan untuk memicu interaksi pengguna (misalnya, "Tonton Sekarang") |
getTags() |
List<String> | Opsional | Kata kunci yang digunakan untuk kategorisasi (misalnya, "Action/Thriller") |
Model data LiveTvProgramEntity
LiveTvProgramEntity mewakili program yang ditayangkan atau dijadwalkan untuk ditayangkan di saluran tertentu.
| Metode Publik | Jenis | Persyaratan | Deskripsi |
|---|---|---|---|
getName() |
String | Wajib | Judul program (misalnya, "NBC CT Late News") |
getDescription() |
String | Wajib | Ringkasan yang memberikan konteks tentang program |
getPosterImages() |
List<Image> | Wajib | Gambar yang digunakan untuk tampilan program |
getAvailabilityTimeWindows() |
List<DisplayTimeWindow> | Wajib | Periode waktu terjadwal untuk program |
getChannelId() |
String | Wajib | ID unik untuk channel TV |
getChannelName() |
String | Wajib | Nama saluran TV |
getChannelLogoImage() |
Gambar | Wajib | Gambar logo untuk channel TV |
getCallToActionText() |
String | Wajib (GTV) | Teks perintah interaksi |
getTags() |
List<String> | Opsional | Kata kunci yang digunakan untuk kategorisasi |
Contoh penggunaan Builder
Contoh MovieEntity
Lihat 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();
Contoh LiveTvProgramEntity
Lihat 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() akan digunakan untuk mengirim konten kandidat ke Carousel Fitur. Jenis
cluster harus ditetapkan sebagai RecommendationClusterType.TYPE_PROVIDER_ROW.
Batas item dan penargetan
- Batas Item: Carousel Unggulan menampilkan maksimum 3 item.
- Penargetan: Anda dapat menyesuaikan konten Carousel Unggulan untuk setiap perangkat. Karena konten dipublikasikan dari aplikasi klien yang diinstal di perangkat, Anda dapat mengisinya dengan daftar kandidat yang unik dan dipersonalisasi per pengguna atau perangkat. Namun, Anda bertanggung jawab untuk menerapkan logika penargetan ini, karena Engage SDK tidak menyediakan dukungan penargetan bawaan.
Versi Engage SDK
Perhatikan versi minimum Engage SDK yang diperlukan untuk integrasi ini:
engage-tv: 1.0.6