HTML5 エキスパンド作成ガイド

多方向エキスパンド クリエイティブを設定する

クリエイティブは、ページ上のどの位置に広告が配信されるかに応じて、エキスパンドの方向を変えることができます。位置を検出してエキスパンドする方向を判別するようにクリエイティブをプログラミングできます。たとえば、多方向エキスパンド(MDE)機能を有効にすることにより、同一のクリエイティブを、ページの左側に配信された場合は右にエキスパンドさせ、ページの右側に配信された場合は左にエキスパンドさせることができます。

2 expanding ad images, one on left with inpage ad that expands right, and one on right with inpage ad that expands left

blue letter a 右へエキスパンド    small green letter b 左へエキスパンド

設定する
  1. HTML では、3 つのパネルを作成します。
    1. メインパネル: 異なるエキスパンドの方向を含めた、折りたたみパネルとエキスパンド パネルの両方を含みます
    2. 折りたたみパネル: 折りたたみパネルのコンテンツを含みます
    3. エキスパンド パネル: エキスパンド パネルのコンテンツを含みます
  2. CSS では、広告の位置とエキスパンドの方向を反映するように 3 つのオブジェクトのスタイルを設定します。
  3. JavaScript の場合:
    1. setExpandingPixelOffsets イネーブラー メソッドを使用して、折りたたみパネルのオフセットを設定します。このオフセットはローカルでのテスト環境には影響しませんが、実際に広告として掲載されたときに、広告の折りたたみ部分が座標 0, 0 で表示されます。このメソッドでは、相対配置されたボディ要素の marginLeftmarginTop CSS プロパティが設定されます。
    2. setIsMultiDirectional イネーブラー メソッドを使用して、多方向エキスパンドを有効にします。
    3. getExpandDirection イネーブラー メソッドを使用して、広告のエキスパンドの方向を判別し、エキスパンド パネルの位置とアニメーションを動的に変更します。

パネル レイアウトの例

Multidirectional: Main page in bright green 700x350; collapsed inpage in brown 300x250; expanding in turquoise bottom and left, 500x300

 

 

 

700x350 - メインパネル
300x250 - 折りたたみパネル
500x300 - エキスパンド パネル

オブジェクトを作成する

<div> タグを使用して HTML ファイルで 3 つのオブジェクトを作成し、ID を割り当てます。

HTML の例

<body>
  <div id="main-panel">
     <div id="collapsed-panel">
       <!-- 折りたたみ時のコンテンツをここに追加します。 -->
     </div>
     <div id="expanded-panel">
       <!-- エキスパンド時のコンテンツをここに追加します。 -->
     </div>
   </div>
</body>
オブジェクトのスタイルを設定する

作成したオブジェクトに割り当てた ID を使用して、CSS でそれらのオブジェクトのスタイルを設定します。

  • メインパネルは常に座標 0,0 に配置します。また、折りたたみパネルとエキスパンド パネルの有効なすべての方向が入る十分な大きさのサイズであるようにします。メインパネルのサイズの計算方法は次のとおりです。
    • メインパネルの幅 = エキスパンド パネルの幅 +(エキスパンド パネルの幅 - 折りたたみパネルの幅)
    • メイン パネルの高さ = エキスパンド パネルの高さ +(エキスパンド パネルの高さ - 折りたたみパネルの高さ)

    • 上記の画像を使用します。
      • width = 500px +(500px - 300px)= 700px
      • height = 300px +(300px - 250px)= 350px
  • 折りたたみパネルの領域は常にメインパネルの中心に配置します。この位置の計算方法は次のとおりです。
    • 折りたたみパネルの左端 = エキスパンド パネルの幅 - 折りたたみパネルの幅
    • 折りたたみパネルの上端 = エキスパンド パネルの高さ - 折りたたみパネルの高さ

    • 上記の画像を使用します。
      • left = 500px - 300px = 200px
      • top = 300px - 250px = 50px
  • エキスパンド パネルの位置はエキスパンドの方向によって異なりますが、JavaScript を使用して動的に変更する必要があります。この例では、有効な方向ごとにクラスを追加しました(左端と上端の位置が含まれます)。後で、イネーブラーが検出した方向に応じて JavaScript でこれらのクラスにアクセスします。
スタイルの例
#main-panel {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 700px;
  height: 350px;
}
   
#collapsed-panel {
  position: absolute;
  left: 200px;
  top: 50px;
  width: 300px;
  height: 250px;
}
      
#expanded-panel {
  position: absolute;
  width: 500px;
  height: 300px;
}
      
.direction-tl {
  left: 0px;
  top: 0px;
}
      
