Публикация контента в разделе «Рекомендуемые материалы»

В этом руководстве описаны модель данных и этапы интеграции для публикации видеоконтента и прямых трансляций телеканалов с использованием SDK Engage.

модель данных MovieEntity

Объект MovieEntity представляет собой полнометражный фильм. В следующей таблице приведено краткое описание основных полей.

Общедоступные методы Тип Требование Описание
getName() Нить Необходимый Название фильма (например, «Мстители: Финал»)
getDescription() Нить Необходимый Сводная информация, отображаемая при наведении курсора мыши.
getPosterImages() Список<Изображение> Необходимый Список изображений, использованных для оформления постера к фильму.
getPlatformSpecificPlaybackUris() List<PlatformSpecificUri> Необходимый Прямые ссылки для воспроизведения на определенных платформах
getDurationMillis() Длинный Необходимый Общая продолжительность фильма в миллисекундах
getCallToActionText() Нить Обязательно (GTV) Текст, отображаемый для инициирования взаимодействия с пользователем (например, «Смотреть сейчас»).
getTags() Список<Строка> Необязательный Ключевые слова, используемые для категоризации (например, "Боевик/Триллер")

модель данных LiveTvProgramEntity

Объект LiveTvProgramEntity обозначает программу, которая транслируется или запланирована к трансляции на конкретном канале.

Общедоступные методы Тип Требование Описание
getName() Нить Необходимый Название программы (например, "NBC CT Late News")
getDescription() Нить Необходимый Краткое описание, предоставляющее контекст программы.
getPosterImages() Список<Изображение> Необходимый Изображения, использованные для отображения программы.
getAvailabilityTimeWindows() Список<DisplayTimeWindow> Необходимый Запланированные временные интервалы для программы
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();

API

publishRecommendationClusters() будет использоваться для отправки контента-кандидатов в карусель функций. Тип кластера следует установить как RecommendationClusterType.TYPE_PROVIDER_ROW .

Ограничения на количество товаров и таргетинг

  • Ограничение на количество товаров: в карусели с избранными товарами отображается максимум 3 товара.
  • Таргетинг: Вы можете настраивать содержимое карусели с избранными предложениями для каждого отдельного устройства. Поскольку контент публикуется из клиентского приложения, установленного на устройстве, вы можете заполнять его уникальными персонализированными списками кандидатов для каждого пользователя или устройства. Однако вы несете ответственность за реализацию этой логики таргетинга, поскольку SDK Engage не предоставляет встроенной поддержки таргетинга.

Engage SDK версия

Обратите внимание на минимальную версию Engage SDK, необходимую для этой интеграции:

engage-tv: 1.0.6