長編動画サービス

Direct Supply のお客様は、 /prebid/lfv エンドポイントを使用して、アプリまたは Web の長文形式の広告ポッド動画インベントリを Prebid Server Premium (PSP) と統合できます。 長い形式の動画は 30 分以上で、プレロール、ミッドロール、ポストロールの位置が考えられます。

Microsoft Monetize 広告サーバーのお客様は、Microsoft Monetize への現在の統合を変更する必要はなく、長文ビデオ サービスを無視して、 代わりに PSP のセットアップ手順に従うことができます。

要求と応答のプロセス

次の手順は、長文ビデオの要求と応答のプロセスの概要を示しています:

  1. パブリッシャーは、 /prebid/lfv エンドポイント経由で Microsoft Monetize のインプレッション バス (ImpBus) に長文形式のビデオ要求を送信します。 この要求には、広告の長さ、ビデオの幅と高さなどの広告ポッドの POST 値と、競合分離のためのブランド カテゴリなどのオプション プロパティが含まれます。
  2. ImpBus は要求をアンパックし、広告ポッド内で埋める広告スロットの数を決定します。
  3. Monetize から構成が取得され、要求された数の広告スロットを含む OpenRTB 要求が ImpBus によって作成されます。
  4. ImpBus は、PSP デマンド パートナーと Microsoft Invest を含むすべての Microsoft Monetize 入札者に OpenRTB 要求を送信します
    1. 事前入札需要パートナーは、それぞれが一意の IAB サブカテゴリを持つ入札を返します。
    2. Microsoft Invest と外部の入札者には、IAB サブカテゴリに変換されるすべての入札に関連付けられた固有の Microsoft Monetize ブランド カテゴリがあります。
  5. ImpBus は、Microsoft Monetize マーケットプレースのオークションを実行して、落札した Microsoft Monetize の入札を決定します。
  6. 手順 3 で取得したパブリッシャーと広告サーバーの設定に基づいて、ImpBus は IAB サブカテゴリを主要な広告サーバー カテゴリ (Freewheel または Google Ad Manager) に変換します。
    1. Microsoft Monetize の入札の場合、ImpBus は Microsoft Monetize カテゴリから IAB サブカテゴリ、最後にプライマリ広告サーバー カテゴリに変換します。
  7. 入札単価は、価格バケット、プライマリ広告サーバー カテゴリ、期間のタプル値に基づいて重複除去されます。
  8. 一意の入札ごとに、ImpBus は一意の VAST XML をキャッシュします。
  9. hb_pbhb_pb_cat_dur,hb_cache_id の入札単価ごとに、キーと値のターゲティング ペアが生成されます。
  10. ImpBus は、Prebid をターゲットとするキーと値のペアおよびキャッシュ ID を含む JSON 応答を返します。

要求と応答のプロセスを示す図。

REST API

次の表に、長尺動画の入札要求を送信するために必要なパラメーターとオプションのパラメーターを示します。

