サポート サポート問い合わせ先 | システムステータス システムステータス
ページ内容

    IMA3プラグインによる広告

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

    IMAプラグインは、 Brightcove player HTML5バージョン3用のGoogleのインタラクティブメディア広告(IMA)を使用します。これにより、VAST、VPAID、VMAP広告をリクエストして追跡できます。 player。 Google IMAの詳細については、 IMA HTML5 SDKバージョン3の使用 の資料をご参照ください。

    Player サンプル

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

    広告サーバーのテスト

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

    広告タグのURLを 入力タイプ フォーム入力フィールド。 クリック テスト広告 Google提供のビデオが点在している広告が表示されます。 このテスト環境で広告タグが機能していない場合、広告タグは Brightcove Player.

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

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

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

    1. Video Cloud Studioで PLAYERS モジュールと新しいのいずれかを作成します player または見つけます player 広告機能を追加したいもの。
    2. リンクをクリックすると player を開く playerのプロパティ。
    3. ナビゲーションヘッダーの Advertising 左側のナビゲーションメニュー。
    4. チェック クライアント側(IMA)を有効にする チェックボックスをオンにします。
    5. 入力する サーバーのURL 広告サーバー用
    6. 現在地に最も近い リクエスト広告 設定。
      • 負荷時 -広告は、 player 読み込み(これは通常、DFP / VPAIDの最良のエクスペリエンスです)。
      • プレイ中 - 最初の広告リクエストは、再生が開始されるまで遅延されます。
      • オンデマンド - すべての広告リクエストは、 player.ima3.adrequest() 方法。 このモードでは、プリロール広告またはポストロール広告はサポートされません。
      • キューポイントで - 広告リクエストは、発送された広告キューポイントで開始されます。 を参照してください 広告キューポイントを使用した広告の表示 詳細については、ドキュメントを参照してください。
    7. 広告を選択 VPAIDモード。 VPAIDモードは、IMA広告でVPAID 2サポートを有効にするために使用されます。
      • 使用可能 - 異なるドメインのiframeでVPAID広告を再生する
      • 安全でない - 同じドメインのiframeでVPAID広告を再生する
      • 身体障がい者 - VPAID広告でエラーが発生する
    8. をセットする タイムアウト 値。 これは、再生前に広告が初期化されるまで待機する最大時間(ミリ秒単位)です。
    9. 選択肢を作る ハードタイムアウト。 このオプションのチェックを外すと、広告の読み込みが遅くなり、動画の再生が中断される可能性があります。
    10. をセットする リダイレクトの最大数。 これは、後続のリダイレクトが拒否され、広告の読み込みが中止されるまでのリダイレクトの最大数を指定します。 リダイレクトの数はレイテンシに直接影響するため、ユーザーエクスペリエンスに影響します。
    11.   プラグインのバージョン最新のバージョンを使用することを強くお勧めします。
    12. 完成したフォームの例を見る:
      IMA3プロパティ Studio
    13. ナビゲーションヘッダーの 保存.
    14. 公開するには player、クリック 公開と埋め込み>変更の公開.
    15. 開いているダイアログを閉じるには、 閉じる.

    広告プロパティへの変更が保存されると、IMAプラグインはプラグイン設定の一部として構成されます。 JavaScriptとCSSは、 Advertising の項目を検索します。

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

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

    IMA3プラグインを、 Advertising セクションでは、 プラグイン JSONを使用してオプションを提供する手段を提供します。

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

    1. Video Cloud Studioで PLAYERS モジュールと新しいのいずれかを作成します player または見つけます player プラグインを追加する場所。
    2. リンクをクリックすると player を開く playerのプロパティ。
    3. ナビゲーションヘッダーの プラグイン 左側のナビゲーションメニュー。
    4. 次にクリック プラグイン XNUMXつのオプションから。
      プラグインを選択
    5. から プラグインを追加する select カスタムプラグイン.
    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. 公開するには player、クリック 公開と埋め込み>変更の公開.
    12. 開いているダイアログを閉じるには、 閉じる.

    JSONとJavaScriptの表記法

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

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

    {
      "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.js IMA3プラグインは、 video.js広告フレームワーク 広告フレームワークが提供するオプションを受け入れます。 広告フレームワークを見てみましょう README 現在のオーバーライド可能な設定の詳細については、 IMAプラグイン固有のオプションと広告フレームワークオプションの両方がここに記載されています。

    オプションは次のとおりです。

    clickTrackingElement

    タイプ: HTMLElement デフォルト値:未定義

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

    debug

    タイプ: boolean デフォルト値: false

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

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

    player.ima3({
      debug: true
    });

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

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

    debugContribAds

    タイプ: boolean デフォルト値: false

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

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

    disableCustomPlaybackForIOS10Plus

    タイプ: boolean デフォルト値: false

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

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

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

    hardTimeouts

    タイプ: boolean デフォルト値: true

    時間切れになったら読み込みを終了する広告を放棄します。 これにより、プリロール広告が中断されるのを防ぐことができます。 timeout 経過し、コンテンツビデオが再生され始めました。

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

    player.ima3({
      hardTimeouts: true
    });

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

    ima3SdkSettings

    タイプ: object デフォルト値:未定義

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

    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 デフォルト値: onload

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

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

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

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

      キューポイントの使用 Video Cloud

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

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

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

      • name:必須。 文字列値でなければならない adCue
      • id:必須。 ライブストリームでは時間が相対的な広告を識別する固有の値
      • serverUrl:オプション。 サーバーURLにブレーク長パラメータとして追加されます。
      • duration:オプション。 広告の期間

      例:

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

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

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

      両方の nameid 必要とされます。

      • Live ID3広告キューはAndroidではサポートされていません。
      • Live ID3広告取り消しキューはiOSではサポートされていません。

    serverUrl

    タイプ: string or 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を入力します。 このオプションは、 Brightcove Studio 上記のように。 コードで値を設定することもできます。 次にXNUMXつの例を示します。 (覚えておいてください 広告タグをテストする プラグインで使用する前にサーバー上で)

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

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

    値が関数の場合、関数パラメータはa 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 デフォルト値: false

    に設定され true カスタムを表示する Brightcove VPAID広告を制御します。 VPAIDの実装に応じて機能する場合と機能しない場合があるため、 Brightcove 本機能を本番環境で有効にする前に、広告でこの機能をテストすることをお勧めします。

    タイムアウト

    タイプ: number デフォルト値: 4000

    広告ブレークをスキップする前に広告が再生されるまで待機する最大時間(ミリ秒単位)。

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

    player.ima3({
      timeout: 5000
    });

    社内で Brightcove テストでは、XNUMX秒はほとんどの場合、遅い初期化に対応するのに十分な長さであるように見えましたが、初期化の失敗が player またはコンテンツビデオ。

    useMediaCuePoints

    タイプ: boolean デフォルト値: false

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

      Video Cloud 広告をトリガするために使用される広告キューポイントを設定するには、プラグインの設定で次のものが必要です。

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

    使用している場合 Studio あなたが選択したときに広告を設定する キューポイントで インクルード useMediaCuePointsrequestMode オプションが正しく設定されます。

    vpaidMode

    タイプ: string デフォルト値: ENABLED

    IMA HTML2 SDKでVPAID 5モードを指定します。

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

    • ENABLED:異なるドメインのiframeでVPAID広告を再生する。
    • INSECURE:同じドメインのiframeでVPAID広告を再生する。
    • DISABLEDVPAID広告でエラーが発生します。

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

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

    プロパティ

    プラグインに存在するプロパティはXNUMXつだけです。

    • 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} のMediaモジュールで追加および編集できる自由形式のテキスト文字列 Studio; あなたはフォームでクエリパラメータを使用する必要があります
    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} によって測定されるビデオの長さ player (おそらく少し異なります mediainfo.duration そしておそらくもっと正確です)。 ビデオがロードされていない場合、これは0を返すことに注意してください。 このマクロを使用して広告リクエストのタイミングを調整するように注意してください。
    {player。高さ} 現在 player 高さ
    {player.id} プレーヤーID
    {player.pageUrl} ページURL:iframe内にある場合はドキュメント参照を返し、そうでない場合はウィンドウの場所を返します。
    {player。幅} 現在 player 幅
    {playlist.id} playlistinfoオブジェクトからプル
    {playlist.name} playlistinfoオブジェクトからプル
    {ランダム} 0〜1兆の乱数(ユニークなインプレッションを作成するために使用されます。これにより、広告がブラウザにキャッシュされなくなり、インプレッションの不一致が防止されます。)
    {タイムスタンプ} 1 / 1 / 70以降の現地時間(ミリ秒)
    {window.location.href} 現在のページのURL

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

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

    {macro=default}

    例えば、

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

    if 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 次の表に示すように、特定の値の型のみを使用できます。

    種類 何が起こるのですか
    文字列 変更なしで使用する
    自動的に文字列に変換される
    ブーリアン 自動的に文字列に変換される
    ヌル 文字列を返します。 ヌル
    未定義 警告をログに記録し、空の文字列を返します。
    その他 警告をログに記録し、空の文字列を返します。

    カスタム広告マクロ

    しかし ダイナミックマクロ 上記の手法は、マクロを介して特定の情報にアクセスするための最も好ましい方法です。動的マクロを介して到達できない広告サーバーから広告をリクエストするときに使用するカスタム値を定義している場合があります。 この場合は、 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 ページ内の文字列 釣り竿。 その後、あなたのバージョンの adMacroReplacement() メソッドが呼び出され、広告リクエストURLは次のように表示されます。

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

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

    メソッド

    IMA SDKとやり取りする必要がある場合は、 ima3-ready SDKが正常に使用される前に送出されるイベント。 これには、次のXNUMXつの方法が含まれます。

    player.ima3.adrequest()

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

    使用する際に考慮すべき2つの重要な点は次のとおりです player.ima3.adrequest( ):

    • この方法は、 オンデマンド 要求モードのみ。
    • このメソッドは、広告リクエストが完了する前にコンテンツが再生され、コンテンツがフラッシュされるため、プリロールにはお勧めできません。
    パラメーター
    • adRequestUrl String VAST広告タグへのパス。 相対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()

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

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

    パラメーター
    • google.ima.AdsRenderingSettings オブジェクト
    戻り値:
    • 何も

    例:

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

    GoogleのAdsManager

    Googleから利用できるメソッドとプロパティがあります google.ima.AdsManager インターフェース。 情報を取得するインターフェースのプロパティ/メソッドを使用できます。 次のようなアクションを実行するメソッドを使用することはお勧めしません destroy, setAutoPlayAdBreaksstop。 たとえば、使用できるXNUMXつの方法を次に示します。

    AdsManager.getRemainingTime

    タイプ: google.ima.AdsManager.getRemainingTime

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

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

    IMA SDKに直接アクセスする

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

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

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

    adsLoader

    タイプ: google.ima.AdsLoader

    広告リクエストを作成するために使用されるオブジェクト。 見る ima.AdsLoader。 Ads Loaderは、 adsready プラグインによって解消されました。

    adsManager

    タイプ: google.ima.AdsManager

    広告の再生を担当するオブジェクト。 見る ima.AdsManager。 Ads Managerは、 adsready プラグインによって解消されました。

    adDisplayContainer

    タイプ: google.ima.AdDisplayContainer

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

    currentAd

    タイプ: google.ima.Ad

    広告が再生されているとき、現在の広告に関する情報をカプセル化するオブジェクト。 見る ima.Ad.

    イベント

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

    player.on('ima3error', function(event) {
      console.log('event', event);
    });
    イベント 次の場合に送出されます。
    ima3対応 ima3プラグインコードが読み込まれ、IMA SDKを読み込む準備ができました。
    ima3error GoogleからIMA3 SDKを読み込む際にエラーが発生しました。 それが発生すると、広告は表示されません。
    ima3-ad-error IMA3 SDKでエラーが発生しました。 DoubleClickアカウントが正しく構成されていることを確認するには、広告の構成と設定を確認する必要があります。 一般的なトラブルシューティングタスクは、 DoubleClickサポートサイト または、DoubleClickアカウント担当者にお問い合わせください。
    広告リクエスト リクエストされた広告データ。
    広告負荷 広告リクエスト後に広告データが利用可能な場合。
    ads-ad-started 広告の再生が開始されました。
    ads-ad-ended 広告の再生が終了しました。
    ads-pause 広告が一時停止しています。
    広告再生 広告は一時停止から再開されます。
    ads-ad-skipped 広告はスキップされます。
    広告 - 第1四分位 広告の合計再生時間の25%を再生しました。
    広告中点 広告の合計再生時間の50%を再生しました。
    ads-third-quartile 広告の合計再生時間の75%を再生しました。
    ads-click 視聴者が再生広告をクリックした。
    ads-volumechange 演奏広告の音量が変更されました。
    ads-pod-started リニア広告ポッド(広告のシーケンスグループ)の最初の広告が開始されました。
    ads-pod-ended リニア広告ポッド(順序付けされた広告グループ)の最後の広告が終了しました。
    ads-allpods-completed すべてのリニア広告の再生が完了しました。

    再発送 ima3- 接頭辞付きのイベント

    HTMLモードでIMA3プラグインを使用すると、すべての AdErrorEvents, AdEventsAdsManagerLoadedEvents に再発送されます player。 イベントが再ディスパッチされると、イベントの前に ima3-。 次の表は、再ディスパッチされたイベントを示しています。

    再発送イベント
    ima3-ad-error
    ima3-ads-manager-loaded
    ima3-all-ads-completed
    ima3-click
    ima3-完成
    ima3-content-pause-requested
    ima3-first-quartile
    ima3-hardtimeout
    ima3搭載
    イマナム - 中点
    ima3-paused
    ima3対応
    ima3-再開
    ima3-started
    ima3-third-quartile
    ima3 - ボリュームが変更されました

    Live ビデオとIMA3

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

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

    • プレロールだけが再生されます。 ミッドロールとポストロールはサポートされていません。
    • リクエスト広告 型はどちらかでなければなりません 負荷時 or プレイ中.
    • あなたはバージョンを使用している必要があります 3.1.0以降 前述のように、IMA3プラグインの

    Player 広告ライブラリ

    videojs / videojs-contrib-ads GitHubリポジトリには、ビデオ広告ライブラリが必要とする共通の機能を提供するプラグインが含まれています Brightcove Player。 このプラグインは、ビデオ広告の統合に必要な共通の機能を提供し、広告統合のための多くの懸念事項を処理し、広告統合のために記述しなければならないコードを削減します。 プラグインは完全に文書化されています。 索引ページ 最高の出発点として。

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

    方法 説明
    isInAdMode() 収益 true もし player 広告モードです。
    isWaitingForAdBreak() このメソッドは true 広告ブレークがまだ開始されていない場合は広告モード中に
    isContentResuming() このメソッドは true 広告ブレークが終了してコンテンツ再生が再開される前の広告モードでは、

    プラグインは数多くのイベントも送っていますが、ここにはいくつか挙げられています:

    イベント 説明
    adstart 呼び出しの結果として直接発射される startLinearAdMode().
    adend 呼び出しの結果として直接発射される endLinearAdMode().
    readyforpreroll あなたの広告プラグインが呼び出すことによってプリロール広告休憩を開始できることを示します startLinearAdMode().

    プラグインには多数のプロパティもありますが、ここにいくつか挙げられています:

    お名前 データ型 説明
    ads.ad.id 文字列 再生する広告の一意の識別子
    ads.ad.index 特定の時間に再生される広告のインデックス。 インデックスは広告ポッド内の広告の順序値を識別します
    ads.ad.duration 広告の所要時間(秒)
    ads.ad.type 文字列 どちらでも プレロール, ミッドロール or ポストロール

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

    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プラグインを実装するには player プラグインコード、スタイルシート、プラグイン名、プラグイン構成オプションの場所を知る必要があります。 プラグインコードとスタイルシートの場所は次のとおりです。

    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
    }

    次の例では、ページはめ込み埋め込みの player IMAプラグインを player.

    • ライン12: link タグを使用して、プラグインのCSSを head HTMLページの
    • ライン15: video タグに id この場合、ある値を持つ属性 myPlayerID.
    • ライン23: script タグを使用して、プラグインのJavaScriptを body HTMLページの。
    • 26〜29行目: player bc() メソッドを呼び出すと、 ima3() 方法。
    • 30〜33行目:オン player ready、への参照 player 創造された。 コメントは、他のコードを追加するコードを配置できる場所を示すために表示されます player 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プラグインが Studio、次にコードで。 一部のお客様は、基本的なプラグインが追加されたハイブリッド実装を実行したい Studio、ただしページのJavaScriptで構成が行われます。 このハイブリッド実装については、このセクションで説明します。

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

    一部 Studio インストール

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

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

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

    デバッグ支援

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

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

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

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

    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;
    });

    展開されたデバッグ情報は次のようになります。 (黄色で強調表示された情報はプラグインのデバッグからのものであり、青色で強調表示された情報はGoogleツールによって生成されます。)

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

    GoogleのIMAエラーの詳細については、 クラスgoogle.ima.AdError Googleのセクション Google IMA HTML5 SDK API の資料をご参照ください。

    既知の問題点

    ピクチャーインピクチャーが無効になっています

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

    自動再生の設定 Studio

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

    さらに詳しく広告カウントダウンタイマー デフォルトでは表示されなくなりました

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

    adsRenderingSettings.useStyledLinearAds=true;

    詳細については、Googleの google.ima.AdsRenderingSettings のドキュメントで詳しく説明されています)。

    Android搭載Chrome:プルロールのミュート解除、動画の自動再生を行わない

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

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

    この問題は、IMA SDKが現在の時刻を報告する方法の制限と関係しています。 この時点で文書化された作業はありません。

    Safari 11 Desktopでは、ミュートされていないミッドロールが再生されないことがあります

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

    サポートされている環境

    サポートされているプラ​​ットフォーム、広告標準、動画メディアの組み合わせを確認するには、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 このドキュメントのセクション

    スキップ可能な広告の制限:

    • 広告をスキップ ボタン 広告コントロールバーによって部分的に覆われている可能性があります 一部のモバイルデバイス。 これにより、エンドユーザーが実際に広告をスキップすることが困難になります。 ユーザーはピンチしてズームし、 広告をスキップ ボタンをクリックできるようにするには、モバイルデバイスでボタンを大きくします。
    • アイフォン 無し playsinlinedisableCustomPlaybackForIOS10Plus - スキップ可能な広告は再生されません。
    • アイフォン   playsinlinedisableCustomPlaybackForIOS10Plus -広告はインラインで再生されますが、フルスクリーンを使用している場合、広告は表示されませんが、広告のオーディオは再生されます。 つまり、全画面表示のスキップ可能な広告は正しく機能しません。
    • iPad - 広告はインラインで再生されますが、スキップは全画面モードでは利用できません

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

    使用している場合 playsinline iOS 10 iPadおよびiPhoneでは、フルスクリーンではないビデオの視聴を許可してから、プレロール広告を開始し、フルスクリーンボタンをクリックすると、広告の再生が続行されません。 これはGoogleのIMA実装の制限であり、Googleではこの問題を修正する予定はありません。

    gpt_proxy.jsとの競合

    IMA3でGPTプロキシスクリプトを使用し、 adTechOder is HTML5 最初に、再生の問題が発生する可能性があります。 IMA3プラグインは、 window.google or window.google.ima。 使用しているかどうかを確認することをお勧めします Brightcove Player、そうである場合、それらの機会にプロキシをロードしないでください。

    リサイズ 広告をスキップ ボタン

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

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

    IMA3プラグインに特有のものではありませんが、 autoplay はiOSで制限されているため、ユーザーが操作するまで広告は開始されません。

    広告キューポイントの問題

    広告キューポイントの使用に固有の問題については、 既知の問題点 のセクション 広告キューポイントを使用した広告の表示 の資料をご参照ください。

    変更履歴

    見ます 変更履歴はこちら.


    ページの最終更新日:28年2020月XNUMX日