Adrop Web SDK 1.2.3 以降で利用可能です。
概要
ほとんどの広告枠はこのパターン 1 つで完結します。- レスポンシブな幅 — 端末の幅に合わせて広告枠が自動で伸縮
- 固定された高さ —
aspect-ratioが幅から高さを算出するため CLS なし - 予測可能なレンダリング —
fixedモードがバックフィル広告をコンテナにぴったりフィット
backfillMode: fixed と、登録サイズ(320/100、300/250、728/90 など)と一致する inline aspect-ratio です。
どちらのモードを使うか
| モード | 動作 | 使うケース |
|---|---|---|
fixed | バックフィル広告をコンテナにぴったりフィット(width:100%; height:100%)。媒体が枠サイズを定義 — レスポンシブ幅なら aspect-ratio、ピクセル単位の枠なら height。 | 枠のサイズ/比率が分かっており、広告をその枠に正確にフィットさせたい場合。ほとんどのバナースロットに推奨。 |
responsive(デフォルト) | バックフィルネットワークがコンテナ幅に最適なサイズを自動選択。コンテナにサイズ意図がない場合、SDK が安全な min-height を自動予約。 | サイズを事前に確定したくない場合。ネットワークが最も広いインベントリから選択可能。 |
どちらのモードでも、コンテナに inline サイズ意図(
aspect-ratio、height、min-height、max-height)があれば CLS は発生しません。違いは高さを媒体が決めるか、ネットワークが決めるかです。コンテナパターン
枠に合うパターンを 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 プロパティのみをサイズ意図として認識します。heightmin-heightmax-heightaspect-ratio
width、padding、margin、色、ボーダー、影、transition など 残りすべてのスタイルは CSS class や Tailwind を自由に使用 できます。上記 4 つのサイズ意図だけを inline に置けば十分です。
推奨
非推奨
-
サイズ意図のみを inline に移す(推奨)
-
fixedにオプトインして自動予約を無効化
CLS と自動予約
CLS とは? ページ読み込み中に広告が遅れて入ってきて本文が押し下げられる現象(Cumulative Layout Shift)です。ユーザーがクリックしようとしていたボタンが急に位置を変えて誤クリックを誘発し、検索ランキングや広告収益にも影響します。responsive モードの処理方法: コンテナに inline サイズ意図がない場合、SDK がコンテナ幅に合わせて安全な min-height を自動予約します。
- 実際の広告が予約値より 大きい 場合、コンテナは自然に拡張されます(ジャンプ幅が縮小されるだけ)
- 実際の広告が予約値より 小さい 場合、空白が残ります(ジャンプは発生しません)
max-heightではなくmin-heightのみ設定されるため、overflow の心配はありません
自動リフレッシュ
バックフィル広告が正常に読み込まれると、SDK がリフレッシュを自動的に管理します — 媒体側で別途設定や呼び出しを行う必要はありません。- 可視性条件: コンテナが画面に 50% 以上表示され、ページタブがアクティブな場合のみリフレッシュがカウントされます
- 回数制限: スロットごとに定められた最大回数に達すると停止します
- 自動クリーンアップ: コンテナが DOM から削除されると、リフレッシュ登録が自動的に解除されます
format: 'backfill' を持つ AD_RECEIVED イベントが発生します。
バックフィルも出ない場合
ダイレクト広告とバックフィル広告のどちらも取得できない場合、SDK はAD_BACKFILL_NO_FILL イベントを発生させます。このイベントを処理して広告枠を非表示にしたり、代替コンテンツを表示できます。
1.2.3 へのアップグレードの影響
| コンテナの状態 | 変化 |
|---|---|
inline height / aspect-ratio あり | 影響なし(既存動作のまま) |
| サイズ意図 なし | 自動予約により空白のジャンプが軽減。広告動作は同一 |
| サイズ意図が CSS class / Tailwind のみで 固定 | 要対応 — 自動予約が同時に適用され、コンテナが意図より広がる可能性があります。アップグレード前に非推奨を参照して inline に移すか、fixed にオプトインしてください。 |
responsive のため、コード変更なしでアップグレードしてもほとんどの場合安全です。1.2.3 以前のレイアウトに固定したい場合は、グローバルまたはスロット単位の fixed オプトインを 1 行追加するだけで復元できます。
関連ガイド
バナー広告 (React)
React でバナー広告を実装
バナー広告 (CDN)
CDN 方式でバナー広告を実装
リファレンス
BackfillMode タイプ定義