DAI Ad Break API を使用する

DAI 広告ブレーク API を使用すると、ライブ配信の広告ブレークのタイミングと広告ターゲティング データの作成と管理を行うことができます。

このガイドでは、DAI 広告ブレーク API を使用して、Google ダイナミック広告挿入(DAI)ライブ ストリーム イベントの広告ブレークを作成、更新、削除する方法について説明します。

前提条件

DAI 広告ブレーク API を使用するには、次のものが必要です。

  • admanagervideo.googleapis.com サービスが有効になっている Google Cloud プロジェクト。詳細については、Cloud プロジェクトを作成するをご覧ください。
  • Google DAI ライブ ストリーム イベントを含む Google アド マネージャー ネットワーク。詳しくは、DAI のライブ配信を設定するをご覧ください。

API アクセスを設定する

この API を有効にするには、次の操作手順を行います。

  1. サービス アカウントを作成します。詳細については、サービス アカウントを作成するをご覧ください。
  2. サービス アカウントを Google アド マネージャー ネットワークに追加します。詳細については、API アクセス用のサービス アカウント ユーザーを追加するをご覧ください。
  3. サービス アカウントのメールアドレスと Google アド マネージャー ネットワーク コードを Google アカウント マネージャーに提供します。
  4. Google Cloud プロジェクトで Google Ad Manager Video API を有効にします。詳細については、アプリの [API とサービス] を有効にするをご覧ください。

OAuth2 で認証する

API リクエストを承認する手順は次のとおりです。

  1. https://www.googleapis.com/auth/video-ads スコープでアクセス トークンを生成します。
  2. 各リクエストで、API へのアクセス トークンを Authorization HTTP ヘッダー Bearer 値として含めます。詳細については、Google API を呼び出すをご覧ください。

次の例では、DAI 広告ブレーク API のスコープで OAuth トークンを生成します。

gcloud auth print-access-token --scopes='https://www.googleapis.com/auth/video-ads'

成功すると、次のアクセス トークンが表示されます。

ya29.c.c0ASRK0GYUYU0...

最初のリクエストを行う

ライブ配信イベントの広告ブレークを取得するには、GET メソッドを使用して、イベントのシステム生成されたアセットキーまたはカスタム アセットキーで、すべての AdBreak エンティティを一覧表示します。

DAI 広告ブレーク API は、API を介して作成された AdBreak エンティティのみを返します。マニフェスト、ポッド セグメント リクエスト、ポッド マニフェスト リクエストから作成された広告ブレークは除外されます。

次のリクエスト例では、assetKey 値で AdBreak エンティティを一覧表示します。

curl -X GET "https://admanagervideo.googleapis.com/v1/adBreak/networks/NETWORK_CODE/assets/ASSET_KEY/adBreaks" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer OAUTH_TOKEN"

成功すると、次の JSON レスポンスが表示されます。

{
 "adBreaks": []
}

API を介して AdBreak エンティティを追加作成し、リストをリクエストすると、次の JSON レスポンスが表示されます。

{
 "adBreaks": [
    {
      "name": "networks/.../assets/.../adBreaks/bcc402a6-9880-4b8b-8e4a-a8cd3688f854",
      "expectedDuration": "30s",
      "expectedStartTime": "2025-06-03T15:00:00Z",
      "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
      "customParams": "param1=value1&param2=value2",
      "podTemplateName": "podtemplate"
      "breakState": "BREAK_STATE_SCHEDULED",
    },
    {
      "name": "networks/.../assets/.../adBreaks/cc68b0df-0257-46e7-8193-254060b6256c",
      "breakSequence": "1",
      "expectedDuration": "30s",
      "expectedStartTime": "2025-06-03T14:30:00Z",
      "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
      "customParams": "param1=value1&param2=value2",
      "podTemplateName": "podtemplate"
      "breakState": "BREAK_STATE_COMPLETE",
    },
    
  ],
  "nextPageToken": "ChAIARIMCNDn97IGEJbhhYUC"
}

AdBreak エンティティを作成する

