Skip to main content
Adrop Web SDK 1.2.3 以降で利用可能です。

概要

ほとんどの広告枠はこのパターン 1 つで完結します。
このパターンで以下がすべて解決します。
  • レスポンシブな幅 — 端末の幅に合わせて広告枠が自動で伸縮
  • 固定された高さaspect-ratio が幅から高さを算出するため CLS なし
  • 予測可能なレンダリングfixed モードがバックフィル広告をコンテナにぴったりフィット
キーは 2 つだけ。backfillMode: fixed と、登録サイズ(320/100300/250728/90 など)と一致する inline aspect-ratio です。
前提条件: このスニペットは、ページのどこかで Adrop.observe({ appId: 'YOUR_APP_ID' }) が呼び出されていることを前提とします。開発中は YOUR_UNIT_IDPUBLIC_TEST_UNIT_ID_320_100 に置き換えると、テスト広告をすぐに確認できます。SDK のインストールと初期化はバナー広告または CDN ガイドを参照してください。

どちらのモードを使うか

どちらのモードでも、コンテナに inline サイズ意図(aspect-ratioheightmin-heightmax-height)があれば CLS は発生しません。違いは高さを媒体が決めるか、ネットワークが決めるかです。
fixed モードはコンテナの高さをそのまま参照します。コンテナに aspect-ratio または height が定義されていない場合、広告の高さが 0 になって見えなくなります — fixed は必ず高さ意図と組み合わせて使用してください。

コンテナパターン

枠に合うパターンを 1 つ選んでください。3 つともダイレクト広告とバックフィル広告の両方に対応します。

パターン A. レスポンシブ幅 + 比率固定(推奨)

枠が利用可能な横幅を埋め、aspect-ratio が登録サイズから高さを決定します。モバイルファーストレイアウトやコンテンツフィードに最適です。
aspect-ratioユニット登録サイズの比率と同じ に合わせてください。コンテナ高さは width × (ratio.h / ratio.w) で計算され、fixed モードがそのボックスを正確に埋めるよう SDK に指示します。
幅の制限(max-width)が必要な場合は 媒体のデザイン(コンテンツ領域の幅、サイドバーの幅など) を基準にしてください。広告の登録サイズをピクセルキャップとして指定すると、画面が広い時に広告が小さくなり収益が減少します。画面が登録サイズより広くても、比率が保たれていればバックフィル広告はそのまま埋まります。

パターン B. 固定ピクセル高さ(整列が重要な枠)

他のコンテンツとピクセル単位で正確に揃える必要がある枠(ドッキングヘッダー、サイドバー、スティッキーフッターなど)に使用します。

パターン C. SDK 自動予約(サイズ未指定)

サイズを事前に確定したくない場合に使用します。SDK がコンテナ幅に合わせて安全な min-height を自動予約し CLS を軽減、バックフィルネットワークが最適なインベントリを選択します。
デフォルト動作です。data-adrop-backfill-mode 属性を別途指定する必要はありません。

モード指定方法

狭い範囲が優先されます。
スロット単位(宣言的)
スロット単位(プログラマティック)
媒体全体のデフォルト

サイズ意図は必ず inline で

SDK は次の 4 つの inline プロパティのみをサイズ意図として認識します。
  • height
  • min-height
  • max-height
  • aspect-ratio
このうち 1 つでも inline にあれば、SDK は媒体のレイアウトをそのまま保ち、自動予約をスキップします。
width、padding、margin、色、ボーダー、影、transition など 残りすべてのスタイルは CSS class や Tailwind を自由に使用 できます。上記 4 つのサイズ意図だけを inline に置けば十分です。

推奨

非推奨

SDK は CSS class で固定されたサイズを検出できません。responsive モードの自動予約が class 由来の高さと同時に適用され、コンテナが意図より広がる可能性があります。
修正方法(いずれか)
  1. サイズ意図のみを inline に移す(推奨)
  2. fixed にオプトインして自動予約を無効化

CLS と自動予約

CLS とは? ページ読み込み中に広告が遅れて入ってきて本文が押し下げられる現象(Cumulative Layout Shift)です。ユーザーがクリックしようとしていたボタンが急に位置を変えて誤クリックを誘発し、検索ランキングや広告収益にも影響します。 responsive モードの処理方法: コンテナに inline サイズ意図がない場合、SDK がコンテナ幅に合わせて安全な min-height を自動予約します。
  • 実際の広告が予約値より 大きい 場合、コンテナは自然に拡張されます(ジャンプ幅が縮小されるだけ)
  • 実際の広告が予約値より 小さい 場合、空白が残ります(ジャンプは発生しません)
  • max-height ではなく min-height のみ設定されるため、overflow の心配はありません
inline で height または aspect-ratio の意図を表現すると、SDK は自動予約をスキップし媒体のレイアウトを保ちます。

自動リフレッシュ

バックフィル広告が正常に読み込まれると、SDK がリフレッシュを自動的に管理します — 媒体側で別途設定や呼び出しを行う必要はありません。
  • 可視性条件: コンテナが画面に 50% 以上表示され、ページタブがアクティブな場合のみリフレッシュがカウントされます
  • 回数制限: スロットごとに定められた最大回数に達すると停止します
  • 自動クリーンアップ: コンテナが DOM から削除されると、リフレッシュ登録が自動的に解除されます
リフレッシュが成功するたびに format: 'backfill' を持つ AD_RECEIVED イベントが発生します。

バックフィルも出ない場合

ダイレクト広告とバックフィル広告のどちらも取得できない場合、SDK は AD_BACKFILL_NO_FILL イベントを発生させます。このイベントを処理して広告枠を非表示にしたり、代替コンテンツを表示できます。
完全なイベントライフサイクルはバナー広告ガイドを参照してください。

1.2.3 へのアップグレードの影響

デフォルトモードが responsive のため、コード変更なしでアップグレードしてもほとんどの場合安全です。1.2.3 以前のレイアウトに固定したい場合は、グローバルまたはスロット単位の fixed オプトインを 1 行追加するだけで復元できます。

関連ガイド

バナー広告 (React)

React でバナー広告を実装

バナー広告 (CDN)

CDN 方式でバナー広告を実装

リファレンス

BackfillMode タイプ定義