VOD 스트림용 동적 광고 삽입 API

Google DAI API를 사용하면 환경에서 Google DAI 지원 스트림을 구현할 수 있습니다. IMA SDK 구현이 지원되지 않음 여전히 IMA SDK가 지원되는 플랫폼의 IMA

다음 플랫폼에서 DAI API를 사용하는 것이 좋습니다.

  • 삼성 스마트 TV (Tizen)
  • LG TV
  • HbbTV
  • Xbox (JavaScript 앱)
  • KaiOS

API는 IMA DAI SDK에서 제공하는 기본 기능을 지원합니다. 특정 대상 호환성 또는 지원 기능에 대해 궁금한 점이 있으면 Google 계정 관리자입니다.

VOD 스트림에 DAI API 구현

DAI API는 HLS 및 DASH 프로토콜을 모두 사용하여 VOD 스트림을 지원합니다. 단계 이 가이드에 설명된 대로 두 프로토콜에 모두 적용됩니다.

VOD 스트림을 위해 API를 애플리케이션에 통합하려면 다음 단계를 따르세요.

  1. 스트림 엔드포인트에 POST 호출을 실행하여 스트림을 요청합니다.

    요청 본문 예시:

    https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream
    
      {
        key1 : "value1",
        stream_parameter1 : "value2"
      }
    

    응답 본문 예시:

    {
       "stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85",
       "total_duration":636.458,
       "content_duration":596.458,
       "valid_for":"8h0m0s",
       "valid_until":"2020-06-04T20:39:41.274707306-07:00",
       "stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd",
       "media_verification_url":"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/",
       "ad_breaks":[
          {
             "type":"pre",
             "start":0,
             "duration":10,
             "ads":[
                {
                   "seq":1,
                   "duration":10,
                   "title":"External NCA1C1L1 Preroll",
                   "description":"External NCA1C1L1 Preroll ad",
                   "clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365",
                   "events":[
                      {
                         "time":0.1,
                         "type":"start"
                      },
                      {
                         "time":2.5,
                         "type":"firstquartile"
                      },
                      {
                         "time":4.75,
                         "type":"midpoint"
                      },
                      {
                         "time":7.5,
                         "type":"thirdquartile"
                      },
                      {
                         "time":9,
                         "type":"complete"
                      }
                   ]
                }
             ]
          },
          {
             "type":"mid",
             "start":45,
             "duration":10,
             "ads":[
                {.... }
                   ]
                }
             ]
          },
          {
             "type":"post",
             "start":626.458,
             "duration":10,
             "ads":[...]
          }
       ]
    }
    

    오류 응답

    오류가 발생하면 JSON 없이 표준 HTTP 오류 코드가 반환됩니다. 응답 본문입니다.

  2. JSON 응답을 파싱하고 다음 값을 저장합니다.

    • stream_id
    • stream_manifest
    • media_verification_url
    • ad_breaks
  3. 미디어 인증을 수행하려면 ID3 이벤트를 리슨합니다.

    1. 미디어 이벤트를 대기열에 저장하고 각 미디어 ID를 타임스탬프 (플레이어에 의해 표시되는 경우)
    2. 플레이어에서 업데이트할 때마다 또는 설정된 빈도로 (권장됨) 미디어 이벤트 대기열에서 최근 재생된 이벤트를 이벤트 타임스탬프를 플레이헤드와 비교합니다.
    3. 재생되었음을 확인한 미디어 이벤트의 경우 미디어 ID를 미디어 확인 엔드포인트에 추가하고 GET 요청을 수행합니다.

    요청 본문 예시:

    https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
    

    응답 예시:

    Accepted for asynchronous verification - HTTP/1.1 202 Accepted
    Successful empty response - HTTP/1.1 204 No Content
    Media verification not found - HTTP/1.1 404 Not Found
    Media verification sent by someone else - HTTP/1.1 409 Conflict
    

    추적 이벤트는 스트림 활동에서 확인할 수 있습니다. 모니터링.

  4. 선택사항: 스트림 생성 응답의 ad_breaks 데이터를 사용하여 어떤 유형의 이벤트가 시작되었는지 보여줍니다.

  5. 큐에서 미디어 이벤트를 삭제합니다.

제한사항

WebView 내에서 API를 사용하면 타겟팅과 관련하여 다음 제한사항이 적용됩니다.

  • UserAgent: 사용자 에이전트 매개변수가 브라우저별 값으로 전달됩니다. API에 액세스할 수 있습니다
  • rdid님, idtype, is_lat: 기기 ID는 다음과 같습니다. 제대로 전달되지 않아 다음 기능이 제한됩니다.
    • 최대 게재빈도 설정
    • 순차적 광고 로테이션
    • 잠재고객 분류 및 타겟팅

권장사항

VOD에서는 ID3 태그를 적절한 이벤트 유형에 매핑하는 것이 번거로울 수 있습니다. 사용 다음과 같이 JSON으로 ad_breaks 정보를 반환하여 이벤트를 직접 조회합니다. 생생한 경험담을 제공합니다.

추가 리소스