CAF DAI SDK의 발신자 앱 작성

이전에 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"
}