ダイナミック広告挿入の連続配信広告のライブ API

Dynamic Ad Insertion API を使用すると、DAI ライブ ストリームのリクエストとトラッキングを行うことができます。

サービス: dai.google.com

すべての URI は https://dai.google.com を基準とします。

メソッド: stream

メソッド
stream POST /ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/stream

DAI DAI 連続配信広告配信のライブ ストリーム セッションを登録します。

HTTP リクエスト

POST https://dai.google.com/ssai/pods/api/v1/network/{network_code}/custom_asset/{custom_asset_key}/stream

パスパラメータ

パラメータ
network_code string

パブリッシャーの Google アド マネージャー ネットワークのコード。

custom_asset_key string

Google アド マネージャーでこのイベントに関連付けられたカスタム ID。

リクエスト本文

リクエスト本文は application/x-www-form-urlencoded 型で、次の内容が含まれます。 次のパラメータがあります。

パラメータ
アド マネージャーのターゲティング パラメータ 省略可 <ph type="x-smartling-placeholder"></ph> 追加のターゲティング パラメータ。
ストリーム パラメータをオーバーライドする 省略可 <ph type="x-smartling-placeholder"></ph> ストリーム作成パラメータのデフォルト値をオーバーライドします。
HMAC 認証 省略可 <ph type="x-smartling-placeholder"></ph> HMAC ベースのトークンを使用して認証する。

レスポンスの本文

成功した場合、レスポンスの本文には新しい Stream オブジェクトが含まれます。

Open Measurement

DAI API には、 Verifications フィールド。このフィールドには 1 つ以上の 実行に必要なリソースとメタデータをリストする Verification 要素 第三者測定コードを使用してクリエイティブの 再生を検証する必要があります単独 JavaScriptResource がサポートされています。詳細については、 IAB Tech Lab および VAST 4.1 仕様をご覧ください。

メソッド: 連続配信広告のセグメント

メソッド
pod segment GET /linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/pod/{pod_id}/profile/{profile_name}/{segment_number}.{segment_format}

指定されたイベント ID の DAI ストリームを作成します。

HTTP リクエスト

GET https://dai.google.com//linear/pods/v1/seg/network/{network_code}/custom_asset/{custom_asset_key}/pod/{pod_id}/profile/{profile_name}/{segment_number}.{segment_format}

パスパラメータ

パラメータ
network_code string

パブリッシャーの Google アド マネージャー ネットワークのコード。

custom_asset_key string

Google アド マネージャーでこのイベントに関連付けられたカスタム ID。

pod_id integer

現在のミッドロール挿入点の数値識別子。連続配信広告の ID は 1 からイベントごとに段階的に割り当てられます。

<ph type="x-smartling-placeholder">
profile_name string

名前 リクエストされた Google アド マネージャー DAI エンコード プロファイル。 エンコード プロファイルは、サービス用に構成されたいずれかのエンコード プロファイルである必要があります。 クリックします。

segment_number integer

現在の連続配信広告内のリクエストされたセグメントのインデックスで、 ゼロに設定されます。

<ph type="x-smartling-placeholder">
segment_format string

リクエストされたセグメント形式に関連付けられたファイル拡張子。 使用可能な拡張機能: tsmp4vttaacac3 または eac3

クエリ パラメータ

パラメータ
stream_id 必須 string

現在のユーザーのセッションのストリーム ID。この値は stream エンドポイントへのリクエストが成功した場合。

sd required1 integer

リクエストされたセグメントの再生時間(ミリ秒単位)。

so 省略可

連続配信広告内のリクエストされたセグメントのオフセット(ミリ秒単位)。 so パラメータを省略すると、 セグメントの長さにセグメント数を掛けます

pd 必須2 integer

連続配信広告の再生時間(ミリ秒単位)。

auth-token 必須 string

URL エンコードされた署名付き HMAC トークン 現在の連続配信広告を

last 省略可 boolean

ミッドロール挿入点の最後のセグメントを示します。すべての 選択します

