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 계정 관리자에게 문의하세요.
라이브 스트림에 DAI API 구현
DAI API는 HLS 및 DASH 프로토콜을 모두 사용하여 선형 (라이브) 스트림을 지원합니다. 이 가이드에서 설명하는 단계는 두 프로토콜에 모두 적용됩니다.
라이브 스트림을 위해 API를 앱에 통합하려면 다음 단계를 완료하세요. 단계:
1. 스트림 요청
DAI API에서 라이브 스트림을 요청하려면 스트림에 대해 POST 호출을 실행합니다. 할 수 있습니다 JSON 응답에는 스트림 매니페스트 및 관련 DAI API 엔드포인트 및 값입니다.
요청 본문 예시
https://dai.google.com/linear/v1/dash/event/0ndl1dJcRmKDUPxTRjvdog/stream
{
key1 : "value1",
stream_parameter1 : "value2"
}
응답 본문 예시
{
"stream_id":"c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL",
"stream_manifest":"https://dai.google.com/linear/dash/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/manifest.mpd",
"media_verification_url":"https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/",
"metadata_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata",
"session_update_url":"https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session",
"polling_frequency":10
}
오류 응답
오류가 발생하면 JSON 응답 본문 없이 표준 HTTP 오류 코드가 반환됩니다.
JSON 응답을 파싱하고 다음 값을 저장합니다.
- stream_id
- 이 값은 반환된 스트림을 식별하는 데 사용할 수 있습니다.
- stream_manifest
- 이 URL은 스트림 재생을 위해 미디어 플레이어로 전달됩니다.
- media_verification_url
- 이 URL은 재생 이벤트 추적의 기본 엔드포인트입니다.
- metadata_url
- 이 URL은 예정된 스트림에 대한 주기적인 정보를 폴링하는 데 사용됩니다. 제공합니다.
- session_update_url
- 이 URL은 초기 설정 중에 전송된 스트림 요청 매개변수를 업데이트하는 데 스트림 요청을 처리합니다. 이 요청의 매개변수는 모든 매개변수를 대체합니다. 설정만 하면 됩니다.
- polling_frequency
- 업데이트된 광고 시점 메타데이터를 DAI API로 전달됩니다.
2. 새 광고 시점 메타데이터 설문조사
타이머를 설정하여 메타데이터 URL입니다. 스트림 응답에 지정되지 않은 경우, 기본값이 권장됩니다. 간격은 10초입니다.
요청 본문 예시
https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/metadata
응답 본문 예시
{
"tags":{
"google_0492266569":{
"ad":"0000229836_ad1",
"ad_break_id":"0000229836",
"type":"firstquartile"
},
"google_1560331148":{
"ad":"0000229836_ad1",
"ad_break_id":"0000229836",
"type":"thirdquartile"
},
"google_1877686714378797835":{
"ad":"0000229836_slate",
"ad_break_id":"0000229836",
"type":"progress"
},
"google_1vRyQBYPw_7Gg3MrZ6S5EjmV9aLje-YpW8QHed1DSlU":{
"ad":"0000229835_ad1",
"ad_break_id":"0000229835",
"type":"progress"
},
"google_2032765498":{
"ad":"0000229835_ad1",
"ad_break_id":"0000229835",
"type":"midpoint"
},......
"google_5646900623":{
"ad":"0000229837_ad1",
"ad_break_id":"0000229837",
"type":"complete"
}
},
"ads":{
"0000229834_ad1":{
"ad_break_id":"0000229834",
"position":1,
"duration":15.01,
"title":"truman-e2e-creativeset4",
"description":"truman-e2e-creativeset4 ad",
"ad_system":"GDFP",
"ad_id":"39066884",
"creative_id":"58092079124",
"clickthrough_url":"https://pubads.g.doubleclick.net/pcs/click?xai=AKAO...\u0026adurl=http://google.com",
"universal_ad_id":{
"id_value":"58092079124",
"id_registry":"GDFP"
}
},
"0000229834_slate":{
"ad_break_id":"0000229834",
"position":-1,
"duration":14.974977777,
"slate":true
},...
},
"ad_breaks":{
"0000229834":{
"type":"mid",
"duration":15.01,
"expected_duration":29.984977776999997,
"ads":1
},....
}
}
3. ID3 이벤트 리슨 및 재생 이벤트 추적
동영상 스트림에서 특정 이벤트가 발생했는지 확인하려면 다음 단계를 수행하여 ID3 이벤트를 처리합니다.
- 미디어 이벤트를 대기열에 저장하고 각 미디어 ID를 타임스탬프 (플레이어에 의해 표시되는 경우)
- 플레이어에서 업데이트할 때마다 또는 설정된 빈도로 (권장됨) 미디어 이벤트 대기열에서 최근 재생된 이벤트를 이벤트 타임스탬프를 플레이헤드와 비교합니다.
- 재생된 것으로 확인된 미디어 이벤트의 경우 저장된 광고 시점 태그에서 미디어 ID를 조회하여 유형을 확인합니다. 저장된 태그는 에는 미디어 ID의 접두사만 포함되므로 정확히 일치하는 항목은 찾을 수 없습니다.
- 'progress' 이벤트를 사용하여 사용자가 광고 시점 내에 있는지 추적합니다. 이러한 이벤트를 미디어 인증 엔드포인트로 전송하면 안 됩니다. 기타 이벤트 미디어 ID를 미디어 확인 엔드포인트에 추가하고 요청을 전송합니다.
- 큐에서 미디어 이벤트를 삭제합니다.
요청 본문 예시
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. 라이브 스트림 세션 매개변수 업데이트
스트림이 종료된 후 세션 매개변수를 조정해야 할 수 있습니다. 생성됨. 이렇게 하려면 세션 업데이트 URL에 요청을 보내야 합니다.
요청 본문 예시
https://dai.google.com/linear/v1/pa/event/0ndl1dJcRmKDUPxTRjvdog/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/session
{
key1 : "value1",
stream_parameter1 : "value2"
}
응답 본문 예시
Successful response would be to look for - HTTP/1.1 200
제한사항
WebView 내에서 API를 사용하면 타겟팅과 관련하여 다음 제한사항이 적용됩니다.
- UserAgent: 사용자 에이전트 매개변수가 브라우저별 값으로 전달됩니다. API에 액세스할 수 있습니다
rdid
님,idtype
,is_lat
: 기기 ID가 제대로 전달되지 않아 다음 기능을 사용할 수 있습니다.- 최대 게재빈도 설정
- 순차적 광고 로테이션
- 잠재고객 분류 및 타겟팅
권장사항
라이브 스트림 색인의 메타데이터 엔드포인트는 접두사로 대체합니다. 이는 서드 파티 쿠키의 액세스 차단이나 메타데이터 엔드포인트를 생성합니다.