パラメーター 範囲 説明
app 必須 Object 広告ポッドを表示するアプリを記述するコンテナー オブジェクト。 アプリが要求に含まれていない場合は、サイト パラメーターに含める必要があります。
auction_timeout_ms 省略可能 整数 オークションが完了するまでの最大待機時間 (ミリ秒単位)。 指定されていない場合の既定値は 0 です。これは、メンバーの Prebid Server Premium グローバル設定からのタイムアウト設定を使用します。
bcat 省略可能 文字列配列 IAB コンテンツ カテゴリを使用してブロックされた広告主カテゴリ。
badv 省略可能 文字列配列 ドメイン別の広告主のブロック リスト (例: "ford.com")。
cacheconfig 省略可能 オブジェクト Prebid Server キャッシュ情報を保持するためのオプションのコントロール。
content 省略可能 オブジェクト adPod(s)をターゲットにするために使用できるその他のコンテンツ メタデータを記述するコンテナー オブジェクト。
cur 省略可能 文字列 既定値: 米国ドル。 ISO-4217 アルファ コードを使用しているこの入札要求のターゲット キーに使用できる通貨。
device 省略可能 オブジェクト ビデオ レンダリングに使用されているデバイスを記述するコンテナー オブジェクト。
eids 省略可能 オブジェクト 統合ユーザー ID のリスト。
gpid 省略可能 文字列 グローバル プレースメント ID。 プラットフォーム間の広告スロットの一意の識別子。 Prebid 広告スロットと GPID の詳細については、 Prebid ドキュメントを参照してください。
includebrandcategory 省略可能 オブジェクト ブランド カテゴリの入力を記述するコンテナー オブジェクト。
memberid 省略可能 (インベントリ コードを使用する場合は必須) 整数 販売者のメンバー ID。
podconfig 必須 Object すべてのポッド構成を記述するためのコンテナー オブジェクト。 pod オブジェクトの詳細については、以下の Pod Config セクションを参照してください。
pricegranularity 省略可能 (推奨) オブジェクト pricegranualrity オブジェクトの詳細については、以下の「価格の粒度」セクションを参照してください。 設定 pricegranularityの広範な説明については、 Prebid のドキュメントを参照してください。
site 必須 Object adpodrequestを送信するページを記述するコンテナー オブジェクト。 site が含まれない場合は、app パラメーターを指定する必要があります。
user 省略可能 オブジェクト デバイスのユーザーを示すコンテナー オブジェクト。
video 省略可能 オブジェクト ビデオ プレーヤーを記述するコンテナー オブジェクト。
xdyn_params 省略可能 オブジェクト このオブジェクトは、各キーが入札者名であり、値はその入札者のパラメーターを含む JSON オブジェクトであるように、入札者固有のパラメーターを保持します。 を参照してください。

xdyn_params 例文

{
  "xdyn_params": {
    "appnexus": {
      "keywords": "key1=val1,key2=val2"
    }
  }
}

アプリ

app オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
domain 必須 文字列 アプリのドメイン。
name 省略可能 文字列 アプリの名前。
bundle 省略可能 文字列 アプリに一意であり、エクスチェンジに依存しないプラットフォーム固有のアプリケーション識別子。 これはバンドル名またはパッケージ名 (例: com.foo.mygame) にする必要があります。
keywords 省略可能 文字列 キーワードのコンマ区切りのリスト。
storeurl 省略可能 文字列 インストール済みアプリのアプリ ストア URL。

キャッシュ構成

cache config オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
ttl 省略可能 整数 秒単位で指定されたキャッシュ エントリの有効期間。
disablecache 省略可能 ブール型 既定の設定は false です。 このフラグが設定されている場合、PBS キャッシュは無効になり、キャッシュの責任はパブリッシャーまたはパブリッシャーのベンダーにあります。

コンテンツ

content オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
album 省略可能 文字列 コンテンツが属するアルバム。通常はオーディオ用です。
artist 省略可能 文字列 コンテンツにクレジットが記載されたアーティスト。
airtime 省略可能 整数 コンテンツが最初に放送された日時。
cat 省略可能 文字列配列 コンテンツ プロデューサーを表す IAB コンテンツ カテゴリの配列。 IAB 仕様を参照してください。
channel 省略可能 文字列 コンテンツが放送されているチャンネルの名前。
contentrating 省略可能 文字列 コンテンツのレーティング (MPAA など)。
context 省略可能 整数 コンテンツの種類 (ゲーム、ビデオ、テキストなど)。 IAB 仕様を参照してください。
data 省略可能 オブジェクト配列 追加のコンテンツ データ。 各 Data オブジェクトは異なるデータ ソースを表します。 IAB 仕様を参照してください。
embeddable 省略可能 ブール型 コンテンツが埋め込み可能かどうかを示すインジケーター (埋め込み可能なビデオ プレーヤーなど)。 false = no、 true = yes。
episode 省略可能 整数 エピソード番号。
ext 省略可能 オブジェクト OpenRTB への Exchange 固有の拡張機能のプレースホルダー。
genre 省略可能 文字列 コンテンツを最もよく表すジャンル (ロック、ポップなど)。
id 省略可能 文字列 コンテンツを一意に識別する ID。
isrc 省略可能 文字列 ISO-3901に準拠したInternational Standard Recording Codeです。
keywords 省略可能 文字列 コンテンツを説明するキーワードのコンマ区切りのリスト。
language 省略可能 文字列 ISO-639-1-alpha-2 を使用したコンテンツ言語。
len 省略可能 整数 コンテンツの長さ (秒単位)。ビデオまたはオーディオに適しています。
livestream 省略可能 ブール型 true = live、 false = 非ライブ (例: stream、live log)。
network 省略可能 文字列 トップレベルの親会社、または該当する場合は、複数のテレビのようなチャンネル、d2c コンテンツ ブランド、またはコンテンツが表示されているデジタル プロパティを所有するサブブランド。
prodq 省略可能 整数 生産品質。 IAB 仕様を参照してください。
producer 省略可能 オブジェクト コンテンツ producerの詳細。 IAB 仕様を参照してください。
qagmediarating 省略可能 整数 IQG ガイドラインに従ったメディア レーティング。 IAB 仕様を参照してください。
season 省略可能 文字列 コンテンツ シーズン (例: "シーズン 3")。
series 省略可能 文字列 ビデオの例: "The Office" (テレビ)、"Star Wars" (映画)、または "Arby 'N' The Chief" (Web 用に作成)。
ビデオ以外の例: 「エコセントリック」(タイム誌のブログ)。
sourcerelationship 省略可能 整数 0 = 間接、 1 = 直接。
title 省略可能 文字列 コンテンツのタイトル。
ビデオの例: 「Search Committee」(テレビ)、「A New Hope」(映画)、または「Endgame」(ウェブ用に作られた)。
ビデオ以外の例: 「なぜ南極氷河はこれほど早く溶けているのか」(タイム誌の記事)。
url 省略可能 文字列 バイサイドのコンテキスト化またはレビュー用のコンテンツの URL。
userrating 省略可能 文字列 コンテンツのユーザー評価 (星の数、いいね! の数など)。
videoquality 省略可能 integer;非推奨 注:prodq の優先により非推奨になりました。 ビデオ品質。 IAB 仕様を参照してください。
program_type 省略可能 文字列 プログラムの種類。

デバイス

device オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
ua 省略可能 文字列 ブラウザ ユーザー エージェント。
dnt 省略可能 整数 ブラウザーによってヘッダーに設定された標準の "トラッキング拒否" フラグ。 指定できる値は次のとおりです。
- 0. 追跡は無制限です。
- 1. トラッキングしない。
lmt 省略可能 整数 モバイル デバイス (iOS、Android など) の "広告追跡の制限" 信号。 指定できる値は次のとおりです。
- 0. 追跡は無制限です。
- 1. 追跡は商用ガイドラインに従って制限する必要があります。
ip 省略可能 文字列 広告要求を行っているデバイスの IP アドレス。
os 省略可能 文字列 デバイスのオペレーティング システム。 例 "iOS"
h 省略可能 整数 画面の物理的な高さ (ピクセル単位)。
w 省略可能 整数 画面の物理的な幅 (ピクセル単位)。
devicetype 省略可能 整数 デバイスの一般的なタイプ。 指定できる値は次のとおりです。
- Mobile/Tablet
- Personal Computer
- Connected TV
- Phone
- Tablet
- Connected Device
- Set Top Box
ifa 省略可能 文字列 広告主がクリアで使用するために認可された ID(つまり、ハッシュ化されません)。
didsha1 省略可能 文字列 ハードウェア デバイス ID (IMEI など)SHA1 経由でハッシュ化されました。
didmd5 省略可能 文字列 ハードウェア デバイス ID (IMEI など)MD5 経由でハッシュされます。
dpidsha1 省略可能 文字列 プラットフォームのデバイス ID (Android ID など)SHA1 経由でハッシュ化されました。
dpidmd5 省略可能 文字列 プラットフォームのデバイス ID (Android ID など)MD5 経由でハッシュされます。
macsha1 省略可能 文字列 デバイスの MAC アドレス。SHA1 経由でハッシュ化されました。
macmd5 省略可能 文字列 デバイスの MAC アドレス。MD5 経由でハッシュされます。