scte35 省略可 string

この広告ブレークの Base64 でエンコードされた SCTE-35 シグナル。

cust_params 省略可 string

Key-Value ペアのセット。アド マネージャーのキャンペーンのターゲティングに使用されます。これらの URL エンコードされたクエリ文字列として表す必要があります。

例:
パラメータ
  • section = sports
  • ページ = golf,tennis
Request URL ...&cust_params=section%3Dsports%26page%3Dgolf%2Ctennis...

脚注

  1. 初期化セグメントには sd は必要ありません。
  2. 期間を指定しない広告を含むイベントでは pd は不要 休憩が有効になりました。

レスポンスの本文

成功した場合、レスポンスの本文は リクエストで指定された形式とパラメータ。

メソッド: DASH Pod Period テンプレート

メソッド
pods GET /linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.json

Google アド マネージャーに DASH 期間テンプレートをリクエストします。このテンプレート ストリーム パラメータで入力する必要があるマクロが含まれています。1 回 これらのマクロが入力され、テンプレートが広告ブレーク期間になり、 DASH マニフェストに組み込めます。

<ph type="x-smartling-placeholder">

HTTP リクエスト

GET https://dai.google.com/linear/pods/v1/dash/network/{network_code}/custom_asset/{custom_asset_key}/pods.json

パスパラメータ

パラメータ
network_code string

パブリッシャーの Google アド マネージャー ネットワークのコード。

custom_asset_key string

Google アド マネージャーでこのイベントに関連付けられたカスタム ID。

クエリ パラメータ

パラメータ
stream_id 必須 string

現在のユーザーのセッションのストリーム ID。この値は stream エンドポイントへのリクエストが成功した場合。

レスポンスの本文

成功した場合、レスポンスの本文には新しい PodTemplateResponse オブジェクト。

方法: メディアによるオーナー確認

再生中に広告メディア ID を見つけたら、すぐに stream から取得した media_verification_url を使用したリクエスト 示しています。サーバーサイド ビーコン処理では、これらのリクエストは不要 サーバーがメディア検証を開始します。

media verification エンドポイントへのリクエストはべき等です。

メソッド
media verification GET /{media_verification_url}/{ad_media_id}

メディア検証イベントを API に通知します。

HTTP リクエスト

GET https://{media-verification-url}/{ad-media-id}

レスポンスの本文

media verification 次のレスポンスが返されます。

  • メディアの検証が成功し、すべての ping が成功した場合、HTTP/1.1 204 No Content 送信しました。
  • HTTP/1.1 404 Not Found: 次の理由でメディアを検証できない場合 URL の形式や有効期限が正しくない。
  • HTTP/1.1 404 Not Found: この ID の以前の確認リクエスト 成功したことを示します。
  • HTTP/1.1 409 Conflict: 別のリクエストがすでに ping を送信している場合 あります。

広告メディア ID

広告メディア ID は、別のメタデータ トラック(時間指定)でエンコードされます。 HLS トランスポート ストリームでは emsg を、mp4 ファイルでは emsg を表現できます。広告メディア識別子 常に文字列 google_ で始まります。

メタデータ エントリのテキスト コンテンツ全体を広告に追加する 確認用の URL を入力する必要があります。

メソッド: metadata

metadata_url のメタデータ エンドポイントが、広告の作成に使用される情報を返す UI です。サーバーサイド ビーコン送信ストリームではメタデータ エンドポイントを使用できません。 この場合、サーバーが広告メディアの確認を開始します。

メソッド
metadata GET /{metadata_url}/{ad-media-id}

GET /{metadata_url}

広告メタデータ情報を取得します。

HTTP リクエスト

GET https://{metadata_url}/{ad-media-id}

GET https://{metadata_url}

レスポンスの本文

成功すると、レスポンスで次の内容のインスタンスが返されます。 PodMetadata

メタデータの解析

