این راهنما مدل داده و مراحل ادغام برای انتشار محتوای ویدیویی و تلویزیونی زنده با استفاده از Engage SDK را شرح میدهد.
مدل داده MovieEntity
MovieEntity یک فیلم کامل را نشان میدهد. جدول زیر فیلدهای کلیدی را خلاصه میکند.
| روشهای عمومی | نوع | مورد نیاز | توضیحات |
|---|---|---|---|
getName() | رشته | مورد نیاز | عنوان فیلم (مثلاً «انتقامجویان: پایان بازی») |
getDescription() | رشته | مورد نیاز | خلاصهای که زمینهای را ارائه میدهد که با نگه داشتن ماوس روی صفحه نمایش داده میشود |
getPosterImages() | فهرست<تصویر> | مورد نیاز | فهرست تصاویر استفاده شده برای نمایش پوستر فیلم |
getPlatformSpecificPlaybackUris() | لیست<PlatformSpecificUri> | مورد نیاز | لینکهای عمیق برای پخش در پلتفرمهای خاص |
getDurationMillis() | طولانی | مورد نیاز | مدت زمان کل فیلم بر حسب میلی ثانیه |
getCallToAction | رشته | مورد نیاز (GTV) | متن نمایش داده شده برای ترغیب کاربر به تعامل (مثلاً «الان تماشا کن») |
getTags | لیست<رشته> | اختیاری | کلمات کلیدی مورد استفاده برای دستهبندی (مثلاً «اکشن/هیجانانگیز») |
مدل داده LiveTvProgramEntity
LiveTvProgramEntity نشان دهنده برنامهای است که در حال پخش است یا قرار است در یک کانال خاص پخش شود.
| روشهای عمومی | نوع | مورد نیاز | توضیحات |
|---|---|---|---|
getName() | رشته | مورد نیاز | عنوان برنامه (مثلاً «اخبار دیرهنگام NBC CT») |
getDescription() | رشته | مورد نیاز | خلاصهای که زمینهای در مورد برنامه ارائه میدهد |
getPosterImages() | فهرست<تصویر> | مورد نیاز | تصاویر استفاده شده برای نمایش برنامه |
getAvailabilityTimeWindows() | فهرست<نمایش زمان نمایش پنجره> | مورد نیاز | بازههای زمانی تعیینشده برای برنامه |
getChannelId() | رشته | مورد نیاز | شناسه منحصر به فرد برای کانال تلویزیونی |
getChannelName() | رشته | مورد نیاز | نام کانال تلویزیونی |
getChannelLogoImage() | تصویر | مورد نیاز | تصویر لوگو برای کانال تلویزیونی |
getCallToAction() | رشته | مورد نیاز (GTV) | متن درخواست تعامل |
getTags() | لیست<رشته> | اختیاری | کلمات کلیدی مورد استفاده برای دسته بندی |
مثالهای استفاده از سازنده
مثال MovieEntity
به 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();
مثال LiveTvProgramEntity
به 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();
رابط برنامهنویسی کاربردی
publishRecommendationClusters() برای ارسال محتوای کاندید به Feature Carousel استفاده خواهد شد. نوع خوشه (Cluster type) باید به صورت RecommendationClusterType.TYPE_PROVIDER_ROW تنظیم شود.
نسخه SDK را فعال کنید
به حداقل نسخه SDK مورد نیاز برای این ادغام توجه کنید:
engage-tv: 1.0.6