이 가이드에서는 Engage SDK를 사용하여 동영상 및 라이브 TV 콘텐츠를 게시하기 위한 데이터 모델과 통합 단계를 설명합니다.
MovieEntity 데이터 모델
MovieEntity는 장편 영화를 나타냅니다. 다음 표에는 주요 필드가 요약되어 있습니다.
| 공개 메소드 | 유형 | 요구사항 | 설명 |
|---|---|---|---|
getName() |
문자열 | 필수 | 영화 제목 (예: '어벤져스: 엔드게임') |
getDescription() |
문자열 | 필수 | 마우스를 가져가면 표시되는 컨텍스트를 제공하는 요약 |
getPosterImages() |
List<Image> | 필수 | 영화 포스터 표시에 사용되는 이미지 목록 |
getPlatformSpecificPlaybackUris() |
List<PlatformSpecificUri> | 필수 | 특정 플랫폼에서의 재생을 위한 딥 링크 |
getDurationMillis() |
Long | 필수 | 영화의 총 길이(밀리초)입니다. |
getCallToActionText() |
문자열 | 필수 (GTV) | 사용자 상호작용을 유도하기 위해 표시되는 텍스트 (예: '지금 보기') |
getTags() |
List<String> | 선택사항 | 분류에 사용되는 키워드 (예: '액션/스릴러') |
LiveTvProgramEntity 데이터 모델
LiveTvProgramEntity는 특정 채널에서 방송되거나 방송될 예정인 프로그램을 나타냅니다.
| 공개 메소드 | 유형 | 요구사항 | 설명 |
|---|---|---|---|
getName() |
문자열 | 필수 | 프로그램 제목 (예: 'NBC CT Late News') |
getDescription() |
문자열 | 필수 | 프로그램에 관한 컨텍스트를 제공하는 요약 |
getPosterImages() |
List<Image> | 필수 | 프로그램의 디스플레이에 사용되는 이미지 |
getAvailabilityTimeWindows() |
List<DisplayTimeWindow> | 필수 | 프로그램의 예약된 기간 |
getChannelId() |
문자열 | 필수 | TV 채널의 고유 식별자 |
getChannelName() |
문자열 | 필수 | TV 채널 이름 |
getChannelLogoImage() |
이미지 | 필수 | TV 채널 로고 이미지 |
getCallToActionText() |
문자열 | 필수 (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)
.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개의 항목이 표시됩니다.
- 타겟팅: 각 개별 기기에 대해 추천 캐러셀 콘텐츠를 맞춤설정할 수 있습니다. 콘텐츠는 기기에 설치된 클라이언트 앱에서 게시되므로 사용자 또는 기기별로 고유한 맞춤 후보 목록으로 채울 수 있습니다. 하지만 Engage SDK는 내장된 타겟팅 지원을 제공하지 않으므로 이 타겟팅 로직을 구현해야 합니다.
Engage SDK 버전
이 통합에 필요한 최소 Engage SDK 버전을 참고하세요.
engage-tv: 1.0.6