メタデータには、tagsads、広告 breaks の 3 つのセクションがあります。エントリ tags セクションにあります。その後、タグを繰り返し解析します。 名前がキーの接頭辞である最初のエントリを見つけます。 動画ストリーム内の広告メディア ID。たとえば、 この場合、広告メディア ID は次のようになります。

google_1234567890

次に、google_12345 という名前のタグ オブジェクトを見つけます。この場合は 広告メディア ID。正しい広告メディア接頭辞オブジェクトが見つかったら、 広告 ID、広告ブレーク ID、イベントタイプが含まれます。広告 ID を使用して、Google 広告が ads オブジェクトと広告ブレーク ID は、breaks オブジェクトをインデックス登録するために使用されます。

Response data

ストリーム

ストリームを使用して、新しく作成されたストリーム用のリソースのリストを JSON 形式。
JSON 表現
{
  "stream_id": string,
  "media_verification_url": string,
  "metadata_url": string,
  "session_update_url": string,
  "heartbeat_url": string,
  "polling_frequency": number,
  "pod_manifest_url": string,
  "manifest_format": string,
}
フィールド
stream_id string

GAM ストリーム識別子。
media_verification_url string

再生イベントをトラッキングするためのベース エンドポイントとして使用されるメディア確認 URL。
metadata_url string

今後のストリーミング広告イベントに関する定期的な情報のポーリングに使用するメタデータ URL。
session_update_url string

ストリームのターゲティング パラメータの更新に使用されるセッションの更新 URL。 ターゲティング パラメータの元の値は、最初のストリーム作成リクエストで取得されます。
heartbeat_url string

サーバーサイドのビーコン ストリームを稼働させるために使用されるハートビート URL {PollingFrequency} 秒ごとに ping する必要があります。 サーバー側のビーコン ストリーム用にデータが入力されます。
polling_frequency number

metadata_url または Heartbeat_url をリクエストするときのポーリング頻度(秒単位)。
pod_manifest_url string

Pod マニフェスト URL テンプレートは、ストリームの Pod マニフェストを取得するための URL を生成するために使用され、 対応する URL を返します。 ダイナミック広告挿入タイプが POD_SERVING_MANIFEST のライブ ストリーム イベント用にデータが入力されます。 https://developers.google.com/ad-manager/api/reference/v202305/LiveStreamEventService.DynamicAdInsertionType
manifest_format string

マニフェストの形式は、pod_manifest_url から取得したマニフェストの形式です。 ダッシュと hls を使用できます。

PodMetadata

PodMetadata には、広告、ミッドロール挿入点、メディア ID タグに関するメタデータ情報が含まれます。
JSON 表現
{
  "tags": map[string, object(TagSegment)],
  "ads": map[string, object(Ad)],
  "ad_breaks": map[string, object(AdBreak)],
}
フィールド
tags map[string, object(TagSegment)]

タグ接頭辞でインデックス登録されたタグセグメントのマップ。
ads map[string, object(Ad)]

広告 ID でインデックス登録された広告のマップ。
ad_breaks map[string, object(AdBreak)]

広告ブレーク ID でインデックスに登録されたミッドロール挿入点のマップ。

TagSegment

TagSegment には、広告、その広告ブレーク、イベントタイプへの参照が含まれます。 type="progress" の TagSegment広告メディアに ping が送信されないことを 検証エンドポイントを指定します。
JSON 表現
{
  "ad": string,
  "ad_break_id": string,
  "type": string,
}
フィールド
ad string

このタグの広告の ID。
ad_break_id string

このタグのミッドロール挿入点の ID。
type string

このタグのイベントタイプ。

AdBreak

AdBreak は、ストリーム内の 1 つのミッドロール挿入点を表します。再生時間、 タイプ(途中、前、後)と広告の数。
JSON 表現
{
  "type": string,
  "duration": number,
  "expected_duration": number,
  "ads": number,
}
フィールド
type string

有効な区切りのタイプは、pre、mid、post です。
duration number

このミッドロール挿入点の広告の合計再生時間(秒単位)。
expected_duration number

すべての広告とスレートを含む、ミッドロール挿入点の予想時間(秒単位)。
ads number

