Video Cloud SSAI 広告タグ検証

このトピックでは、Server-Side Ad Insertion(SSAI)で指定された広告コールを追跡する方法について説明します。

概要

サーバーサイド広告のデバッグを支援するため、Dynamic Delivery と SSAI では広告コールを追跡するための API エンドポイントを提供しています。

Video Cloud に保存された動画コンテンツでサーバーサイド広告をデバッグするには、次の手順に従います。

  1. API パスと認可に関する一般情報を確認する
  2. 広告設定のトレースを実行する

一般情報

以下の情報は、すべての SSAI API リクエストに適用されます。

ベース URL

SSAI API のベース URL は次のとおりです。

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

アカウント パス

すべての場合において、リクエストは特定の Video Cloud アカウントに対して行われます。そのため、ベース URL の後に accounts とアカウント ID を続けて追加します。

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

認証

API リクエストには Authorization ヘッダーが必要です。

   Authorization: Bearer your access token

access_token は Brightcove OAuth サービスから取得する一時的な OAuth2 アクセス トークンです。クライアント クレデンシャルの取得方法およびアクセス トークンの取得方法については、Brightcove OAuth 概要を参照してください。

操作

クライアント クレデンシャルをリクエストする際には、希望するアカウント アクセスまたは操作の種類を指定する必要があります。以下は現在 SSAI API でサポートされている操作の一覧です。

  • SSAI データ:

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

広告設定のトレースを実行する

広告設定のトレースを実行するには、次の手順に従います。

情報を収集する

API リクエストのbody に以下の情報を含めます。

パラメーター タイプ 説明
account_id String ユーザーのアカウント ID
playback_config Object フィールドの詳細は SSAI API ドキュメントの Configuration field details セクションに記載されています。
title_metadata Object 正しい広告レスポンスを生成するため、コンテンツの長さをシステムに知らせます。

例えば、以下の例ではコンテンツの長さが 1 分であることを示しています。これは適切な広告挿入に使用されます。
  "title_metadata": {  "duration": "1m" }
videocloud_metadata Object オプション。
メタデータフィールドを参照するテンプレート変数を使用する場合にのみ必要です。これらは SSAI API ドキュメントの Ad variables セクションに定義されています。

リクエスト

SSAI 広告設定のトレースを作成します。

Method POST
URL https://ssai.api.brightcove.com/v1/accounts/{account_id}/ssai_debug_vmap/debug.xml
Headers Authorization: Bearer access_token(詳細は Getting Access Tokens を参照)
Content-Type: application/json
Sample Body
  {
    "playback_config":{
      "name": "config_name",
      "vmap_response_namespace": "config_namespace",
      "account_id": "account_id",
      "ad_config": {
        "enable_ads": true,
        "expected_ad_response": "dfp_ad_rules",
        "disable_server_beacons": false,
        "round_up_cue_points": false,
        "template_url": {
        "template": "template_url"
        }
      },
      "extend_beacon_guard_ttl": false
    },
    "title_metadata":{
      "duration": "39s"
    }
  }

レスポンス

レスポンスの body には、VAST または同等の広告サーバーレスポンスが含まれます。

レスポンス例:

  <?xml version="1.0" encoding="UTF-8" ?>
  <vmap:VMAP xmlns:bc="bc" xmlns:vmap="http://www.iab.net/vmap-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
    <vmap:Extensions>
      <bc:Brightcove ttl="1800" contenturi="https://ssaiplayback.us-east-1.prod.boltdns.net/playback/once/v1/hls/v5/clear/1752604059001/debug/debug/195b46a6-f71b-432d-af0a-60c7f2131a7e/debug.m3u8?bc_token=NWIxNmQ4YWFfMzMwMzllMzIwMmZlYjRkNmJhY2ZkMWZiN2Y2NGQwOWVkZTYxYTBiOThhZmEwMTdkZjc5NjEzNGFkZDdiYTFjYw%3D%3D"
      contentlength="39.0000" payloadlength="67.0000" contenttype="application/x-mpegURL"></bc:Brightcove>
      <bc:BrightcoveDebug sessionID="195b46a6-f71b-432d-af0a-60c7f2131a7e"></bc:BrightcoveDebug>
    </vmap:Extensions>
    <vmap:AdBreak breakType="linear" breakId="MidRoll_5_0" timeOffset="00:00:05.0000">
      <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="0">
        <vmap:VASTData>
          <VAST xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <Ad id="2">
              <InLine>
                <AdSystem>Test Ad Server</AdSystem>
                <AdTitle>&#xA; Marketing&#xA;</AdTitle>
                <Description>&#xA; Demo ad number 4&#xA;</Description>
                <Error>&#xA; &#xA;</Error>
                <Creatives>
                  <Creative>
                    <Linear skipoffset="00:00:05">
                      <CreativeExtensions>
                        <CreativeExtension>
                          <BrightcoveForeignKey>2</BrightcoveForeignKey>
                        </CreativeExtension>
                      </CreativeExtensions>
                      <Duration>00:00:12.0000</Duration>
                      <AdParameters>&#xA; &lt;xml&gt;&lt;/xml&gt;&#xA;</AdParameters>
                      <VideoClicks></VideoClicks>
                    </Linear>
                  </Creative>
                </Creatives>
                <Extensions>
                  <Extension>
                    <xml>data</xml>
                  </Extension>
                </Extensions>
              </InLine>
            </Ad>
          </VAST>
        </vmap:VASTData>
      </vmap:AdSource>
    </vmap:AdBreak>
    ...// additional ad breaks
  </vmap:VMAP>
  

