サポート サポートへのお問い合わせ | システムステータス システムステータス
ページコンテンツ

    IMA3 プラグインでの広告

    このトピックでは、IMAプラグインの使用方法と、Studioおよびカスタムコーディングを使用してプラグインを実装する方法について説明します。

    IMAプラグインは、BrightcoveプレーヤーをHTML5バージョン3用のGoogleのインタラクティブメディア広告(IMA)と統合します。これにより、プレーヤーのVAST、VPAID、およびVMAP広告をリクエストして追跡できます。Google IMAについての詳細はUsing the IMA HTML5 SDK Version 3 ドキュメントを参照してください。

    プレーヤーサンプル

    以下のサンプルビデオは、IMA プラグインの使用方法を示しています。ビデオを再生すると、プリロールが表示され、5 秒でスキップ可能なミッドロール、最後にポストロールが表示されます。

    広告サーバーをテストする

    最初に行うべきことは、使用する予定の広告タグの有効性を検証することです。URL をコピーしたことを確認し、次のページを参照します。ビデオスイートのインスペクタ(このリンクをクリックすると、ページが新しいウィンドウまたはタブで開きます)。

    広告タグのURLをに貼り付けますInput typeフォーム入力フィールド。クリックTest Ad Googleが提供する動画が散在した状態で、広告が再生されます。このテスト環境で広告タグが機能しない場合は、Brightcove Player では機能しません。

    Playersモジュールを使用して実装-広告セクション

    ドキュメントのこのセクションでは、Studioを使用して、広告セクション。この場合、フォームが提供するオプションに制限されます。このセクションで提供されていない多くの利用可能なオプションのいくつかを使用して実装をカスタマイズしたい場合は、 Playersモジュールを使用して実装する- プラグインセクション、JSONを介してオプションを提供する機会を提供します。

     

    Playersモジュールを使用してIMAプラグインを実装するには、次の手順に従います。

    1. PLAYERS モジュールを開き、新しいプレーヤーを作成するか、広告機能を追加するプレーヤーを見つけます。
    2. プレーヤーのリンクをクリックして、プレイヤーのプロパティを開きます。
    3. 左側のナビゲーションメニューで [ 広告 ] をクリックします。
    4. [クライアントサイド(IMA)を有効にする]チェックボックスをオンにします。
    5. 入力しますServer URL広告サーバー用。
    6. を選択Request Ads設定。
      • On load - Ads are requested immediately when the player loads (this is normally the best experience for DFP / VPAID).
      • On play - The first ad request is delayed until playback is initiated.
      • On demand - All ad requests will be initiated programmatically using the player.ima3.adrequest() method.このモードでは、プリロール広告やポストロール広告はサポートされていません。
      • On cue point - Ad requests will be initiated on a dispatched ad cue point.を参照してください広告キューポイントを使用した広告の表示詳細については、ドキュメントを参照してください。
    7. 広告を選択VPAID Mode。Vペイドモードは、IMA広告でVペイド 2 サポートを有効にするために使用されます。
      • Enabled - Play VPAID ads in an iframe with a different domain
      • Insecure - Play VPAID ads in an iframe with the same domain
      • Disabled - VPAID ads throw an error
    8. をセットするTimeout値。これは、広告が再生される前に初期化されるまで待機する最大時間(ミリ秒単位)です。
    9. のための選択をするハードタイムアウト。このオプションをオフにすると、広告の読み込みが遅くなり、ビデオの再生が中断される可能性があります。
    10. リダイレクトの最大数を設定します。これにより、後続のリダイレクトが拒否され、広告ロードが中止されるまでのリダイレクトの最大数を指定します。リダイレクトの数は、レイテンシーとユーザーエクスペリエンスに直接影響します。
    11. のためにプラグインバージョン、最新バージョンを使用することを強くお勧めします。
    12. 記入済みのフォームの例を表示します。
      StudioのIMA3プロパティ
    13. [保存]をクリックします。
    14. プレーヤーを公開するには、[ パブリッシュと埋め込み] [> 変更を公開 ] をクリックします。
    15. 開くダイアログを閉じるには、[ 閉じる ] をクリックします。

    広告プロパティへの変更が保存されると、IMAプラグインはプラグイン設定の一部として構成されます。JavaScriptとCSSは、を介して追加したため非表示になりますAdvertisingセクション。

    IMAプラグインは、UIのこのセクションでは使用できない追加のプロパティをサポートします。その他の構成オプションを使用する方法については、このドキュメントの次のセクションを参照してください。

    Playersモジュールを使用して実装-プラグインセクション

    で提供されているオプションを超えてIMA3プラグインを構成する場合広告セクションでは、プラグイン JSONを介してオプションを提供する方法を提供するセクション。

    IMA3プラグインを実装するには、プラグインの関数名とURLをプラグインのJavaScriptファイルとCSSファイルに追加します。

    1. PLAYERS モジュールを開き、新しいプレーヤーを作成するか、プラグインを追加するプレーヤーを見つけます。
    2. プレーヤーのリンクをクリックして、プレイヤーのプロパティを開きます。
    3. 左側のナビゲーションメニューで [ プラグイン ] をクリックします。
    4. 次に、3 つのオプションから [ プラグイン ] をクリックします。
      プラグインを選択
    5. [ プラグインの追加 ] から [ カスタムプラグイン ] を選択します。
    6. [ プラグイン名 ] に、と入力しますima3
    7. JavaScript の URL には、次のように入力します。
      https://players.brightcove.net/videojs-ima3/3/videojs.ima3.min.js
    8. CSS の URL には、次のように入力します。
      https://players.brightcove.net/videojs-ima3/3/videojs.ima3.min.css
    9. [ オプション (JSON) ] テキストボックスに構成オプションを入力します。
      {
        "serverUrl": "//pubads.g.doubleclick.net/gampad/ads?sz=400x300&iu=%2F6062...",
        "timeout": 5000,
        "debug": true
      }
    10. [保存]をクリックします。
    11. プレーヤーを公開するには、[ パブリッシュと埋め込み] [> 変更を公開 ] をクリックします。
    12. 開くダイアログを閉じるには、[ 閉じる ] をクリックします。

    JSONとJavaScriptの表記

    あなたが調べる場合Options上記のセクションでは、構成情報がJSON形式で提供されていることがわかります。コードを使用してIMA3プラグインを実装している場合、JavaScriptでオプションを設定するための表記法は少し異なります。

    ここに、Studioで使用できるJSON形式のオプションが表示されます。

    {
      "requestMode": "onload",
      "serverUrl": "//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml?cust_params={mediainfo.ad_keys}",
      "timeout": 5000
    }

    JavaScriptを使用してオプションを構成している場合、JSON形式は機能しますが、次のようにJavaScript構文を使用することもできます。

    {
      requestMode: 'onload',
      serverUrl: '//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap',
      timeout: 5000
    }

    オプション

    video.jsIMA3プラグインは上に構築されていますvideo.js広告フレームワーク広告フレームワークが提供するすべてのオプションを受け入れます。広告フレームワークを見てくださいREADMEオーバーライド可能な設定の現在のセットの詳細については。IMAプラグイン固有のオプションと広告フレームワークオプションの両方がここに記載されています。

    オプションは次から選択できます。

    • clickTrackingElement
    • デバッグ
    • debugContribAds
    • disableCustomPlaybackForIOS10Plus
    • hardTimeouts
    • ima3SdkSettings
    • requestMode
    • serverUrl
    • showVpaidControls
    • タイムアウト
    • useMediaCuePoints
    • vpaidMode

    clickTrackingElement

    タイプ:HTMLElement Default Value: undefined

    HTML広告技術がで使用されている場合カスタム広告の再生モード。これは、ビデオ要素を介した入力イベントをサポートしないデバイスでの広告タップを追跡するために使用される代替HTML要素を指定します。詳細については、のパラメータドキュメントをご覧ください。 IMA AdDisplayContainer。クリック追跡要素を提供する場合は、適切なプラットフォームで適切なタイミングで表示および非表示にするのはユーザーの責任です。ほとんどの場合、この設定を未定義のままにして、プラグインとIMAが広告の相互作用を管理できるようにするのが最善です。

    デバッグ

    タイプ:boolean Default Value: false

    debugがtrueに設定されている場合、広告フレームワークは再生中の現在の状態に関する追加情報を出力します。これは、広告統合の問題や予期しない動作を診断するのに便利です。

    このオプションは広告フレームワークの一部であり、次のように構成されます。

    player.ima3({
      debug: true
    });

    次のスクリーンショットは、デバッグをオンにすることで表示される広範な情報を示しています。

    コンソールでのデバッグ出力

    debugContribAds

    タイプ:boolean Default Value: false

    videojs-contrib-adsのデバッグログを有効にするために使用されます。ID3の場合oncue動作するリクエストの場合、受信したID3 TXXXフレームには、次のフィールドを持つJSONデータが含まれている必要があります。

    • アドキュータグの形式:
      • name:必須-文字列である必要がありますadCue >>
      • ID:必須-ライブストリームでの時間が相対的である場合に広告を識別するための一意の値
      • serverUrl:オプション-オーバーライドserverUrlこの広告のIMA3構成のみ
      • デュレーション:オプション-として追加breaklengthサーバーURLへのパラメーター
      例: {"name": "adCue", "id": 123}
    • 広告キャンセルタグの形式:
      • name:必須-文字列値である必要がありますadCancel
      • ID:必須-ライブストリームでの時間が相対的である場合に、広告のキャンセルを識別するための一意の値
      例: {"name": "adCancel", "id": 234}

    disableCustomPlaybackForIOS10Plus

    タイプ:boolean Default Value: false

    このプロパティはの一部ですima3SdkSettingsオブジェクト。これは、iOS10以降のブラウザーでカスタム再生を無効にするかどうかを制御するゲッターおよびセッターとして機能します。動作は次のとおりです。

    • trueの場合、コンテンツビデオがインラインの場合、広告はインラインで再生されます。これにより、スキップ可能な広告が有効になります。ただし、広告はインラインのままで、iOSのネイティブフルスクリーンをサポートしません。
    • falseの場合、広告はコンテンツと同じプレーヤーで再生されます。

    を参照してくださいiOSのスキップ可能な広告この設定の使用例については、このドキュメントのセクションを参照してください。

    hardTimeouts

    タイプ:boolean Default Value: true

    タイムアウト後に読み込みが終了した広告を破棄します。これにより、遅いプレロール広告がtimeoutが経過し、コンテンツビデオの再生が開始されました。

    このオプションは広告フレームワークの一部であり、次のように構成されます。

    player.ima3({
      hardTimeouts: true
    });

    このオプションをに設定するfalse広告の前にコンテンツがフラッシュされます。

    ima3SdkSettings

    タイプ:object Default Value: undefined

    指定されている場合、このオブジェクトのプロパティはページレベルを設定するために使用されますIma3SdkSettings IMASDKの読み込みが完了したとき。このオブジェクトのプロパティは、キャメルケースのセッターメソッドと同等であることが期待されます。 SDK設定オブジェクトから「set」プレフィックスを引いたもの。たとえば、プラグインの初期化時にこのオブジェクトを指定した場合:

    player.ima3({
      ima3SdkSettings: {
        'numRedirects': 3,
        'ppid': 'publisher-provided-id'
      }
    }

    次に、video.js IMAプラグインは、IMAがロードされたときに次のようなコードを実行します。

    window.google.ima.ImaSdkSettings.setNumRedirects(3);
    window.google.ima.ImaSdkSettings.setPpid('publisher-provided-id');

    requestMode

    タイプ:string Default Value: onload

    このオプションは、広告フレームワークの一部であり、次のように構成されています。

    player.ima3({
      requestMode: 'onplay'
    });

    このオプションには、次の4つの値があります。

    • onload:プレーヤーが読み込まれるとすぐに広告が要求されます。これは通常、DFP / VPAIDにとって最良のエクスペリエンスです。
    • onplay:最初の広告リクエストは、再生が開始されるまで遅延されます。これは、広告リクエストを再生と見なす広告ネットワークにとって重要であるため、再生リクエストの前に広告リクエストは必要ありません。これにより、トラフィックされた広告が最終的にドロップするか、表示された広告に対して顧客が受け取る広告が少なくなります。
    • ondemand:広告は、を使用して開始された場合にのみ再生されますplayer.ima3.adrequest()手動でメソッド。このモードでは、プリロール広告やポストロール広告はサポートされていません。
    • oncue :このオプションの動作は、useMediaCuePointsオプションと一緒に使用しているかどうかによって異なります。

      VideoCloudでキューポイントを使用する

      Studioでビデオの広告キューポイントを作成し、キューポイントがトリガーされたときに広告を再生することができます。詳細については、広告キューポイントを使用して広告を表示する資料。

      ライブストリームでのキューポイントの使用

      広告は、ライブストリームのID3キューポイントに基づいてリクエストされます。このタイプのリクエストが正しく機能するには、受信したID3TXXXフレームに次のフィールドを持つJSONデータが含まれている必要があります。

      • name:必須;文字列値である必要がありますadCue
      • id:必須;ライブストリームでは時間が相対的である場合に、広告を識別するための一意の値
      • serverUrl:オプション。サーバーのURLにブレーク長パラメーターとして追加
      • duration:オプション。広告期間

      例:

      {"name": "adCue", "id": 123}

      によって作成されたライブストリームのID3キューポイントをキャンセルすることもできますadCueを使用してadCancel。送信されるオブジェクトには、次の形式を使用する必要があります。

      {"name": "adCancel", "id": 123}

      両方nameそしてidが必要です。

      • ライブID3広告キューはAndroidではサポートされていません。
      • ライブID3広告キャンセルキューはiOSではサポートされていません。

    serverUrl

    タイプ:stringまたはfunction

    デフォルト値(一般的なGoogle広告):

    //pubads.g.doubleclick.net/gampad/ads?sz=400x300&iu=%2F6062%2Fiab_vast_samples&ciu_szs=300x250%2C728x90&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=[referrer_url]&correlator=[timestamp]&cust_params=iab_vast_samples%3Dlinear

    ここでは、広告サーバーへのURLを提供します。このオプションは、上記のようにBrightcoveStudioで構成できます。コードで値を設定することもできます。次に2つの例を示します。(Remember, you should test the ad tag on your server before trying to use it in the plugin.)

    値が文字列の場合、広告がリクエストされた場所からの広告サーバーのURLを表し、次のようにコードで設定できます。

    player.ima3({
      serverUrl: 'your ad server'
    });

    値が関数の場合、関数パラメーターはcallbackサーバーのURLを引数として呼び出す必要のある関数。これにより、ヘッダー入札などの非同期プロセスがサポートされます。次の例では、からの情報が表示されます。mediainfoアカウントIDに基づいて使用する広告URLを決定するために使用されるオブジェクト:

    // Initialize IMA plugin
    myPlayer.ima3({
      serverUrl: function(callback) {
        if (myPlayer.mediainfo.id === '4034552795001') {
          callback('https://pubads.g.doubleclick.net/.../url1');
        } else {
          callback('https://pubads.g.doubleclick.net/.../url2');
        }
      },
      requestMode: 'onload',
      debug: true,
      debugContribAds: true
    });

    showVpaidControls

    タイプ:boolean Default Value: false

    に設定true VPAID広告に対するカスタムBrightcoveコントロールを表示します。VPAIDの実装によっては機能する場合と機能しない場合があるため、Brightcoveは、本番環境で有効にする前に、広告でこの機能をテストすることをお勧めします。

    タイムアウト

    タイプ:number Default Value: 4000

    広告休憩がスキップされる前に広告が再生されるのを待機する最大時間(ミリ秒単位)。

    このオプションは、広告フレームワークの一部であり、次のように構成されています。

    player.ima3({
      timeout: 5000
    });

    Brightcoveの内部テストでは、ほとんどの場合、4秒は遅い初期化に対応するのに十分な長さであるように見えましたが、初期化の失敗がプレーヤーまたはコンテンツビデオの失敗のように見えないほど短いことがわかりました。

    useMediaCuePoints

    タイプ:boolean Default Value: false

    の使用を有効にしますad広告の再生をトリガーするためのキューポイント(Studioで定義)。

    広告をトリガーするために使用されるVideoCloud広告キューポイントの場合、プラグイン構成で次のものが必要です。

    • useMediaCuePoints : 真
    • requestMode:文字列oncue
    • serverUrl:有効なVAST広告を指す必要があります

    Studioを使用して広告を設定している場合は、キューポイントインクルードuseMediaCuePointsそしてrequestModeオプションが正しく設定されます。

    vpaidMode

    タイプ:string Default Value: ENABLED

    IMA HTML5SDKでVPAID2モードを指定します。

    このオプションには、次の3つの値があります。

    • ENABLED:別のドメインのiframeでVPAID広告を再生します。
    • INSECURE:同じドメインのiframeでVPAID広告を再生します。
    • DISABLED:VPAID広告はエラーをスローします。

    このオプションは次のように構成されます。

    player.ima3({
      vpaidMode: 'DISABLED'
    });

    プロパティ

    プラグインのプロパティは1つだけです。

    • html5:これは、プラグインの初期化時にロードできる唯一の広告技術です。

    広告マクロとserverUrl

    広告サーバーのURLを作成するときに、作業を簡単にするために使用できる広告マクロがあります。これらのマクロを使用すると、IMA3プラグインが適切な値に置き換えるサーバーURLの変数を使用できます。たとえば、次のサーバーURLには、いくつかの変数が含まれています。

    {"serverUrl": "//myadserver.com/ad?video={mediainfo.id}&duration={player.duration}"}

    IMA3プラグインは適切な値に置き換えられ、実際に使用されるサーバーURLは次のように表示されます。

    {"serverUrl": "//myadserver.com/ad?video=12340001&duration=60"}

    以下は、置換された値が使用される変数の完全なリストです。

    マクロ 説明
    {document.referrer} 参照ページ URL
    {mediainfo.ad_keys} Studioの Media モジュールで追加および編集できる自由形式のテキスト文字列。クエリパラメータは、
    cust_params={mediainfo.ad_keys}
    {mediainfo.Description} 短い説明 (最大 250 文字)
    {mediainfo.duration} Video Cloud によって報告された動画の再生時間
    {mediainfo.id} 動画ID
    {mediainfo.name} ビデオタイトル
    {mediainfo.reference_id} 参照ID
    {mediainfo.tags} 動画に関連付けられたタグ(メタデータ)
    {player.duration} プレーヤーによって測定されたビデオの長さ(おそらくわずかに異なるmediainfo.durationそしておそらくより正確です)。ビデオがロードされていない場合、これは0を返すことに注意してください。このマクロを使用して広告リクエストのタイミングを慎重に設定してください。
    {player.height} 現在のプレーヤーの身長
    {player.id} プレーヤーID
    {player.pageUrl} ページのURL:iframe内の場合はドキュメントリファラーを返し、そうでない場合はウィンドウの場所を返します。
    {player.width} 現在のプレーヤーの幅
    {playlist.id} プレイリスト情報オブジェクトから引き出しました
    {playlist.name} プレイリスト情報オブジェクトから引き出しました
    {ランダム} 0-1兆の乱数(ユニークな印象を作成するために使用されます。これにより、広告がブラウザにキャッシュされるのを防ぎ、インプレッションの不一致を防ぎます)。
    {timestamp} 1/1/70以降の現在の現地時間(ミリ秒)
    {window.location.href} 現在のページ URL

    デフォルト値と広告マクロ

    広告マクロにはデフォルト値を指定できます。マクロ内でデフォルト値を指定できます。この場合、変数が未定義の場合にこの値が使用されます。構文は次のとおりです。

    {macro=default}

    例えば、

    http://example.com/ad/{pageVariable.adConf=1234}

    window.adConfが未定義の場合、次のように解決されます。

    http://example.com/ad/1234

    動的マクロ

    動的マクロは、次の値へのアクセスを提供します。

    • ビデオのcustomFieldsを介してオブジェクトmediainfo.customFields変数。
    • DOMのwindowを介してオブジェクトpageVariable変数。

    たとえば、広告リクエストで次を使用できます。

    //myadserver.com/ad?l={pageVariable.navigator.language}&category={mediainfo.customFields.type}

    のためにpageVariable次の表に示すように、値の場合、特定の値タイプのみを使用できます。

    タイプ 何が起こるのですか
    文字列 変更せずに使用
    数値 自動的に文字列に変換される
    ブール値 自動的に文字列に変換される
    ヌル 文字列を返しますnull
    未定義 警告を記録し、空の文字列を返す
    その他 警告を記録し、空の文字列を返す

    カスタム広告マクロ

    Dynamic macros上記の手法は、マクロを介して特定の情報にアクセスするための非常に好ましい方法です。動的マクロを介して到達できない広告サーバーからの広告を要求するときに使用するカスタム値を定義している場合があります。この場合、オーバーライドすることで値を利用できますadMacroReplacement()方法。このメソッドをオーバーライドすると、広告リクエストに固有の値を渡すことができます。

    以下は、オーバーライドの例です。adMacroReplacement()方法。この例では、カスタム値がページDOMの一部として定義されているため、ページごとに広告リクエストをカスタマイズできます。この例では、mySite.category広告リクエスト情報が保存されている場所です。

    brightcovePlayer.ima3.adMacroReplacement = function (url) {
        var parameters = {
        '{category}': mySite.category
      };
      for (var i in parameters) {
        url = url.split(i).join(encodeURIComponent(parameters[i]));
      }
      return url;
    }

    特定の値を使用すると、何が起こっているのかを正確に明確にするのに役立ちます。広告サーバーへのリクエストURLが次のとおりであると想定します。

    //myadserver.com/myads?adWord={category}

    そして、動的に割り当てられた値を想定しますmySite.categoryページには文字列がありますfishing-pole。次に、あなたのバージョンの後adMacroReplacement()メソッドは、広告リクエストURLと呼ばれ、次のように表示されます。

    //myadserver.com/myads?adWord=fishing-pole

    要約すると、adMacroReplacement()これにより、カスタム値を広告マクロとして使用し、URL広告リクエストに動的に値を割り当てることができます。

    メソッド

    IMA SDKを操作する必要がある場合は、ima3-ready SDKを正常に使用する前にディスパッチされるイベント。これには、次の2つの方法が含まれます。

    player.ima3.adrequest()

    このメソッドを呼び出すと、広告応答を受信するとすぐにオンデマンドの広告リクエストが作成されます。このメソッドを呼び出すと、新しいIMA adManagerが作成されます。これは、以前の広告応答情報(たとえば、以前のVAST応答で返されたポストロール広告)が失われることを意味します。Brightcoveは、広告のタイミングに関する事前の知識がわからない場合、またはすべての広告呼び出しをオンデマンドで行う場合にのみ、この方法を使用することをお勧めします。それ以外の場合はすべて、プラグインの初期化時にすべての広告データを最初のVAST呼び出しに入れるのが理にかなっています。

    以下は、使用する際に考慮すべき2つの重要なポイントです。player.ima3.adrequest( )

    • この方法は、ondemandリクエストモードのみ。
    • この方法は、広告リクエストが完了する前にコンテンツが再生され、コンテンツがフラッシュされるため、プレロールにはお勧めしません。
    パラメーター
    • adRequestUrl String Path to a VAST ad tag.相対URLを渡すことができ、渡す必要があります。このパラメーターはオプションであり、構成済みですserverUrlパラメータが渡されない場合に使用されます。
    戻り値:
    • 何もない

    player.ima3.adrequest('//pubads.g.doubleclick.net/gampad/ads?sz=640x360&iu=/6062/iab_vast_samples/skippable&ciu_szs=300x250,728x90&impl=s&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=[referrer_url]&correlator=[timestamp]');

    player.ima3.setAdsRenderingSettings()

    このメソッドを使用すると、IMA SDK forHTML5の広告レンダリング設定を設定できます。

    まだAdsManagerがない場合、このメソッドは設定を保存し、Ads Managerが作成されると、指定された設定を使用します。アドマネージャーが既に存在する場合は、設定を使用するように更新されます。いずれの場合も、将来作成される新しい広告マネージャーは、指定した最新の設定も使用します。あなたは作成することができますAdsRenderingSettings IMASDKに直接アクセスしてオブジェクトを作成します。さまざまな設定が可能です。

    パラメーター
    • google.ima.AdsRenderingSettings object
    戻り値:
    • 何もない

    例:

    var adsRenderingSettings = new google.ima.AdsRenderingSettings();
    adsRenderingSettings.bitrate = 2500;
    adsRenderingSettings.enablePreloading = true;
    player.ima3.setAdsRenderingSettings(adsRenderingSettings);

    グーグルの adsManager

    GoogleのGoogle.Ima.adsManagerインターフェイスから利用可能なメソッドとプロパティがあります。情報を取得するインターフェイスのプロパティ/メソッドを使用できます。やのようにdestroysetAutoPlayAdBreaksアクションを実行するメソッドを使用することはお勧めしませんstop。たとえば、使用できるメソッドの 1 つがここに表示されます。

    adsmanager.getremainingTime

    タイプ: google.ima.AdsManager.getRemainingTime

    使用法: myPlayer.ima3.adsManager.getRemainingTime()

    このメソッドを呼び出すと、現在の広告の残り時間が返されます。広告が利用できない場合、または再生が終了した場合は-1 を返します。詳細については、Googleのを参照してくださいドキュメンテーションメソッドについて。

    IMASDKに直接アクセスする

    実行時にプラグインオブジェクトでいくつかのIMA設定を使用できます。たとえば、使用する広告IDを決定するには、次のようにします。

    var adId = player.ima3.currentAd.getAdId();

    これらのプロパティと直接やり取りする場合は注意が必要です。間違ったメソッドを呼び出すと、予期しない結果が発生し、広告が正しく再生されなくなる可能性があります。

    adsLoader

    タイプ: google.ima.AdsLoader

    広告リクエストの作成に使用されるオブジェクト。見るima.AdsLoader。広告ローダーは、adsreadyプラグインによって起動されました。

    adsManager

    タイプ: google.ima.AdsManager

    広告の再生を担当するオブジェクト。見るima.AdsManager。広告マネージャーは、adsreadyプラグインによって起動されました。

    adDisplayContainer

    タイプ: google.ima.AdDisplayContainer

    広告の表示要素の管理を担当するオブジェクト。見るima.AdDisplayContainer。広告表示コンテナは、adsreadyプラグインによって起動されました。

    currentAd

    タイプ: google.ima.Ad

    広告の再生中、現在の広告に関する情報をカプセル化するオブジェクト。見るima.Ad

    イベント

    プラグインは、ロード、初期化、および再生中にいくつかのカスタムイベントタイプを放出します。他のイベントと同じように、IMA3および広告フレームワークのイベントをリッスンできます。

    player.on('ima3error', function(event) {
      console.log('event', event);
    });
    イベント 次の場合に送出されます。
    imA3-ready ima3プラグインコードがロードされ、IMASDKをロードする準備が整いました。
    ima3error GoogleからのIMA3SDKの読み込み中にエラーが発生しました。発生した場合、広告は表示されません。
    ima3-ad-エラー IMA3SDKでエラーが発生しました。広告の構成と設定を確認して、DoubleClickアカウントが正しく構成されていることを確認する必要があります。一般的なトラブルシューティングタスクは、 DoubleClickサポートサイトまたは、DoubleClickアカウント担当者にご相談ください。
    広告リクエスト リクエストに応じて広告データ。
    広告ロード 広告リクエストの後に広告データが利用可能になる場合。
    ads-ad-開始 広告が再生され始めました。
    広告終了 広告の再生が終了しました。
    広告一時停止 広告が一時停止されています。
    広告プレイ 一時停止から広告が再開されます。
    ads-ad-スキップした 広告はスキップされます。
    広告第一四分位位 広告は総期間の 25% をプレイしています。
    広告の中点 広告は総期間の50%をプレイしました。
    広告三四分位数の 広告は総期間の 75% をプレイしています。
    広告クリック 視聴者が再生中の広告をクリックしました。
    ads-volumechange 再生中の広告の音量が変更されました。
    ads-pod-開始 リニア広告ポッド(一連の広告グループ)の最初の広告が開始されました。
    ads-pod-ENDD リニア広告ポッドの最後の広告(一連の広告グループ)が終了しました。
    ads-allpods完了 すべてのリニア広告の再生が終了しました。

    再発送ima3-プレフィックス付きイベント

    IMA3プラグインをHTMLモードで使用すると、すべてAdErrorEventsAdEventsそしてAdsManagerLoadedEventsプレーヤーに再ディスパッチされます。イベントが再ディスパッチされると、プレフィックスが付けられますima3-。次の表は、再ディスパッチされたイベントを示しています。

    再ディスパッチされたイベント
    ima3-ad-エラー
    ima3-ads-manager-loaded
    ima3-all-ads-completed
    ima3-クリック
    ima3-完全
    ima3-content-pause-requested
    ima3-第1四分位
    ima3-hardtimeout
    ima3-loaded
    ima3-中点
    ima3-一時停止
    imA3-ready
    ima3-再開
    ima3 開始
    ima3-3番目の四分位数
    ima3-ボリューム変更

    ライブビデオとIMA3

    IMA3プラグインのバージョン3.1.0以降を使用している場合は、ライブイベントでプレロールを使用できます。プレロールは、ライブイベントが開始されたときではなく、各視聴者がライブイベントの視聴を開始したときに再生されます。に示すように、Liveモジュールでイベントを構成する場合ライブモジュールを使用したライブイベントの作成と管理ドキュメントでは、プレーヤーを選択するように求められます。に示すように、選択したプレーヤーの広告を構成する必要があります。ステップバイステップ:広告の実装資料。

    実装の次の詳細に注意してください。

    • プレロールのみが再生されます。ミッドロールとポストロールはサポートされていません。
    • ザ・Request AdsタイプはどちらかでなければなりませんOn loadまたはOn play
    • バージョンを使用している必要があります3.1.0 or later前述のように、IMA3プラグインの

    プレーヤー広告ライブラリ

    videojs/videojs-contrib-ads GitHub リポジトリには、Brightcove Player と連携する動画広告ライブラリに必要な共通機能を提供するプラグインが含まれています。このプラグインは、動画広告の統合に必要な共通機能を提供し、広告インテグレーターにとって多くの懸念事項を処理し、広告統合のために記述する必要があるコードを削減します。プラグインは完全に文書化されており、インデックスページ最良の出発点として。

    プラグインから使用できるメソッド、イベント、プロパティがあります。詳細については、 videojs-contrib-adsAPIリファレンス。利用可能なツールのサンプルは、メソッドから始めて、ここに提供されています。

    方法 説明
    isinadMode () 戻り値trueプレーヤーが広告モードの場合。
    isWaitingForAdBreak() このメソッドはtrue広告モード中、広告休憩がまだ開始されていない場合。
    isContentResuming () このメソッドはtrue広告休憩が終了した後、コンテンツの再生が再開される前の広告モード中。

    プラグインはまた、多数のイベントをディスパッチします。いくつかはここにリストされています。

    イベント 説明
    adstart 呼び出しの結果として直接発砲startLinearAdMode()
    adend 呼び出しの結果として直接発砲endLinearAdMode()
    プレロールの準備ができています 広告プラグインが電話をかけてプレロール広告休憩を開始する可能性があることを示しますstartLinearAdMode()

    プラグインは多数のプロパティも提供します。いくつかはここにリストされています。

    名前 データ・タイプ 説明
    ads.ad.id 文字列 再生される広告の一意の識別子
    ads.ad.index 数値 指定された時刻に再生される広告のインデックス。このインデックスは、広告ポッド内の広告の序数を識別します。
    ad.ad.duration 数値 広告の継続時間 (秒)
    ads.ad.type 文字列 PREROLLMIDROLLまたはPOSTROLL

    次のコードは、プロパティの使用方法を示しています。

    var myPlayer,
      player = bc('myPlayerID');
    player.ima3({
      serverUrl: '//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml'
    });
    player.ready(function () {
      myPlayer = this;
      myPlayer.on('ads-ad-started', function (evt) {
        console.log('ads-ad-started event passed to event handler', evt);
        console.log('myPlayer.ads.ad.id', myPlayer.ads.ad.id);
        console.log('myPlayer.ads.ad.index', myPlayer.ads.ad.index);
        console.log('myPlayer.ads.ad.duration', myPlayer.ads.ad.duration);
        console.log('myPlayer.ads.ad.type', myPlayer.ads.ad.type);
      });
    });

    上記のコードからのコンソールでの出力は、ここに示されています。

    contrib-ads プロパティのコンソール

    コードを使用して実装する

    IMA3プラグインを実装するには、プレーヤーはプラグインコードの場所、スタイルシート、プラグイン名、およびプラグイン構成オプションを知っている必要があります。プラグインコードとスタイルシートの場所は次のとおりです。

    https://players.brightcove.net/videojs-ima3/3/videojs.ima3.min.js
    https://players.brightcove.net/videojs-ima3/3/videojs.ima3.min.css

    ima3プラグインの名前はで、オプションの例は次のとおりです。

    {
      "serverUrl": "//pubads.g.doubleclick.net/gampad/ads?sz=400x300&iu=%2F6062...",
      "timeout": 5000
    }

    次の例では、プレーヤーのページ内埋め込み実装を使用して、IMAプラグインをプレーヤーの単一インスタンスに関連付けます。

    • 12行目です:linkタグを使用して、プラグインの CSS をhead HTML ページのに含めます。
    • 15行目です:を与えるvideoタグを付けるidこの場合、何らかの値を持つ属性myPlayerID
    • 23行目です:scriptタグを使用して、プラグインの JavaScript をbody HTML ページのに含めます。
    • 26〜29行目:を使用してプレーヤーを初期化しますbc()メソッドを呼び出してから、ima3()方法。
    • 30〜33行目:プレイヤーにready、プレーヤーへの参照が作成されます。コメントは、IMA3プラグインのセットアップと構成以外の他のプレーヤーの動作を追加するためのコードを配置できる場所を示すために表示されます。
    <!doctype html>
    <html>
    <head>
      <meta charset="UTF-8">
      <title>IMA3 Plugin Code Example</title>
      <style>
        .video-js {
          height: 344px;
          width: 610px;
        }
      </style>
      <link href="https://players.brightcove.net/videojs-ima3/3/videojs.ima3.min.css" rel="stylesheet">
    </head>
    <body>
      <video-js id="myPlayerID"
        data-video-id="3851380732001"
        data-account="1752604059001"
        data-player="Hy3gDJHu"
        data-embed="default"
        class="video-js"
        controls></video-js>
      <script src="https://players.brightcove.net/1752604059001/Hy3gDJHu_default/index.min.js"></script>
      <script src="https://players.brightcove.net/videojs-ima3/3/videojs.ima3.min.js"></script>
      <script>
        var myPlayer;
        var player = bc('myPlayerID');
        player.ima3({
          serverUrl: '//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml'
        });
        player.ready(function() {
          myPlayer = this;
          //Do something
        });
      </script>
    </body>
    </html>

    ハイブリッド実装

    このドキュメントのこれまでのところ、スタジオで実装されたIMAプラグイン、次にコードで実装されたIMAプラグインを見てきました。一部のお客様は、基本的なプラグインをStudioに追加し、構成をページのJavaScriptで行うハイブリッド実装を実行することを好みます。このハイブリッド実装については、このセクションで説明します。

    前のセクションで見たように、IMA3プラグインを純粋にコードで実装する場合は、プラグインを関数形式で操作します。Studioにプラグインをインストールしてからページで構成する場合は、プラグインをオブジェクトとして扱う必要があります。たとえば、ここに示すように、Studioを使用してIMA3プラグインをインストールしたと仮定します。広告タグ提供されます:

    スタジオの部分インストール

    これで、ページのJavaScriptで、次のようにプロパティ値を割り当てることができます(プラグインをオブジェクトとして扱うことを忘れないでください)。

    videojs.getPlayer('myPlayerID').ready(function() {
      var myPlayer = this;
      myPlayer.ima3.settings.serverUrl = 'http://solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml';
    });

    もちろん、他のプロパティにもこの方法で値を割り当てることができます。

    デバッグ支援

    広告再生の問題をデバッグする際の支援には、2つのオプションがあります。何もしない場合、コンソールには、広告がいつ開始および終了したかに関する情報のみが表示されます。

    コンソールでのデバッグ出力

    最初のオプションは、このドキュメントの前半のオプションセクション。これにより、プラグインレベルでのデバッグがオンになります。追加のデバッグ情報が表示されます。

    コンソールでのデバッグ出力

    2番目のオプションは、Googleが提供するツールを利用します。指定しますsdkurl Googleが提供するJavaScriptファイルを指す値を持つオプション。構成例を次に示します。

    var myPlayer = bc('myPlayerID');
    myPlayer.ima3({
      "serverUrl": "//solutions.brightcove.com/bcls/brightcove-player/vmap/simple-vmap.xml",
      "debug": true,
      "sdkurl": "//imasdk.googleapis.com/js/sdkloader/ima3_debug.js"
    });
    myPlayer.ready(function() {
      myPlayer = this;
    });

    拡張されたデバッグ情報は、次のように表示されます。(The yellow highlighted information is from the plugin's debugging and the blue highlighted information is generated by the Google tool.)

    コンソールでのデバッグ出力

    GoogleのIMAエラーの詳細については、クラスgoogle.ima.AdError GoogleのセクションGoogle IMA HTML5 SDK APIs資料。

    既知の問題

    ピクチャーインピクチャーが無効

    ザ・ピクチャーインピクチャーコントロール IMA3プラグインが実装されている場合は無効になります。これは意図的な設計上の決定です。

    Studioで自動再生を設定する

    IMA3プラグインを使用して広告を表示している場合は、Studioで自動再生を設定しないでください。Studioで自動再生を設定すると、広告の再生に失敗する可能性があります。を参照してください自動再生に関する考慮事項詳細については、ドキュメントを参照してください。

    もっと詳しく知るそして広告カウントダウンタイマーデフォルトでは表示されなくなりました

    を使用して回避策が存在しますuseStyledLinearAds GoogleのIMASDKのプロパティ。次に示すように、この値をtrueに設定します。

    adsRenderingSettings.useStyledLinearAds=true;

    詳細については、Googleのを参照してくださいgoogle.ima.AdsRenderingSettingsドキュメンテーション。

    Android上のChrome:プレロールのミュートを解除すると、ビデオは自動再生されません

    AndroidでChrome(最新バージョン)を使用していて、プレロールの再生中にプレーヤーのミュートを解除すると、プレロールの終了後にプレーヤーがビデオの再生を自動的に開始しません。広告のミュートを解除すると、視聴者の意図は音声を聞くことであるため、BrightcovePlayerの音量持続機能もコンテンツのミュートを解除します。ただし、Chrome Androidの新しいバージョンでは、ミュートされていないコンテンツを自動再生できず、再生を開始するためのユーザージェスチャー要件が追加されています。これはOS /デバイスレベルの設定であり、Brightcoveがオーバーライドできるものではありません。

    プレロールの現在時刻の表示が正確でない可能性があります

    この問題は、IMASDKが現在の時刻を報告する方法の制限に関係しています。現時点では、文書化された回避策はありません。

    ミュートされていないミッドロールはSafari11デスクトップでは再生されない場合があります

    GoogleのIMASDKの変更により、ミュートされていないミッドロールがSafari11デスクトップで再生されない場合があります。Safari 11(デスクトップおよび場合によってはiOS)によって自動再生が拒否されたときにエラーをトリガーし、広告をキャンセルするための新しい動作が導入されました。このように影響を受けたミッドロールは、自動再生が防止されたことを示すエラーコード1205で広告エラー400をトリガーします。

    サポートされている環境

    プラットフォーム、広告標準、ビデオメディアのサポートされている組み合わせを確認するには、Googleのビデオ機能とSDKの互換性資料。その文書とビデオスイートインスペクター単に機能しない試みられたIMA3アドバタイズメント構成を診断するのに役立ちます。

    オーバーレイとフルスクリーントランジション

    video.jsはフルスクリーンAPI利用可能な場合。ブラウザが異なれば、フルスクリーンへの移行の実装も異なり、フルスクリーンモードへの移行時とフルスクリーンモードからの移行時に外観に不一致が生じる可能性があります。ほとんどの実装では、フルスクリーンに取り込まれている要素は、元のサイズからターゲットサイズに幾何学的にスケーリング(つまりズーム)されます。ただし、ほとんどのオーバーレイ広告は固定サイズで表示されるように設計されているため、アニメーションが完了するまで歪んで表示される場合があります。

    iOSデバイスでスキップ可能な広告

    IMA3プラグインを使用すると、次の条件が満たされた場合に、スキップ可能な広告をiPhoneで再生できます。

    • ザ・playsinline属性はに存在しますvideo素子
    • ザ・disableCustomPlaybackForIOS10Plus設定はプラグインに渡され、に設定されますtrue

    のためにplaysinline属性、単に属性としてそれを含めるvideo鬼ごっこ:

    <video-js id="player"
      width="640"
      height="360"
      data-video-id="4524585416001"
      data-account="4360108595001"
      data-player="r12ukws9l"
      data-embed="default"
      class="video-js"
      playsinline
      controls></video-js>
    

    のためにdisableCustomPlaybackForIOS10Plus設定、のプロパティとして割り当てますima3SdkSettings

    player.ima3({
      ima3SdkSettings: {
        "disableCustomPlaybackForIOS10Plus": true
      }
    })
    
    

    Studioを使用していて、そこで設定を使用したい場合は、これをIMA3プラグイン構成に追加します。

    {
      "ima3SdkSettings": {
        "disableCustomPlaybackForIOS10Plus": true
      }
    }

    この設定の詳細については、 disableCustomPlaybackForIOS10Plusのエントリima3SdkSettingsこのドキュメントのセクション。

    Skippable ad limitations:

    • ザ・Skip Adボタン広告コントロールバーで部分的に覆われている可能性があります一部のモバイルデバイス。これにより、エンドユーザーが実際に広告をスキップすることが困難になります。ユーザーはピンチしてズームし、Skip Adそれをクリックできるようにモバイルデバイスで大きなボタン。
    • iPhone without playsinline and disableCustomPlaybackForIOS10Plus - Skippable ads are not played.
    • iPhone with playsinline and disableCustomPlaybackForIOS10Plus - Ads are played inline, but if using fullscreen, ads do not show, but audio for the ad will play.つまり、全画面表示のスキップ可能な広告は正しく機能しません。
    • iPad - Ads are played inline but skip is not available in fullscreen mode

    iOS 10 iPadおよびiPhone:使用時にプレロール広告が機能しないplaysinlineとフルスクリーンに行く

    使用する場合playsinline iOS 10 iPadおよびiPhoneで、フルスクリーンではなくビデオを表示できるようにすると、プレロール広告が開始され、フルスクリーンボタンがクリックされた場合、広告は再生されません。これはGoogleのIMA実装の制限であり、Googleはこの問題を修正する予定はありません。

    gpt_proxy.jsとの競合

    IMA3でGPTプロキシスクリプトを使用している場合、およびadTechOderですHTML5まず、再生の問題が発生する可能性があります。を使用するスクリプトを使用すると、IMA3プラグインが影響を受けます。window.googleまたはwindow.google.ima。Brightcove Playerを使用しているかどうかを確認することをお勧めします。使用している場合は、そのような場合はプロキシをロードしないでください。

    サイズ変更Skip Adボタン

    サイズを変更することはできませんSkip Adボタン。Brightcove Player APIには、サイズを指定するためのメソッドまたはプロパティがありません。Skip Adボタン。開発者レベルでは、サイト運営者がVPAID広告を使用している場合、広告は独自の広告を実装できますSkip Ad BrightcovePlayerのUIと要素の分布に収まるボタンとロジック。

    iOSでは広告は自動再生されません

    IMA3プラグインに固有ではありませんが、autoplay iOSは制限されているため、ユーザーのジェスチャーが行われるまで広告は開始されません。

    アドキューポイントの問題

    アドキューポイントの使用に固有の問題については、Known issuesのセクション広告キューポイントを使用した広告の表示資料。

    更新履歴

    更新履歴はこちらをご覧ください