ライブ ストリーム イベントの今後のミッドロール挿入点を Google DAI に通知するには、POST メソッドを使用します。

  • 新しい AdBreak エンティティを作成するには、前のエンティティが BREAK_STATE_COMPLETE 状態に移行するまで待つ必要があります。
  • また、保留中の AdBreak エンティティを削除して、新しいエンティティを作成することもできます。
  • 1 つのライブ配信イベントに対して複数の AdBreak エンティティを作成するには、アカウント マネージャーにお問い合わせのうえ、高度な設定を行ってください。

次のリクエスト例では、2025 年 6 月 3 日の 15:00:00 UTC に開始予定の広告ブレークを作成します。

curl -X POST "https://admanagervideo.googleapis.com/v1/adBreak/networks/{NETWORK_CODE}/assets/ASSET_KEY/adBreaks" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer OAUTH_TOKEN" \
  -d '{
    "expectedDuration": "30s",
    "expectedStartTime": "2025-06-03T15:00:00Z",
    "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
    "customParams": "param1=value1&param2=value2",
    "podTemplateName": "podtemplate"
  }'

成功すると、次の JSON レスポンスが表示されます。

{
  "name": "networks/.../assets/.../adBreaks/bcc402a6-9880-4b8b-8e4a-a8cd3688f854",
  "expectedDuration": "30s",  "expectedStartTime": "2025-06-03T15:00:00Z",
  "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
  "customParams": "param1=value1&param2=value2",
  "podTemplateName": "podtemplate"
  "breakState": "BREAK_STATE_SCHEDULED",
}

結果には、ミッドロール挿入点の取得、変更、削除に必要なミッドロール挿入点 ID が含まれます。レスポンス例では、作成された広告ブレーク ID は bcc402a6-9880-4b8b-8e4a-a8cd3688f854 です。

AdBreak エンティティを取得する

GET メソッドを使用して、広告ブレークの状態やタイミングのメタデータなど、特定の AdBreak エンティティの詳細を取得します。

curl -X GET \
'https://admanagervideo.googleapis.com/v1/adBreak/networks/NETWORK_CODE/assets/ASSET_KEY/adBreaks/AD_BREAK_ID' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer OAUTH_TOKEN'

成功すると、次の JSON レスポンスが表示されます。

{
  "name": "networks/.../assets/.../adBreaks/bcc402a6-9880-4b8b-8e4a-a8cd3688f854",
  "expectedDuration": "30s",
  "expectedStartTime": "2025-06-03T15:10:00Z",
  "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
  "customParams": "param1=value1&param2=value2",
  "podTemplateName": "podtemplate"
  "breakState": "BREAK_STATE_SCHEDULED",
}

AdBreak エンティティを更新する

広告判定が開始される前に次のミッドロール挿入点を変更するには、PATCH メソッドを使用します。

curl -X PATCH 'https://admanagervideo.googleapis.com/v1/adBreak/networks/NETWORK_CODE/assets/ASSET_KEY/adBreaks/AD_BREAK_ID' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer OAUTH_TOKEN' \
  -d '{"expectedStartTime": "2025-06-03T15:10:00Z"}'

成功すると、次の JSON レスポンスが表示されます。

{
  "name": "networks/.../assets/.../adBreaks/bcc402a6-9880-4b8b-8e4a-a8cd3688f854",
  "expectedDuration": "30s",
  "expectedStartTime": "2025-06-03T15:10:00Z",
  "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
  "customParams": "param1=value1&param2=value2",
  "podTemplateName": "podtemplate"
  "breakState": "BREAK_STATE_SCHEDULED",
}

AdBreak エンティティを削除する

DELETE メソッドを使用して、API で作成されたミッドロール挿入点の広告判定を、ミッドロール挿入点の配信が開始される前にキャンセルします。

次のリクエストの例では、ミッドロール挿入点を削除します。

curl -X DELETE 'https://admanagervideo.googleapis.com/v1/adBreak/networks/NETWORK_CODE/assets/ASSET_KEY/adBreaks/AD_BREAK_ID' \
  -H 'Authorization: Bearer OAUTH_TOKEN'

成功すると、HTTP/1.1 200 OK レスポンスが表示されます。

高度な広告ブレーク機能について

広告ブレークを作成して管理したら、DAI 広告ブレーク API の次の機能を確認します。