개요
서버측 광고 삽입 ( SSAI ) 을 사용하면 동영상 콘텐츠 스트림에 광고를 연결하여 TV와 같은 시청 경험을 제공할 수 있습니다. 네이티브 SDK로 라이브 스트림을 재생하려면 동영상 요청과 함께 재생 토큰을 전달해야합니다.
SSAI Live를 통해 다음을 수행할 수 있습니다.
- 인코더에서 전송된 큐 포인트를 사용하여 광고를 삽입하거나 인코더에서 전송된 큐 포인트를 사용하여 인스턴트 큐 포인트를 만드세요. Live API
- '슬레이트' 자산을 수집하여 사용하지 않는 광고 시간을 메우세요
- 서버 측의 실시간 스트림에 연결된 광고로 광고 차단기를 피하십시오.
단계
실시간SSAI스트림을 재생하려면 다음 단계를 따르세요.
- 라이브 광고 구성 만들기 Video Cloud Studio 사용
- 선택 사항: 슬레이트 에셋생성 및/또는 큐 포인트 및 광고 비콘삽입
- 라이브 이벤트 만들기
- 재생 토큰 가져 오기
-
앱 빌드:
- 광고 시간 요청
라이브 이벤트 만들기
기본적으로 라이브 스트림은 Brightcove CDN을 사용합니다. 원하는 경우 자신이 선택한 CDN을 사용할 수 있습니다 (BYO CDN 또는 "직접 대역폭 가져 오기"). 자체 CDN을 사용하려면 이 섹션 및 재생 토큰가져오기 섹션에 선택적 단계를 포함시키십시오.
라이브 이벤트를 만들려면 다음 단계를 따르세요.
- 참조라이브 모듈에서 서버 측 광고 구현문서.
- 고급 옵션 섹션을 확장합니다.
-
SSAI(Server-Side Ad Insertion) 활성화를 선택하고 슬레이트 채우기를 선택합니다.
-
선택 사항 : 자체 CDN을 사용하려면 다음 추가 단계를 포함하십시오.
-
고급 옵션 섹션에서 다중 CDN 구성 추가 옵션을 선택합니다.
-
자신의 CDN에 대한 레이블과 URL을 입력하십시오. 자세한 내용은 콘텐츠 제공 옵션 문서를 참조하십시오.
-
- 라이브 이벤트 구성을 마쳤으면 이벤트 생성 을 클릭합니다.
재생 토큰 가져 오기
실시간 스트림에서 SSAI를 활성화하면 플레이어 임베드 코드에adConfigId
파라미터가 포함됩니다. 이 값은 앱에서 비디오 콘텐츠를 요청할 때 사용할 재생 토큰입니다.
재생 토큰을 얻으려면 다음 단계를 따르십시오.
- Video Cloud Studio에서 라이브 모듈로 돌아갑니다.
- 왼쪽 탐색에서 Publish and Embed를 선택합니다.
-
라이브 플레이어 옵션 섹션에서 광고 구성 선택 옵션을 펼치고 이전 단계에서 생성한 라이브 광고 구성을 선택합니다.
-
표준 임베드 코드를클립보드에 복사합니다.
-
임베드 코드에서
VideoId
파라미터 값을 복사합니다. 이후 단계에서 이 값을 사용합니다. 다음과 유사해야합니다.1700044540369289748
-
임베드 코드에서
adConfigId
파라미터 값을 복사합니다. 이후 단계에서 이 값을 사용합니다.adConfigId
값은 Video Cloud 라이브러리에서 콘텐츠를 요청할 때 전달된 재생 토큰입니다. 다음과 유사해야합니다.live.t0vbpNIjTPW6IZ29QsyuWrmgjvQjEWe3u_wPmaMqnhAmE05DCF7aAa-6fDIkvryJctH1rADJnfXYANy7tDg4agQFx23WIvsXMmAjz1BiNl-S3rFZ9tRdzRWdo1E4FTLkET6XcNuNZ2acTnzmow
- 또한 계정에 대한 계정 ID 및 정책 키가 필요합니다.
안드로이드 구현
실시간 스트림을 재생하려면 동영상 요청에adConfigId
파라미터와 재생 토큰 값을 포함해야 합니다.
다음 단계에 따라 앱을 빌드합니다.
- 기본 SSAI 샘플 앱을코드의 시작점으로 사용하십시오.
- res/values/strings.xml파일에서 다음을 사용자 고유의 값으로 바꾸십시오.
- 계정 ID
- 정책 키
- 비디오 ID(위의 재생 토큰 가져오기 섹션에서)
-
에서 MainActivity.java파일, 교체
ad_config_id
값을 라이브 모듈에서 복사한 재생 토큰(라이브 URL)으로재생 토큰 가져오기위 섹션.private final String AD_CONFIG_ID_QUERY_PARAM_VALUE = "live.t0vbpNIjTPW6IZ29QsyuWrmgjvQjEWe3u_wPmaMqnhAmE05DCF7aAa-6fDIkvryJctH1rADJnfXYANy7tDg4agQFx23WIvsXMmAjz1BiNl-S3rFZ9tRdzRWdo1E4FTLkET6XcNuNZ2acTnzmow";
-
재생 토큰
ad_config_id
포함 값이 HTTP 요청에 쿼리 파라미터로 추가됩니다.HttpRequestConfig httpRequestConfig = new HttpRequestConfig.Builder() .addQueryParameter(AD_CONFIG_ID_QUERY_PARAM_KEY, AD_CONFIG_ID_QUERY_PARAM_VALUE) .build();
-
라이브 스트림 비디오 ID와 업데이트된 HTTP 요청을 사용하여 Playback API에 대한 카탈로그를 호출합니다.
catalog.findVideoByID(getString(R.string.video_id), httpRequestConfig, new VideoListener() { @Override public void onVideo(Video video) { plugin.processVideo(video); } });
-
앱이 실시간 스트림을 재생할 준비가 되었습니다.
Android용 Native SDK에서 SSAI에 대해 활성화된 라이브 스트림을 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요. 6.9.0의 SSAI 플러그인 변경 사항블로그 게시물.
iOS 구현
실시간 스트림을 재생하려면 동영상 요청에adConfigId
파라미터와 재생 토큰 값을 포함해야 합니다.
다음 단계에 따라 앱을 빌드합니다.
- 기본 SSAI 샘플 앱을코드의 시작점으로 사용하십시오.
- ViewController.swift파일에서 다음을 사용자 고유의 값으로 바꾸십시오.
- 계정 ID
- 정책 키
- 비디오 ID(위의 재생 토큰 가져오기 섹션에서)
-
에서 ViewController.swift파일, 교체
AdConfigId
값을 라이브 모듈에서 복사한 재생 토큰(라이브 URL)으로재생 토큰 가져오기위 섹션.static let AdConfigId = "live.t0vbpNIjTPW6IZ29QsyuWrmgjvQjEWe3u_wPmaMqnhAmE05DCF7aAa-6fDIkvryJctH1rADJnfXYANy7tDg4agQFx23WIvsXMmAjz1BiNl-S3rFZ9tRdzRWdo1E4FTLkET6XcNuNZ2acTnzmow";
-
재생 토큰
AdConfigId
포함 값이 HTTP 요청에 쿼리 파라미터로 추가됩니다.let queryParameters = [kBCOVPlaybackServiceParamaterKeyAdConfigId: Constants.AdConfigId]
-
라이브 스트림 비디오 ID와 업데이트된 HTTP 요청을 사용하여 Playback API에 대한 카탈로그를 호출합니다.
playbackService.findVideo(withVideoID: Constants.VideoId, parameters: queryParameters) { [weak self] (video: BCOVVideo?, jsonResponse: [AnyHashable: Any]?, error: Error?) -> Void in guard let _video = video else { print("ViewController Debug - Error retrieving video: \(error?.localizedDescription ?? "unknown error")") return } self?.playbackController?.setVideos([_video] as NSFastEnumeration) }
- 앱이 실시간 스트림을 재생할 준비가 되었습니다.