이전에 Chromecast와 DAI 간의 통합과 달리 CAF DAI SDK는 Cast 애플리케이션 프레임워크에 의해 설정된 표준과 기대치를 유지하는 데 중점을 둡니다. 따라서 IMA와 발신기 앱 간의 양방향 통신을 관리하기 위해 발신기 앱을 과도하게 맞춤설정하는 데 필요한 요구사항은 없습니다. 이러한 커뮤니케이션은 이제 맞춤 메시지 시스템이 발신자 앱과 수신자 간에 통신할 필요 없이 통합된 CAF 광고 시점 기능을 통해 관리됩니다.
발신자에 따라 웹 발신자에게 건너뛸 수 있는 광고 지원을 추가하는 등 CAF 광고 시점 지원을 완전히 사용 설정하려면 발신자에게 제한된 코드를 추가해야 할 수도 있습니다.
이제 CAF 광고 시점 지원 외에 발신자에서 수신자에게 전송되는 CAF MediaInfo 객체에 DAI 스트림 데이터를 포함하기만 하면 됩니다. 다양한 방식으로 이 데이터를 전송할 수 있습니다. 예를 들어 수신기에 contentSourceID를 하드 코딩하고 MediaInfo 객체와 함께 videoID만 전송할 수 있습니다. 또는 수신기에 임의의 식별자를 전송한 다음 거기서 실제 DAI 매개변수에 관한 온라인 데이터베이스를 쿼리할 수 있습니다.
그러나 편의를 위해 모든 샘플에서는 사용자가 MediaInfo 객체에 대해 다음과 같은 간단한 구조와 이름 지정 규칙을 따른다고 가정합니다.
contentId | 이 미디어 항목의 고유 식별자입니다. | |
contentUrl | 어떤 이유로든 DAI StreamRequest가 실패한 경우 로드할 대체 스트림 URL입니다. | |
streamType | 라이브 스트림의 경우 이 값은 'LIVE'로 설정되어야 합니다. VOD 스트림의 경우 이 값을 'BUFFERED'로 설정해야 합니다. | |
customData | assetKey | 라이브 스트림만 해당 로드할 라이브 스트림 식별 |
contentSourceId | VOD 스트림만 해당. 요청된 스트림이 포함된 미디어 피드를 식별합니다. | |
videoId | VOD 스트림만 해당. 지정된 미디어 피드 내에서 요청된 스트림을 식별합니다. | |
ApiKey | IMA DAI SDK에서 스트림 URL을 가져오는 데 필요할 수 있는 선택적 API 키입니다. | |
senderCanSkip | 전송 기기에 건너뛰기 버튼을 표시할 수 있는 기능이 있어 건너뛸 수 있는 광고를 지원할 수 있는지 수신자에게 알려주는 불리언 값입니다. |
라이브 스트림 예시:
{
"media": {
"contentId": "bbb",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/bbb.m3u8",
"streamType": "LIVE",
"customData": {
"assetKey": "sN_IYUG8STe1ZzhIIE_ksA",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}
VOD 스트림 예시:
{
"media": {
"contentId": "tos",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/tos.m3u8",
"streamType": "BUFFERED",
"customData": {
"contentSourceId": "2548831",
"videoId": "tears-of-steel",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}