ミッドロール挿入点内の広告の数。
広告はストリーム内の広告について説明したものです。
JSON 表現
{
  "ad_break_id": string,
  "position": number,
  "duration": number,
  "title": string,
  "description": string,
  "advertiser": string,
  "ad_system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
  "clickthrough_url": string,
  "click_tracking_urls": [],
  "verifications": [object(Verification)],
  "slate": boolean,
  "icons": [object(Icon)],
  "wrappers": [object(Wrapper)],
  "universal_ad_id": object(UniversalAdID),
  "extensions": [],
  "companions": [object(Companion)],
  "interactive_file": object(InteractiveFile),
}
フィールド
ad_break_id string

この広告のミッドロール挿入点の ID。
position number

ミッドロール挿入点におけるこの広告の位置(1 から始まります)。
duration number

広告の再生時間(秒単位)。
title string

広告のタイトル(省略可)。
description string

広告の説明(省略可)。
advertiser string

オプションの広告主 ID。
ad_system string

オプションの広告システム。
ad_id string

広告 ID(省略可)。
creative_id string

クリエイティブ ID(省略可)。
creative_ad_id string

オプションのクリエイティブ広告 ID。
deal_id string

取引 ID(省略可)
clickthrough_url string

オプションのリンク先 URL。
click_tracking_urls string

クリック トラッキング URL(省略可)
verifications [object(Verification)]

リソースのリスト(任意)の Open Measurement 検証エントリ サードパーティ測定コードを実行して検証するために クリエイティブな再生を可能にします。
slate boolean

(省略可)現在のエントリがスレートであることを示すブール値。
icons [object(Icon)]

アイコンのリスト。空の場合は省略されます。
wrappers [object(Wrapper)]

ラッパーのリスト。空の場合は省略されます。
universal_ad_id object(UniversalAdID)

オプションのユニバーサル広告 ID。
extensions string

すべての <Extension> のリスト(省略可)VAST のノード。
companions [object(Companion)]

この広告と一緒に表示できるオプションのコンパニオンです。
interactive_file object(InteractiveFile)

広告の再生中に表示されるオプションのインタラクティブ クリエイティブ(SIMID)。

PodTemplateResponse

PodTemplateResponse は、Pod 合成のために VTP に返される JSON ペイロードを表します。
JSON 表現
{
  "dash_period_template": string,
  "segment_duration_ms": int64,
}
フィールド
dash_period_template string

DashPeriodTemplate は、合成前に適切なデータが入力される期間の XML テンプレートです。
segment_duration_ms int64

SegmentDurationMS は、期間セグメントの継続時間(ミリ秒単位)です。

アイコン

アイコンには、VAST アイコンに関する情報が含まれています。
JSON 表現
{
  "click_data": object(ClickData),
  "creative_type": string,
  "click_fallback_images": [object(FallbackImage)],
  "height": int32,
  "width": int32,
  "resource": string,
  "type": string,
  "x_position": string,
  "y_position": string,
  "program": string,
  "alt_text": string,
}
フィールド
click_data object(ClickData)

creative_type string

click_fallback_images [object(FallbackImage)]

height int32

width int32

resource string

type string

x_position string

y_position string

program string

alt_text string

ClickData

ClickData には、アイコンのクリックスルーに関する情報が含まれます。
JSON 表現
{
  "url": string,
}
フィールド
url string

FallbackImage

FallbackImage には、VAST 代替画像に関する情報が含まれます。
JSON 表現
{
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "alt_text": string,
}
フィールド
creative_type string

height int32

width int32

resource string

alt_text string

ラッパー

ラッパーには、ラッパー広告に関する情報が含まれています。これに 取引 ID(存在しない場合)。
JSON 表現
{
  "system": string,
  "ad_id": string,
  "creative_id": string,
  "creative_ad_id": string,
  "deal_id": string,
}
フィールド
system string

広告システム ID。
ad_id string

ラッパー広告に使用される広告 ID。
creative_id string

