アダプティブ バナーは次世代のレスポンシブ広告であり、デバイスごとに広告サイズを最適化してパフォーマンスを最大化します。アダプティブ バナーでは、固定された高さしかサポートされていなかったスマートバナーよりも、広告の幅を指定して最適な広告サイズを判断できます。
最適な広告サイズが選択されるように、アダプティブ バナーでは固定された高さではなく固定のアスペクト比が使用されます。これにより、デバイスを問わず、バナー広告が画面内のより一貫した部分を占めるようになり、パフォーマンスの向上につながります。
アダプティブ バナーを使用する場合、特定のデバイスと幅では、常に一定のサイズが返されます。特定のデバイスでレイアウトをテストしたら、広告サイズは変わらないことを確認します。ただし、バナー クリエイティブのサイズはデバイスによって異なる場合があります。そのため、レイアウトが広告の高さのばらつきに対応できるようにすることをおすすめします。ごくまれに、アダプティブ サイズがいっぱいにならない場合があります。その場合は、標準サイズのクリエイティブが、このスロットの中央に配置されます。
アダプティブ バナーの用途
アダプティブ バナーは、業界標準の 320×50 のバナーサイズおよびスマートバナー フォーマットに差し替える形で提供できるように設計されています。
これらのバナーサイズはアンカーバナーとして使用され、通常は画面の上部または下部に固定されます。アダプティブ バナーを使用した場合のアスペクト比は、標準の 320×50 の広告とほぼ同じになります(次のスクリーンショットをご覧ください)。
320×50 バナー |
スマートバナー |
アダプティブ バナー |
アダプティブ バナーでは、利用可能な画面サイズを有効活用できます。また、次のような理由から、スマートバナーと比べるとアダプティブ バナーのほうが適しています。
画面の全体幅ではなく指定された幅が使用されるため、セーフエリアを考慮できます。
さまざまなサイズのデバイスに対して一定の高さではなく、特定のデバイスに最適な高さを選択することで、デバイスの断片化の影響を軽減します。
実装上の注意
アプリにアダプティブ バナーを実装する際は、次の点に留意してください。
広告が配置されるビューの幅を把握している必要があります。また、デバイスの幅と、適用されるセーフエリアについても考慮する必要があります。
小さいサイズの広告が広告スロットを埋められない場合に、AdMob のポリシーに準拠するように、広告ビューの背景が不透明になるようにします。
Google Mobile Ads C++ SDK の最新バージョンを使用していることを確認してください。メディエーションでは、各メディエーション アダプタの最新バージョンを使用してください。
アダプティブ バナーのサイズは、利用可能な全幅を使用した場合に最大限に効果を発揮するように設計されています。ほとんどの場合、使用するデバイスの画面の全幅になります。適切な安全領域を考慮してください。
Google Mobile Ads C++ SDK は、指定された幅に対して最適化された広告の高さを
firebase::gma::AdSize
で返します。アダプティブ バナーの広告サイズを取得する方法は 3 つあります。1 つは横向き、もう 1 つは縦向き、実行時の現在の向きです。
各デバイスで特定の幅に対して返されるサイズは常に同じであるため、1 つのデバイスでレイアウトをテストすれば、広告サイズは変わらないことを確認できます。
アンカーバナーの高さは、デバイスの高さの 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)
の適切な関数を使用します。