يوضّح هذا الدليل نموذج البيانات وخطوات الدمج لنشر محتوى الفيديو ومحتوى البث التلفزيوني المباشر باستخدام Engage SDK.
نموذج بيانات MovieEntity
يمثّل MovieEntity فيلمًا كاملاً. يلخّص الجدول التالي الحقول الرئيسية.
| الدوال العامة | النوع | المتطلبات | الوصف |
|---|---|---|---|
getName() |
سلسلة | مطلوب | تمثّل هذه السمة عنوان الفيلم (مثلاً، "Avengers: Endgame"). |
getDescription() |
سلسلة | مطلوب | ملخّص يقدّم سياقًا يظهر عند تمرير مؤشر الماوس |
getPosterImages() |
List<Image> | مطلوب | قائمة بالصور المستخدَمة لعرض ملصق الفيلم |
getPlatformSpecificPlaybackUris() |
List<PlatformSpecificUri> | مطلوب | روابط لصفحات معيّنة لتشغيل المحتوى على منصات محدّدة |
getDurationMillis() |
الصيغة الطويلة | مطلوب | إجمالي مدة الفيلم بالمللي ثانية |
getCallToAction |
سلسلة | مطلوب (GTV) | النص المعروض لتشجيع تفاعل المستخدم (مثل "المشاهدة الآن") |
getTags |
List<String> | اختياري | الكلمات الرئيسية المستخدَمة للتصنيف (مثل "أكشن/إثارة") |
نموذج بيانات LiveTvProgramEntity
يمثّل LiveTvProgramEntity برنامجًا يُعرض أو من المقرر عرضه على قناة معيّنة.
| الدوال العامة | النوع | المتطلبات | الوصف |
|---|---|---|---|
getName() |
سلسلة | مطلوب | تمثّل هذه السمة عنوان البرنامج (مثلاً، "NBC CT Late News"). |
getDescription() |
سلسلة | مطلوب | ملخّص يقدّم سياقًا حول البرنامج |
getPosterImages() |
List<Image> | مطلوب | الصور المستخدَمة لعرض البرنامج |
getAvailabilityTimeWindows() |
List<DisplayTimeWindow> | مطلوب | الفترات الزمنية المجدوَلة للبرنامج |
getChannelId() |
سلسلة | مطلوب | المعرّف الفريد لقناة التلفزيون |
getChannelName() |
سلسلة | مطلوب | اسم القناة التلفزيونية |
getChannelLogoImage() |
صورة | مطلوب | صورة شعار القناة التلفزيونية |
getCallToAction() |
سلسلة | مطلوب (GTV) | نص طلب التفاعل |
getTags() |
List<String> | اختياري | الكلمات الرئيسية المستخدَمة للتصنيف |
أمثلة على استخدام أداة الإنشاء
مثال على 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() لإرسال المحتوى المرشّح إلى "لوحة عرض الميزات". يجب ضبط نوع المجموعة على RecommendationClusterType.TYPE_PROVIDER_ROW.
إصدار حزمة Engage SDK
يُرجى العِلم بالحد الأدنى لإصدار Engage SDK المطلوب لعملية الدمج هذه:
engage-tv: 1.0.6