Hướng dẫn này mô tả mô hình dữ liệu và các bước tích hợp để xuất bản nội dung video và truyền hình trực tiếp bằng Engage SDK.
Mô hình dữ liệu MovieEntity
Biểu tượng MovieEntity đại diện cho một bộ phim dài tập. Bảng sau đây tóm tắt các trường chính.
| Phương thức công khai | Loại | Yêu cầu | Mô tả |
|---|---|---|---|
getName() |
Chuỗi | Bắt buộc | Tên của bộ phim (ví dụ: "Avengers: Endgame") |
getDescription() |
Chuỗi | Bắt buộc | Bản tóm tắt cung cấp ngữ cảnh xuất hiện khi di chuột |
getPosterImages() |
List<Image> | Bắt buộc | Danh sách hình ảnh dùng để hiển thị áp phích của phim |
getPlatformSpecificPlaybackUris() |
List<PlatformSpecificUri> | Bắt buộc | Đường liên kết sâu để phát trên các nền tảng cụ thể |
getDurationMillis() |
Kinh độ | Bắt buộc | Tổng thời lượng của phim tính bằng mili giây |
getCallToActionText() |
Chuỗi | Bắt buộc (GTV) | Văn bản hiển thị để nhắc người dùng tương tác (ví dụ: "Xem ngay") |
getTags() |
List<String> | Không bắt buộc | Từ khoá dùng để phân loại (ví dụ: "Hành động/Kinh dị") |
Mô hình dữ liệu LiveTvProgramEntity
LiveTvProgramEntity biểu thị một chương trình đang phát sóng hoặc được lên lịch phát sóng trên một kênh cụ thể.
| Phương thức công khai | Loại | Yêu cầu | Mô tả |
|---|---|---|---|
getName() |
Chuỗi | Bắt buộc | Tiêu đề của chương trình (ví dụ: "NBC CT Late News") |
getDescription() |
Chuỗi | Bắt buộc | Nội dung tóm tắt cung cấp bối cảnh về chương trình |
getPosterImages() |
List<Image> | Bắt buộc | Hình ảnh dùng để hiển thị trong chương trình |
getAvailabilityTimeWindows() |
List<DisplayTimeWindow> | Bắt buộc | Khoảng thời gian đã lên lịch cho chương trình |
getChannelId() |
Chuỗi | Bắt buộc | Giá trị nhận dạng duy nhất của kênh truyền hình |
getChannelName() |
Chuỗi | Bắt buộc | Tên kênh truyền hình |
getChannelLogoImage() |
Hình ảnh | Bắt buộc | Hình ảnh biểu trưng của kênh truyền hình |
getCallToActionText() |
Chuỗi | Bắt buộc (GTV) | Văn bản câu lệnh tương tác |
getTags() |
List<String> | Không bắt buộc | Từ khoá dùng để phân loại |
Ví dụ về cách sử dụng trình tạo
Ví dụ về MovieEntity
Xem 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();
Ví dụ về LiveTvProgramEntity
Xem 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() sẽ được dùng để gửi nội dung đề xuất đến băng chuyền Nổi bật. Bạn nên đặt loại Cụm thành RecommendationClusterType.TYPE_PROVIDER_ROW.
Hạn mức và tiêu chí nhắm mục tiêu của mặt hàng
- Giới hạn về mặt hàng: Băng chuyền nổi bật hiển thị tối đa 3 mặt hàng.
- Nhắm mục tiêu: Bạn có thể tuỳ chỉnh nội dung của Băng chuyền nổi bật cho từng thiết bị. Vì nội dung được xuất bản từ ứng dụng khách đã cài đặt trên thiết bị, nên bạn có thể điền nội dung đó bằng danh sách đề xuất riêng biệt, được cá nhân hoá cho mỗi người dùng hoặc thiết bị. Tuy nhiên, bạn phải chịu trách nhiệm triển khai logic nhắm mục tiêu này, vì Engage SDK không cung cấp tính năng nhắm mục tiêu tích hợp.
Phiên bản Engage SDK
Xin lưu ý phiên bản Engage SDK tối thiểu cần thiết cho quá trình tích hợp này:
engage-tv: 1.0.6