イード

eid オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
source 必須 文字列 ソースまたはテクノロジ プロバイダー。
id 必須 文字列 一意のユーザー ID。
rti_partner 必須 文字列 パートナー ID。

ブランド カテゴリを含める

includebrandcategory オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
primaryadserver 省略可能 整数 パブリッシャーが使用する広告サーバーを表す値を持つ整数。 指定できる値は次のとおりです。
- Freewheel
- Google Ad Manager

サイト

site オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
page 必須 文字列 インプレッションが表示されるページの URL。
keywords 省略可能 文字列 キーワードのコンマ区切りのリスト。

User

user オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
buyeruid 省略可能 整数 Microsoft Monetize ユーザー ID (既知の場合)。
yob 省略可能 整数 ユーザーの生年月日 (4 桁の整数)。
gender 省略可能 整数 ユーザーの性別。 指定できる値は次のとおりです。
- M: male
- F:女性
- O: その他であることがわかっています。
keywords 省略可能 文字列 関心や意図を表すキーワードのリスト。
gdpr 省略可能 オブジェクト ユーザーの GDPR 設定を記述するコンテナー オブジェクト。 詳細については、以下の GDPR セクションを参照してください。
privacy 省略可能 文字列 CCPA ユーザーのプライバシー文字列。

ビデオ

video オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
context 省略可能 整数 動画広告が表示されるコンテキスト。
- 0: 不明
- 1: プリロール
- 2: ミッドロール
- 3: ポストロール
- 4: Outstream
- 5: バナー内
w 省略可能 整数 ビデオ プレーヤーの幅 (デバイスに依存しないピクセル単位)。
h 省略可能 整数 ビデオ プレーヤーの高さ (デバイスに依存しないピクセル単位)。
mimes 省略可能 文字列配列 ビデオ プレーヤーでサポートされている MIME の種類の配列。 例: ["video/mp4"]
protocols 省略可能 文字列配列 ビデオ プレーヤーでサポートされているビデオ プロトコルの配列。 受け入れられるビデオ プロトコルは次のとおりです。
- VAST 1.0
- VAST 2.0
- VAST 3.0
- VAST 1.0 Wrapper
- VAST 2.0 Wrapper
- VAST 3.0 Wrapper
- VAST 4.0
- VAST 4.0 Wrapper
- DAAST 1.0
- DAAST 1.0 Wrapper

ポッド

pod オブジェクトは、次の要求パラメーターをサポートします。

Parameeter 範囲 説明
podid 必須 整数 特定の要求内のポッドの一意の ID。 これらを 1 ずつ増やして順番に並べることをお勧めします。
adpoddurationsec 必須 整数 adPodの期間。
placementid 必須 整数 ポッドが関連する配置 ID。 placementidを省略した場合は、invcoderequest.memberidが必要です。
invcode 省略可能 文字列 ポッドが関連するインベントリ コード。 invcodeが渡された場合、販売者はrequest.memberidでメンバーIDも渡す必要があります。
invcodeを省略した場合は、placementidが必要です。

ポッド構成

pod config オブジェクトは、次の要求パラメーターをサポートします。

