기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
예제 1: 데이터 보강
시나리오
스트리밍 서비스는 세션 시작 시 외부 서비스(이 경우 LiveRamp)에서 대상 ID 데이터를 가져와 세션 후반부에 광고 대상 지정을 위한 플레이어 파라미터에 저장하려고 합니다. 자격 증명 봉투는 광고 시스템이 개인 정보를 노출하지 않고 디바이스 및 플랫폼에서 최종 사용자를 인식할 수 있도록 자격 증명 확인 서비스에서 제공하는 암호화된 식별자입니다.
구성
LiveRamp 봉투 가져오기(HTTP_REQUEST):
{ "FunctionId": "fetchLiveRamp", "FunctionType": "HTTP_REQUEST", "HttpRequestConfiguration": { "Runtime": "JSONATA", "MethodType": "GET", "Url": "{%'https://api.example-identity.com/v2/envelope?pid=12345&iv=' & player_params.hashedId%}", "Headers": { "Authorization": "{%'Bearer ramp-token-789'%}" }, "RequestTimeoutMilliseconds": 2000, "Output": { "player_params.envelope_id": "{%response.body.envelopes[0].value%}" } } }
참고
를 자체 API 자격 증명Bearer ramp-token-789으로 바꿉니다. 프로덕션의 함수 구성에 민감한 토큰을 직접 저장하지 마십시오. 토큰 교체 전략을 사용하는 것이 좋습니다.
외부 서비스의 예상 응답 시간을 RequestTimeoutMilliseconds 기준으로를 설정합니다. 값이 낮을수록 지연 시간이 줄어들지만 제한 시간 오류의 가능성이 높아집니다.
함수 매핑
{ "FunctionMapping": { "PRE_SESSION_INITIALIZATION": "fetchLiveRamp" } }
함수 실행 시 발생하는 일
뷰어가 재생 세션을 시작합니다.
MediaTailor는
PRE_SESSION_INITIALIZATION수명 주기 후크를 실행하고를 실행합니다fetchLiveRamp.함수는를 사용하여 요청 URL을 빌드
player_params.hashedId하고 LiveRamp API를 호출합니다. URL에서pid는 파트너 ID이고iv는 해시된 최종 사용자 식별자입니다.출력 표현식은 응답 배열(
response.body.envelopes[0].value)의 첫 번째 봉투에서 값을 추출하여에 씁니다player_params.envelope_id.
작은 정보
오류를 명시적으로 처리하려면 응답 데이터에 액세스response.statusCode하기 전에 다음을 확인하세요. {%response.statusCode = 200 ? response.body.envelopes[0].value : ''%}
자세한 내용은 HTTP_REQUEST, PRE_SESSION_초기화, 문제 해결 및 모니터링 및 한도 부분을 참조하세요.