アド マネージャーとの統合では、VOD セッション用の広告タグを作成する必要があります。VOD 構成も作成する必要があります。Video Stitcher API では、この構成がアド マネージャーに登録されます。
アド マネージャーで広告タグを作成する
アド マネージャー アカウントで次の手順を行います。
- 新しい広告ユニットを追加する
- 広告ルールを有効にします。
新しい広告ルールを作成します。この手順の一環として、アド マネージャーの [ターゲティング] > [広告枠] セクションを見つけます。前のステップで作成した新しい広告ユニットを選択します。
動画とオーディオの広告タグを生成するの手順に沿って、次の変更を加えて有効な広告タグを作成します。
- プレーヤーの SDK タイプで [Google IMA SDK] を選択します。
- タグにパラメータ
ad_rule=1
を追加します(たとえば、&ad_rule=1
を末尾に追加します)。 - タグにパラメータ
vid_d=vod-asset-duration-in-secs
を追加します(たとえば、30 分間の VOD アセットの場合は末尾に&vid_d=1800
を追加します)。 - パラメータ
output=vast
をoutput=xml_vmap1
に変更します。サポートされている出力タイプは Video Multiple Ad Playlist(VMAP)仕様のみです。
VM 構成を作成する
構成を作成するには、projects.locations.vodConfigs.create
メソッドを使用します。 オプション フィールド(カスタム ヘッダーなど)については、VOD 構成リファレンス ドキュメントをご覧ください。
リクエストのデータを使用する前に、次のように置き換えます。
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号PROJECT_NUMBER
: VOD 構成を作成するロケーション。サポートされているリージョンのいずれかを使用します。LOCATION ロケーションを表示us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
: VOD 構成のユーザー定義の識別子。この ID に使用できるのは、小文字、数字、ハイフンに限られます。 最初の文字は英字で、最後の文字は英字または数字で、ID 全体は最大 63 文字です。VOD_CONFIG_ID
: 合成するメディアの URI。この URI は、MPEG-DASH マニフェスト(MPD)ファイルまたは HLS マニフェスト(M3U8)ファイルを参照する必要があります。CDN キーを登録した公開 URI または署名なし URI を使用します。VOD_URI 広告サーバーから取得した広告メタデータの URL。アド マネージャーとの統合では、有効なアド マネージャーの動画広告タグである必要があります。有効な広告タグを取得するには、前のセクションのアド マネージャーで広告タグを作成するの手順をご覧ください。AD_TAG_URI
: アド マネージャー ネットワークの数値識別子。パブリッシャー アカウントのグローバル設定にあります。NETWORK_CODE
リクエストの本文(JSON):
{ "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "gamVodConfig": { "networkCode": "NETWORK_CODE " } }
リクエストを送信するには、次のいずれかのオプションを展開します。
curl(Linux、macOS、Cloud Shell)
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
cat > request.json << 'EOF' { "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "gamVodConfig": { "networkCode": "NETWORK_CODE " } } EOF
その後、次のコマンドを実行して REST リクエストを送信します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs?vodConfigId=VOD_CONFIG_ID "
PowerShell(Windows)
リクエスト本文を request.json
という名前のファイルに保存します。ターミナルで次のコマンドを実行して、このファイルを現在のディレクトリに作成または上書きします。
@' { "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "gamVodConfig": { "networkCode": "NETWORK_CODE " } } '@ | Out-File -FilePath request.json -Encoding utf8
その後、次のコマンドを実行して REST リクエストを送信します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs?vodConfigId=VOD_CONFIG_ID " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.common.OperationMetadata", "createTime":CREATE_TIME , "target": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID ", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
このコマンドは、進行状況を追跡するためにクエリできる長時間実行オペレーション(LRO)を作成します。次のセクションで使用するために、返された
(name
フィールドの最後の部分)をコピーします。
結果を確認する
projects.locations.operations.get
メソッドを使用して、VOD 構成が作成されたかどうかを確認します。レスポンスに "done: false"
が含まれている場合は、レスポンスに "done: true"
が含まれるまでコマンドを繰り返します。
リクエストのデータを使用する前に、次のように置き換えます。
: IAM 設定ページの [プロジェクト番号] フィールドにある Google Cloud プロジェクト番号PROJECT_NUMBER
: データのロケーション。サポートされているリージョンのいずれかを使用します。LOCATION ロケーションを表示us-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
: オペレーションの ID。OPERATION_ID
リクエストを送信するには、次のいずれかのオプションを開きます。
curl(Linux、macOS、Cloud Shell)
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /operations/OPERATION_ID "
PowerShell(Windows)
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /operations/OPERATION_ID " | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.common.OperationMetadata", "createTime":CREATE_TIME , "endTime":END_TIME , "target": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID ", "verb": "create" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.VodConfig", "name": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID ", "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "gamVodConfig": { "networkCode": "NETWORK_CODE " }, "state": "READY" } }
状態が READY
に設定されていることを確認します。確認できない場合は、数秒待ってからリクエストを再度送信します。
VOD 構成ファイルの詳細については、VOD 構成ファイルの作成と管理をご覧ください。