パラメーター 範囲 説明
adomaindedupe 省略可能 ブール型 広告主のドメインに基づいて重複排除を行うかどうかを示すフラグ (OpenRTB 入札応答のadomain 値)。 有効にすると、選択した 2 つの入札単価が同じ広告主ドメインを持つことはできません。
perpodkeys 省略可能 ブール型 応答のキーと値をポッドごとの競合分離用に構成する必要があるかどうかを示すフラグ。 既定値は false です。 このフラグを有効にすると、返されるキー名に _podX 識別子が追加され、X は 1 から始まり、後続のポッドごとに 1 ずつ増加します。
各ポッドには異なる hb_cache_id 値があり、入札単価は異なるポッドでキャッシュされるため、異なるポッドで発生する限り同じ hb_pb_cat_dur 値が返されます。 値にインスタンス ID を追加して、同じポッド内でも同様の入札単価を返せるようにします。 値のインスタンス ID は _pX の接尾辞になります。X は 0 から始まり、後続の同一の入札ごとに 1 ずつ増加します。 たとえば、フラグ perpodkeys 有効になっている場合、通常は次のようになる hb_pb_cat_dur キーと値: "hb_pb_cat_dur": "15.00_airlines_30s"
代わりに次のようになります:
"hb_pb_cat_dur_pod1": "15.00_airlines_30s_p0"
pods 必須 Object 要求される adPodを記述するコンテナー オブジェクト。
durationrangesec 必須 整数 応答で許可される広告の長さの範囲。 期間の範囲の詳細については、以下の 期間範囲 のセクションを参照してください。
requireexactduration 省略可能 ブール型 送信された広告が正確な期間要件を満たしている必要があるかどうかを示すフラグ。 既定の設定は false です。

期間の範囲

podconfig.durationrangesecは、広告ポッド内の広告スロットの期間を表す整数の配列です。

podconfig.durationrangesec = [15, 30];

注:

requireexactdurationfalse に設定されている場合、広告の期間はdurationrangesec配列内で最も近い値に切り上げられます。 最小入札期間は 0 です。 上記の設定を使用すると、10 秒の入札は 15 秒に丸められ、18 秒の入札は 30 秒に丸められます。

requireexactdurationtrue に設定されている場合、durationrangesec配列と完全に一致する期間の広告のみが許可されます。 繰り返しますが、上記の例を使用すると、15 秒の長さで送信された広告は許可されますが、18 秒の長さで送信された広告は拒否されます。

EU 一般データ保護規則 (GDPR)

GDPR は、欧州連合によって制定されたデータ プライバシー法です。 GDPR の目標は、より厳格なデータ プライバシーとセキュリティ対策を提供し、データ保護慣行に関するよりユーザーフレンドリーな開示とレポートを提供することです。

パラメーター 範囲 説明
user.gdpr 省略可能 オブジェクト GDPR 設定を記述するコンテナー オブジェクト。
gdpr.consentrequired 省略可能 ブール型 GDPR が有効かどうかを示すフラグ。
gdpr.consentstring 省略可能 文字列 一連の数字で構成される文字列。広告技術ベンダーの同意状態を識別します。

価格の細分性

パラメーター 範囲 説明
precision 省略可能 整数 精度を省略すると、既定値になります。 Prebid ドキュメントを参照してください。
ranges 省略可能 オブジェクト 価格の粒度範囲を記述するコンテナー オブジェクト。

価格の細分性の範囲

データメーター 範囲 説明
max 省略可能 浮動小数点数 範囲の最大長。
increment 省略可能 浮動小数点数 範囲内でインクリメントする量。

応答

デマンド パートナーは、広告ポッド入札要求に対する応答を JSON 形式で返します。

広告ポッド

パラメーター 説明
adpods オブジェクト 元の要求で送信された各 ad pod に対する Prebid 要求パートナーの応答を記述するコンテナー オブジェクト。
adpods[...].podid 整数 対応する ad podの ID。
adpods[...].targeting オブジェクト このポッドの事前入札需要パートナーの入札を記述するコンテナー オブジェクトがターゲット キーに変換されます。 adpods.targeting オブジェクトの詳細については、以下のを参照してください。

広告ポッドのターゲティング