Request2 - テンプレート変数を使用する場合

メタデータフィールドを参照するテンプレート変数を使用して、SSAI 広告トレースを作成します。

Method POST
URL https://ssai.api.brightcove.com/v1/accounts/{account_id}/ssai_debug_vmap/debug.xml
Headers Authorization: Bearer access_token(詳細は Getting Access Tokens を参照)
Content-Type: application/json
Sample Body
    {
      "playback_config":{
        "name": "config_name",
        "vmap_response_namespace": "config_namespace",
        "account_id": "account_id",
        "ad_config": {
          "enable_ads": true,
          "expected_ad_response": "dfp_ad_rules",
          "disable_server_beacons": false,
          "round_up_cue_points": false,
          "template_url": {
            "template": "template_url"
          }
        },
        "extend_beacon_guard_ttl": false
      },
      "title_metadata":{
        "duration": "10s"
      },
      "videocloud_metadata": {
        "name": "ad_name",
        "tags": [ "tag1:tag1_value", "tag2:tag2_value" ],
        "ad_keys":"a=1&b=2",
        "cue_points": [{
          "name":"Pre-roll",
          "type":"AD",
          "time":0,
          "metadata":"type:pre-roll,a=b"
          },
          {
          "name":"Mid-roll",
          "type":"AD",
          "time":10,
          "metadata":"type=mid-roll,x=y"
          }]
      }
    }

Response2

レスポンス例:

      <vmap:VMAP xmlns:bc="bc" xmlns:vmap="http://www.iab.net/vmap-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
      <vmap:Extensions>
      <bc:Brightcove ttl="1800" contenturi="https://ssaiplayback.us-east-1.qa.boltdns.net/playback/once/v1/hls/v5/clear/accoutn_debug/debug/debug/7592e9c3-214f-4c68-a576-1e2494b7be06/debug.m3u8" contentlength="10.0000" payloadlength="70.0000" contenttype="application/x-mpegURL"></bc:Brightcove>
      <bc:BrightcoveDebug sessionID="7592e9c3-214f-4c68-a576-1e2494b7be06"></bc:BrightcoveDebug>
      </vmap:Extensions>
      <vmap:AdBreak breakType="linear" breakId="PreRoll_0_0" timeOffset="start">
      <vmap:AdSource allowMultipleAds="true" followRedirects="true" id="0">
      <vmap:VASTData>
        <VAST xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
          <Ad id="test-01-30s">
            <InLine>
              <AdSystem>BIAS</AdSystem>
              <AdTitle>test-01-30s</AdTitle>
              <Creatives>
                <Creative>
                  <Linear>
                    <CreativeExtensions>
                      <CreativeExtension>
                        <BrightcoveForeignKey>test-01-30s</BrightcoveForeignKey>
                      </CreativeExtension>
                    </CreativeExtensions>
                    <Duration>00:00:30.0000</Duration>
                    <TrackingEvents>
                      <Tracking event="mute">https://solutions.brightcove.com/beacon?event=mute&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                      <Tracking event="unmute">https://solutions.brightcove.com/beacon?event=unmute&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                      <Tracking event="rewind">https://solutions.brightcove.com/beacon?event=rewind&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                      <Tracking event="pause">https://solutions.brightcove.com/beacon?event=pause&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                      <Tracking event="resume">https://solutions.brightcove.com/beacon?event=resume&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                      <Tracking event="fullscreen">https://solutions.brightcove.com/beacon?event=fullscreen&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                      <Tracking event="acceptInvitation">https://solutions.brightcove.com/beacon?event=acceptInvitation&amp;type=vast&amp;request_id=43a0e4a5-4420-11e8-b306-99b1b6ae5164&amp;parent_request_id=436ae081-4420-11e8-bd7f-41361f814644&amp;ad_id=test-01-30s</Tracking>
                    </TrackingEvents>
                    <VideoClicks>
                      <ClickThrough id="clickthrough">https://www.brightcove.com/en/</ClickThrough>
                      <ClickTracking id="43a0e4a5-4420-11e8-b306-99b1b6ae5164"></ClickTracking>
                    </VideoClicks>
                  </Linear>
                </Creative>
              </Creatives>
            </InLine>
          </Ad>
        </VAST>
      </vmap:VASTData>
      </vmap:AdSource>
      </vmap:AdBreak>
      ...// additional ad breaks
      </vmap:VMAP>