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