パラメーター 説明
hb_deal 文字列 関連付けられた入札単価の取引コードまたは外部取引 ID。 この入札単価が取引に関連付けられていない場合は省略されます。
hb_pb 文字列 価格バケット ターゲティング キー。 価格バケット モデルは、要求と構成からの pricegranularity によって定義されます。 価格バケット ターゲティングのキーと値は、丸められた入札価格を表します。
hb_pb_cat_dur 文字列 このキーの値は、価格バケット ()、クリエイティブ カテゴリ コード、ビデオ クリエイティブの期間という 3 つの値の連結を表します。
例:
adpods[...]targeting.hb_pb

これは、価格バケットが $12.00 (通貨が米ドルの場合)、カテゴリ コードが 135 (Freewheel や Google Ad Manager など、プライマリ広告サーバーのドメイン内)、期間が 30 秒であることを示します。

メモ: このキーと値は、対応する広告ポッドに対応するすべての入札単価で一意である必要があります。 2 つの同じ hb_pb_cat_dur 値がある場合、ImpBus は入札の 1 つを除外します。
hb_cache_id 文字列 Prebid キャッシュ ID。この値は、レンダリングされたビデオ コンテンツにマップされます。

注:
このキーと値は、1 つのリクエストのすべてのポッドのすべての入札単価で一意である必要があります。 実際のクリエイティブ キャッシュ キーは、この値と hb_pb_cat_durの連結です。 hb_pb_cat_durはすべての入札単価で一意である必要があるため、これによって実際のクリエイティブ キャッシュ キーが一意であることが保証されます。 実際のキャッシュ キーは、次に示すように、マクロを使用して作成されます。
${ hb_pb_cat_dur }_${ hb_cache_id }

hb_cache_id値は、1 つの応答の targeting[...] のすべてのエントリで同じになります。
hb_cache_host 文字列 この入札に関連付けられているクリエイティブが保存されているキャッシュのホスト名。

コード例

curl -X "POST" -H "Content-Type: application/json" -d 

{
   "podconfig":{
      "durationrangesec":[
         30
      ],
      "requireexactduration":false,
      "pods":[
         {
            "podid":1,
            "adpoddurationsec":60,
            "placementid":14997137
         }
      ]
   },
   "site":{
      "page":"https://www.foobar.com/1234.md"
   },
   "user":{
      "yob":1982,
      "gender":"M"
   },
   "device":{
      "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
      "ip":"123.145.167.10",
      "devicetype":1,
      "ifa":"AA000DFE74168477C70D291f574D344790E0BB11"
   },
   "includebrandcategory":{
      "primaryadserver":1
   },
   "video":{
      "w":640,
      "h":480,
      "mimes":[
         "video/mp4"
      ],
      "protocols":[
         2,
         3
      ]
   },
   "content":{
      "episode":6,
      "title":"episodeName",
      "series":"TvName",
      "season":"season3",
      "len":900,
      "livestream":false,
      "genre":"comedy",
      "program_type":"series",
      "contentrating":"GA",
      "id":"ABCDEF12345678",
      "language":"EN",
      "network":"XTV",
      "channel":"XandrTV",
      "airtime":1657827359,
      "album":"showads",
      "cat":[
         "IAB1-7",
         "IAB19-18"
      ],
      "context":1,
      "embeddable":false,
      "isrc":"USXND2100112",
      "keywords":"prizeworth=5000,gameshow,edu=true",
      "prodq":"prosumer",
      "qagmediarating":1,
      "sourcerelationship":true,
      "url":"https://tvname.xandrtv.com/overview",
      "userrating":"4/5 recommended",
      "producer":{
         "id":"xndtv5401",
         "name":"XandrTV",
         "cat":[
            "IAB1-7",
            "IAB19-18"
         ],
         "domain":"xandrtv.com"
      },
      "data":[
         {
            "id":"xandr",
            "name":"xndtv",
            "segment":[
               {
                  "id":"11854",
                  "name":"repeat viewers",
                  "value":"973"
               }
            ]
         }
      ]
   },
   "pricegranularity":{
      "precision":2,
      "ranges":[
         {
            "max":30.00,
            "increment":1.00
         }
      ]
   }
}

PSP でサポートされる形式と統合パス