이 페이지는 이동했습니다. 3초 후에 새 위치 로 이동합니다. 북마크를 업데이트하세요!

비디오 클라우드 SSAI광고 구성 API

이 항목에서는 SSAI (서버측 광고 삽입) API를 사용하여 광고 구성을 만들고 관리하는 방법에 대해 알아봅니다.

광고 구성은 광고 통화, 비콘 및 기타 구성 옵션을 포함하여 SSAI 재생의 다양한 측면을 정의합니다. 계정에는 여러 구성이 있을 수 있으며 현재 구성을 계정 간에 공유할 수 없습니다.

일반 정보

다음 정보는 모든 SSAI API 요청과 관련이 있습니다.

기본 URL

SSAIAPI의 기본 URL은 다음과 같습니다.

https://ssai.api.brightcove.com/v1

계정 경로

모든 경우에 특정 Video Cloud 계정에 대한 요청이 이루어집니다. 따라서 항상 기본 URL에 용어accounts뒤에 계정 ID를 추가해야 합니다.

https://ssai.api.brightcove.com/v1/accounts/your account id

인증

요청에 대한 인증에는 권한 부여 헤더가 필요합니다.

Authorization: Bearer your access token

access_token는 브라이트코브 OAuth 서비스에서 가져와야 하는 임시 OAuth2 액세스 토큰입니다. 클라이언트 자격 증명을 얻고 이를 사용하여 액세스 토큰을 검색하는 방법에 대한 자세한 내용은 Brightcove OAuth 개요를 참조하십시오 .

운영

클라이언트 자격 증명을 요청할 때 원하는 계정 액세스 또는 작업 유형을 지정해야 합니다. 다음은 SSAI API에 대해 현재 지원되는 작업 목록입니다.

  • SSAI의 데이터:

    video-cloud/ssai/read
    video-cloud/ssai/all

광고 구성 관리

API는 다음과 같은 GET 및 PUT 요청을 지원합니다.

광고 구성 나열

계정에 대해 정의된 광고 구성을 나열합니다.

방법 얻다
URL https://ssai.api.brightcove.com/v1/accounts/ 귀하의 계정 ID /ssai_configs
헤더 권한 부여: 액세스 토큰 전달자
콘텐츠 유형: 응용 프로그램/json

샘플 응답:

[
  {
    "name": "VMAP Ad Server",
    "vmap_response_namespace": "bc",
    "config_id": "2ecc6beb-d6a4-4deb-a78e-37ac27e0f883",
    "account_id": "57838016001",
    "created_timestamp": "2017-07-24T19:28:34.976878586Z",
    "updated_timestamp": "2017-07-24T19:28:34.976878586Z",
    "ad_config": {
      "expected_ad_response": "dfp_ad_rules",
      "disable_server_beacons": false,
      "template_url": {
          "template": "http://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
      }
    }
  }
]

광고 구성 만들기

계정에 대한 광고 구성을 만듭니다.

방법 우편
URL https://ssai.api.brightcove.com/v1/accounts/ 귀하의 계정 ID /ssai_configs
헤더 권한 부여: 액세스 토큰 전달자
콘텐츠 유형: 응용 프로그램/json

샘플 본문:

{
  "name": "VMAP Ad Server",
  "vmap_response_namespace": "bc",
  "ad_config": {
  	"expected_ad_response": "vast_3_0",
  	"disable_server_beacons": false,
    "round_up_cue_points": false,
  	"template_url": {
  		"template": "http://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
  	}
  },
  "discontinuities": {
    "hls": [ "*" ]
  }
}

광고 구성 세부 정보 가져오기

계정의 경우 구성 ID별로 광고 구성 세부 정보를 가져옵니다.

방법 얻다
URL https://ssai.api.brightcove.com/v1/accounts/ 계정 ID /ssai_configs/ 광고 구성 ID
헤더 권한 부여: 액세스 토큰 전달자
콘텐츠 유형: 응용 프로그램/json

