アダプティブ バナーは、デバイスごとに広告のサイズを最適化することで、パフォーマンスを最大限に高めることができる、次世代のレスポンシブ広告です。バナー広告の高さが固定されているスマートバナーを改良したアダプティブ バナーでは、指定する広告の幅に応じて、自動的に最適な広告サイズが決定されます。
最適な広告サイズを選択するため、アダプティブ バナーでは、固定された高さではなく、固定されたアスペクト比が使用されます。これにより、デバイスが異なっても、バナー広告は一貫して画面の同じスペースに表示され、広告のパフォーマンス向上につながります。
アダプティブ バナーを使用する場合、特定のデバイスと幅に対して常に一定のサイズが返されることに注意してください。特定のデバイスでレイアウトをテストしたら、広告のサイズが変わらないことを確認できます。ただし、バナー クリエイティブのサイズはデバイスによって異なる場合があります。そのため、レイアウトで広告の高さの変動に対応できるようにすることをおすすめします。まれに、完全なレスポンシブ サイズが埋められず、代わりに標準サイズのクリエイティブがこのスロットの中央に配置されることがあります。
アダプティブ バナーの用途
アダプティブ バナーは、業界標準の 320×50 のバナーおよびスマートバナーとの完全互換性を備えています。
これらのバナーサイズは、通常は画面の上部または下部に固定されるアンカー バナーとしてよく使用されます。このようなアンカー型バナーの場合、アダプティブ バナーを使用すると、アスペクト比は標準の 320x50 広告とほぼ同じになります。次のスクリーンショットをご覧ください。
![]() 320×50 バナー |
![]() スマートバナー |
![]() アダプティブ バナー |
アダプティブ バナーは、利用可能な画面サイズをより有効に活用します。また、スマートバナーと比較して、アダプティブ バナーは次の点で優れています。
画面の横幅いっぱいではなく、ご指定の幅で広告を表示できるため、セーフエリアを考慮できます。
さまざまなサイズのデバイスで高さが一定になるのではなく、特定のデバイスに最適な高さが選択されるため、デバイスの断片化の影響を軽減できます。
実装上の注意
アプリにアダプティブ バナーを実装する際には、次の点に注意してください。
広告が配置されるビューの幅を確認してください。デバイスの幅に加えて、セーフエリア(該当する場合)も考慮に入れる必要があります。
広告スロットを埋めない小さなサイズの広告が配信される場合、AdMob ポリシーに準拠するため、広告ビューの背景を不透明にしてください。
最新バージョンの Google Mobile Ads C++ SDK を使用していることを確認します。メディエーションの場合は、各メディエーション アダプタの最新バージョンを使用します。
アダプティブ バナーは、利用できるスペースの横幅いっぱいに表示すると最も効果を発揮するように設計されています。ほとんどの場合は、デバイスの画面の全幅を使用できます。セーフエリアがある場合は、そのスペースも考慮に入れてください。
Google Mobile Ads C++ SDK は、指定された幅に対する最適な広告の高さを
firebase::gma::AdSizeで返します。アダプティブ バナーの広告サイズを取得するメソッドは、デバイスの向きに応じて、横向き、縦向き、実行時の向きの 3 種類があります。
特定のデバイスの特定の幅に対して返されるサイズは常に同じです。そのため、特定のデバイスでレイアウトをテストしたら、広告のサイズが変わらないことを確認できます。
アンカー バナーの高さは、デバイスの高さの 15% を超えることはなく、50 ポイントを下回ることもありません。
クイック スタート
シンプルなアダプティブ アンカー バナーを実装する手順は次のとおりです。
アダプティブ バナー広告のサイズを取得します。取得したサイズはアダプティブ バナーのリクエストに使用されます。アダプティブ広告のサイズを取得する手順は次のとおりです。
広告を掲載するデバイスの幅を取得します。デバイス画面の幅全体を使用しない場合は、任意の幅を設定します。
AdSizeクラスの適切な静的メソッド(GetCurrentOrientationAnchoredAdaptiveBannerAdSize(uint32_t width)など)を使用して、指定した画面の向きのアダプティブAdSizeオブジェクトを取得します。作成したアダプティブ
AdSizeを使用して、AdViewでInitialize()を呼び出します。サンプル全体は以下でご確認いただけます。
通常のバナー リクエストと同様に、
AdRequestオブジェクトを作成し、用意した広告ビューのloadAd()メソッドを使用してバナーを読み込みます。
サンプルコード
アダプティブ バナーを読み込む AdView の例を次に示します。
// Determine view width in pixels based on your app's current width on the
// device's screen. This process will vary depending on which windowing toolkit
// you're using.
firebase::gma::AdSize adaptive_ad_size =
AdSize::GetCurrentOrientationAnchoredAdaptiveBannerAdSize(view_width);
// my_ad_parent is a reference to an iOS UIView or an Android Activity.
// This is the parent UIView or Activity of the banner view.
firebase::gma::AdParent ad_parent =
static_cast<firebase::gma::AdParent>(my_ad_parent);
firebase::Future<void> result =
ad_view->Initialize(ad_parent, kBannerAdUnit, adaptive_ad_size);
ここで、関数 GetCurrentOrientationAnchoredAdaptiveBannerAdSize(uint32_t width) は、現在のインターフェースの向きのアンカー位置にあるバナーのサイズを取得するために使用されます。特定の向きでアンカー付きバナーをプリロードするには、GetPortraitAnchoredAdaptiveBannerAdSize(uint32_t width) と GetLandscapeAnchoredAdaptiveBannerAdSize(uint32_t width) の関連関数を使用します。