ラッパー広告に使用されるクリエイティブ ID。
creative_ad_id string

ラッパー広告に使用されるクリエイティブ広告 ID。
deal_id string

ラッパー広告の取引 ID(省略可)。

確認

ベリフィケーションでは Open Measurement に関する情報が含まれ、 第三者による視認性と検証の測定 現在サポートされているのは JavaScript リソースのみです。 https://iabtechlab.com/standards/open-measurement-sdk/ をご覧ください。
JSON 表現
{
  "vendor": string,
  "java_script_resources": [object(JavaScriptResource)],
  "tracking_events": [object(TrackingEvent)],
  "parameters": string,
}
フィールド
vendor string

検証ベンダー。
java_script_resources [object(JavaScriptResource)]

検証用の JavaScript リソースのリスト
tracking_events [object(TrackingEvent)]

オーナー確認のトラッキング イベントのリスト。
parameters string

ブートストラップ確認コードに渡される不透明な文字列。

JavaScriptResource

JavaScriptResource には、JavaScript で検証するための情報が含まれます。
JSON 表現
{
  "script_url": string,
  "api_framework": string,
  "browser_optional": boolean,
}
フィールド
script_url string

JavaScript ペイロードへの URI
api_framework string

APIFramework は、サービスを実行する動画フレームワークの名前です。 確認コードを入力します。
browser_optional boolean

このスクリプトを Google Compute Engine の

TrackingEvent

TrackingEvent には、特定の状況下でクライアントが ping する必要がある URL が含まれます。 対応できます。
JSON 表現
{
  "event": string,
  "uri": string,
}
フィールド
event string

トラッキング イベントのタイプ。
uri string

ping されるトラッキング イベント。

UniversalAdID

UniversalAdID は、対応するクリエイティブ ID を 複数の広告システムの間で維持します
JSON 表現
{
  "id_value": string,
  "id_registry": string,
}
フィールド
id_value string

広告で選択されたクリエイティブのユニバーサル広告 ID
id_registry string

レジストリのウェブサイトの URL を識別するために使用される文字列で、 選択したクリエイティブのユニバーサル広告 ID がカタログに登録されている。

コンパニオン

コンパニオンには、表示される可能性のあるコンパニオン広告の情報が含まれます。 広告とともに配信されます
JSON 表現
{
  "click_data": object(ClickData),
  "creative_type": string,
  "height": int32,
  "width": int32,
  "resource": string,
  "type": string,
  "ad_slot_id": string,
  "api_framework": string,
  "tracking_events": [object(TrackingEvent)],
}
フィールド
click_data object(ClickData)

このコンパニオンのクリックデータ。
creative_type string

<StaticResource> の CreativeType 属性VAST でノードが これは静的なタイプのコンパニオンです。
height int32

このコンパニオンの高さ(ピクセル単位)。
width int32

このコンパニオンの幅(ピクセル単位)。
resource string

静的コンパニオンと iframe コンパニオンの場合、これは読み込まれる URL です。 表示されます。HTML コンパニオンの場合は、このファイルをコンテンツとして表示する コンパニオンとして表示できます。
type string

このコンパニオンのタイプ。静的、iframe、HTML のいずれも使用できます。
ad_slot_id string

このコンパニオンのスロット ID。
api_framework string

このコンパニオンの API フレームワーク。
tracking_events [object(TrackingEvent)]

このコンパニオンのトラッキング イベントのリスト。

InteractiveFile

InteractiveFile には、インタラクティブ クリエイティブの情報(SIMID など)が含まれます。 広告再生中に表示される必要があります
JSON 表現
{
  "resource": string,
  "type": string,
  "variable_duration": boolean,
  "ad_parameters": string,
}
フィールド
resource string

インタラクティブ クリエイティブの URL。
type string

リソースとして提供されるファイルの MIME タイプ。
variable_duration boolean

このクリエイティブで再生時間の延長をリクエストできるかどうか。
ad_parameters string

<AdParameters> の値VAST でノードが使用されます。