샘플 응답:

{
  "name": "VMAP Ad Server",
  "vmap_response_namespace": "bc",
  "config_id": "2ecc6beb-d6a4-4deb-a78e-37ac27e0f883",
  "account_id": "57838016001",
  "created_timestamp": "2017-07-24T19:28:34.976878586Z",
  "updated_timestamp": "2017-07-24T19:28:34.976878586Z",
  "ad_config": {
    "expected_ad_response": "dfp_ad_rules",
    "disable_server_beacons": false,
    "template_url": {
        "template": "http://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
    }
  },
  "beacon_templates": [
      {
        "type": "content_start",
        "template_url": {
          "template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
        }
      },
      {
        "type": "content_midpoint",
        "template_url": {
          "template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
        }
      },
      {
        "type": "ad_start",
        "template_url": {
          "template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
        }
      },
      {
        "type": "content_complete",
        "template_url": {
          "template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
        }
      }
    ],
    "discontinuities": {
      "dash": [
        "*"
      ],
      "hls": [
        "*"
      ]
    },
    "extend_beacon_guard_ttl": true
  }
}

광고 구성 업데이트

구성 ID로 광고 구성을 업데이트하십시오.

방법 넣어
URL https://ssai.api.brightcove.com/v1/accounts/ 계정 ID /ssai_configs/ 광고 구성 ID
헤더 권한 부여: 액세스 토큰 전달자
콘텐츠 유형: 응용 프로그램/json
샘플 본체
{
    "name": "VMAP Ad Server - updated"
}

샘플 응답:

{
  "name": "VMAP Ad Server - updated",
  "vmap_response_namespace": "bc",
  "config_id": "2ecc6beb-d6a4-4deb-a78e-37ac27e0f883",
  "account_id": "57838016001",
  "created_timestamp": "2017-07-24T19:28:34.976878586Z",
  "updated_timestamp": "2017-07-24T19:28:34.976878586Z",
  "ad_config": {
    "expected_ad_response": "dfp_ad_rules",
    "disable_server_beacons": false,
    "template_url": {
      "template": "http://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
    }
  }
}

구성 필드 세부 정보

이 표는 요청의 본문 섹션 내에서 사용되는 광고 구성 필드를 정의합니다.

필드 유형 설명
name 문자열 사람이 읽을 수 있는 이름
vmap_response_namespace 문자열 레거시 Unicorn Once 네임스페이스 형식을 사용하거나 새로운 브라이트코브 네임스페이스 형식을 사용하도록 VMAP 출력을 조정합니다.

값: uo , bc기본값: bc
description 문자열 사람이 읽을 수 있는 설명
ad_config.expected_ad_response 문자열 응답을 분석하는 데 사용할 기술[1]

값:
  • dfp_ad_rules
  • dfp_vmap
  • smart_xml
  • vast_3_0
ad_config.disable_server_beacons 부울 광고 노출/비콘의 서버 측 실행을 비활성화할지 여부를 표시합니다.

로 설정할 때true , SSAI는 서버 측 비콘을 실행하지 않고 VMAP 출력에 모든 비콘을 포함합니다.

로 설정할 때false , SSAI는 서버 측에서 할 수 있는 비콘을 발사하고 VMAP 출력에 할 수 없는 비콘을 포함합니다.
ad_config.round_up_cue_points 부울 광고를 삽입할 근처 위치를 선택할 때 다음 키프레임으로 반올림할지 여부를 표시합니다.

기본값: false원하는 광고 위치에 가장 가까운 키프레임을 선택합니다.
ad_config.template_url.template 문자열 광고 태그 템플릿. 사용 가능한 변수는 이후 섹션에서 설명합니다.
ad_config.template_url.defaults 객체 URL 매개 변수를 제공하지 않는 경우에 사용할 기본값을 정의하는 문자열에 문자열의지도.