.direction-tr {
  left: 100px;
  top: 0px;
}
      
.direction-bl {
  left: 0px;
  top: 200px;
}
      
.direction-br {
  left: 100px;
  top: 200px;
}
配置オフセットを設定する

広告の折りたたみパネルではピクセル単位のオフセットを設定し、エキスパンド パネルではサイズを設定します。これで、Studio は配信先のサイトページにおける広告の位置とエキスパンドの方向の両方を識別できます。これを行うには、イネーブラーを初期化した後に setExpandingPixelOffsets メソッドを使用します。

Enabler.setExpandingPixelOffsets(left, top, opt_expandedWidth, opt_expandedHeight);

  • 折りたたみパネルのスタイル設定と同様に、lefttop のパラメータに設定する値が、折りたたみパネルの領域をメインパネルの中心に配置するものでなければなりません。これらの位置の計算方法は次のとおりです。
    • left = エキスパンド パネルの幅 - 折りたたみパネルの幅
    • top = エキスパンド パネルの高さ - 折りたたみパネルの高さ
  • MDE の opt_expandedWidthopt_expandedHeight の値の設定は基本的なエキスパンドの設定と異なります。エキスパンド パネルのサイズと一致するように設定するのではなく、メインパネルのサイズと一致するように設定します。これらの値の計算方法は次のとおりです。
    • opt_expandedWidth = エキスパンド パネルの幅 +(エキスパンド パネルの幅 - 折りたたみパネルの幅)
    • opt_expandedHeight = エキスパンド パネルの高さ +(エキスパンド パネルの高さ - 折りたたみパネルの高さ)
コード例
Enabler.setExpandingPixelOffsets(
    200,  // エキスパンドする広告の左オフセット
    100,  // エキスパンドする広告の上オフセット
    700,  // 広告がエキスパンドしたときの幅
    350); // 広告がエキスパンドしたときの高さ
      
// エキスパンド状態で開始するかどうか。デフォルトは false です。
Enabler.setStartExpanded(false);

// ページ上の広告の位置に基づく、利用できる最適な方向で
// 多方向エキスパンドを有効にします。
// デフォルトは false です。
Enabler.setIsMultiDirectional(true);

if (Enabler.isInitialized) {
  enablerInitHandler();
} else {
  Enabler.addEventListener(studio.events.StudioEvent.INIT, enablerInitHandler);
}

function enablerInitHandler() {
  // イネーブラーが初期化されたら
  // クリエイティブ要素を読み込むコードを追加します。
}
アセットのアップロード後に Studio の管理画面でこれらのパラメータを設定することもできます。プロパティをプレビューする: エキスパンドもご覧ください。
エキスパンド パネルの位置を動的に変更する

エキスパンドの方向に応じて、メインパネル上のエキスパンド パネルの位置を変更する必要があります。このためには、getExpandedDirection イネーブラー メソッドを使用してエキスパンドの方向を判別し、それに従って EXPAND_START イベントのトリガ時にクリエイティブを変更します。上記の CSS の例では、エキスパンドの方向ごとに別々のクラスが設定されています。下記のコードでは、エキスパンドの方向に基づいて className がエキスパンド パネル オブジェクトに割り当てられます。

コード例
function expandAd(e) {
  Enabler.requestExpand();
  Enabler.addEventListener(studio.events.StudioEvent.EXPAND_START,
      function() {
        document.getElementById('expanded-panel').className = 'direction-' + Enabler.getExpandDirection();
        // 必要なエキスパンド アニメーションのためのコードを追加します。
        Enabler.finishExpand();
  });

  Enabler.addEventListener(studio.events.StudioEvent.EXPAND_FINISH,
      function() {
        // エキスパンド パネルを表示して要素を読み込むか、または
        // アニメーションを開始するコードを追加します。
  });
}

document.getElementById('expand-button').addEventListener('click', expandAd, false); 
プレビュー

MDE クリエイティブをローカルでプレビューする際は、広告をエキスパンドするたびに、すべての有効なエキスパンドの方向が表示されます。表示される順序は次のとおりです。

  • tl: 左上
  • tr: 右上
  • bl: 左下
  • br: 右下

Studio でプレビューする際は、Studio で検出された方向のみが表示されます。異なる方向をテストしてプレビューするには、プレビュータブにクリエイティブを配置して各方向をテストする必要があります。

この情報は役に立ちましたか?

改善できる点がありましたらお聞かせください。

さらにサポートが必要な場合

次の手順をお試しください。

検索
検索をクリア
検索を終了
メインメニュー
14037298815334901363
true
ヘルプセンターを検索
true
true
true
true
true
74220
false
false