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