리터럴일 수 있습니다. { "url.foo": "SomeString" }

또는 다른 변수를 참조할 수 있습니다. { "url.foo": "{{ metadata.title_id }}" }
discontinuities.dash[2] [] 문자열 다중 기간 대시 매니페스트를 제공할 대시 버전을 제어합니다.

모든 버전에 다중 기간 대시를["*"]제공하도록 설정

빈 목록 없음

예: ["live-timeline"]실시간 타임라인용으로 제공하지만 hbbtv에는 제공하지 않음
discontinuities.hls[2] [] 문자열 불연속으로 제공할 hl의 버전을 제어합니다.

로 설정["*"] HLS의 모든 버전에서 불연속으로 제공

절대 빈 목록

예: ["v4","v5"] v4 및 v5에는 제공하지만 v3에는 제공하지 않음
beacon_templates 어레이 발사할 비콘 배열 (예: 타사 비콘)
beacon_templates[].type 문자열

발사 할 비콘의 유형입니다. 값:

  • content_start
  • content_first_quartile
  • content_midpoint
  • content_third_quartile
  • content_complete
  • content_quartiles
  • content_interval
  • ad_start
  • ad_first_quartile
  • ad_midpoint
  • ad_third_quartile
  • ad_complete
  • ad_quartiles
  • ad_break_start
  • ad_break_end
  • segment_start
  • segment_end
  • on_load
beacon_templates[].template_url.template 문자열 신호 URL 템플리트
extend_beacon_guard_ttl 부울 비콘 가드 TTL (사용 시간) 의 길이를 컨텐츠 세션 TTL 길이로 설정합니다. 그렇지 않으면 기본값은 1분입니다.

광고 변수

템플릿 URL의 변수는 변수 경로 앞뒤에 선택적 공백이 있는 이중 중괄호 ( {{ … }} ) 로 식별됩니다. 모든 변수에는 세 개의 네임스페이스 중 하나가 접두사로 붙어있습니다.

시스템 변수

시스템 변수는 SSAI에서 제공하며 임의의 값을 생성하기 위한 최종 사용자 또는 도우미 변수에 대한 정보일 수 있습니다. 값은 URL 템플릿에 삽입되기 전에 URI로 인코딩되어야 합니다.

시스템 변수는 다음과 같이 식별됩니다. {{system.*}}

필드 설명
ip_address 최종 사용자의 IP 주소
random_number_32 임의 32비트 정수
random_guid 임의의 UUID
referer 최종 사용자의 참조 헤더 값
timestamp_utc 유닉스 타임 스탬프로 현재 시간
unique_user_id MD5 (IP_주소+사용자_에이전트)
unix_timestamp 유닉스 타임 스탬프 (초) 로 현재 시간
user_agent 최종 사용자의 사용자 에이전트 헤더 값
uuid 랜덤 UUID
x_forwarded_for 최종 사용자의 X-포워드-대상 헤더 값
xfp.correlator 임의의 64 비트 정수
xfp.ip_address 최종 사용자의 IP 주소
xfp.unique_user_id MD5 (IP_주소+사용자_에이전트)
xfp.scor 임의의 64 비트 정수

URL 변수

진입점 VMap/매니페스트에 제공된 쿼리 매개 변수는url네임스페이스에서 사용할 수 있습니다. 다른 네임 스페이스의 변수와 달리 이러한 매개 변수는 템플릿에 삽입 할 때 URL이 인코딩되지 않습니다. 변수 값이 광고 공급자로가는 URL로 인코딩되어야하는 경우 진입 점 URL에 이중 URL로 인코딩되어야합니다.

URL 변수는 다음과 같이 식별됩니다. {{url.*}}

메타데이터 변수

메타데이터 변수는 비디오 클라우드 및 동적 전송 데이터 소스에서 파생된 콘텐츠 비디오를 설명하는 변수입니다. 값은 URL 템플릿에 삽입되기 전에 인코딩된 URL입니다.

메타데이터 변수는 다음과 같이 식별됩니다. {{metadata.*}}

필드 설명
ad_keys 비디오 클라우드 스튜디오 미디어 모듈에서 추가 및 편집할 수 있는 자유 형식 텍스트 문자열
custom_fields.{field_name} 비디오 클라우드 사용자 정의 필드
long_description 비디오 클라우드 자세한 설명
name 비디오 클라우드 비디오 이름
reference_id 비디오 클라우드 참조 ID
tags 비디오에 대한 Video Cloud 태그의 쉼표로 구분된 목록
title.duration 콘텐츠의 지속 시간 (초)
title.id 동적 배달 제목 ID
title.name 동적 배달 제목 이름
video_id 비디오 클라우드 비디오 ID
다른 비디오 클라우드 키/값 쌍도 여기에 있습니다.

진입점 URL 매개 변수

몇 가지 동작을 조정하기 위해 SSAI의 진입점 URL (VMAP 또는 매니페스트) 에 추가할 수 있는 몇 가지 쿼리 매개 변수가 있습니다.

매개 변수 설명
?rule=sd-only 계정 구성에 설정된 임계값보다 낮은 높이의 비디오 변환을 필터링합니다.
?rule=discos-enabled HLS에서 불연속으로 재생을 활성화하고 대시의 다중 기간에서 재생합니다. 재생 구성의 불연속 설정보다 우선합니다.
?rule=discos-disabled Dash의 HLS 및 다중 기간에서 불연속으로 재생을 비활성화합니다. 재생 구성의 불연속 설정보다 우선합니다.

구성 참고 사항

  1. SSAI를 사용하여 광고를 미리 로드하면 안 됩니다. 그 이유는 미리 로드하면 플레이어가 광고 노출과 동영상이 재생되기 전에 첫 번째 사분위수 비콘을 보고하기 때문입니다. 이로 인해 광고 분석이 부정확할 수 있습니다. Studio에서 SSAI를 구성하면 이 작업이 자동으로 수행되지만 수동으로 SSAI를 설정하는 경우에는 이 문제를 알고 있어야 합니다.
  2. 웹 플레이어가 SSAI를 사용하고 있고 이를 위한 동기 중 하나가 광고 차단기를 해결하는 것이라면 서버 측 비콘을 사용해야 합니다. 클라이언트 측 비콘은 차단되므로 사용해서는 안 됩니다.

클라이언트 측 매크로

클라이언트측 광고 매크로를 사용하려는 경우page접두사를 사용하십시오. 이러한 매크로를 사용하면 VMAP 및 서버 URL의 변수를 사용할 수 있습니다. 광고 매크로에 대한 자세한 내용은 IMA3 플러그인을 사용한광고 문서의 광고 매크로 및 ServerURL섹션을 참조하십시오.

클라이언트 측 매크로에는 다음과 같은 접두사가 붙습니다. {{page.*}}

예를 들어document.referrerpageVariable DOM 창 변수를 추가하려면 다음과 같이 광고page템플릿에서 접두사를 붙입니다.

https://adserver.com/{{page.document.referrer}}/{{page.pageVariable.whateverIwant}}

재생 API가document.referrer반환되고 VMAP 및 SRC URL에pageVariable.whateverIwant추가됩니다. 그런 다음 브라이트코브 플레이어는 요청을 보내기 전에 클라이언트 측 매크로 교체 논리를 실행하여 적절한 값을 바꿉니다.

https://bolt-prefix/blah.vmap?document.referrer={document.referrer}&pageVariable.whateverIwant={pageVariable.whateverIwant}

광고 오류 비콘

SSAI를 사용할 때 발생하는 BAST 광고 오류 비콘은 광고 워크플로와 관련된 문제를 사전에 찾고 해결하는 데 도움이 될 수 있습니다. 자세한 내용은 SSAI가 포함된광고 오류 비콘문서를 참조하십시오.