Адаптивные баннеры позволяют задать ширину объявления для определения его оптимального размера. Адаптивные баннеры также повышают эффективность, оптимизируя размер объявления для каждого устройства. Такой подход позволяет повысить производительность.
По сравнению с закреплёнными адаптивными баннерами, встроенные адаптивные баннеры больше, выше и имеют переменную, а не фиксированную высоту. Встроенные адаптивные баннеры имеют переменную высоту и могут занимать весь экран или достигать заданной вами максимальной высоты.
Вы размещаете встроенные адаптивные баннеры в прокручиваемом контенте, например:
Прежде чем начать
Прежде чем продолжить, убедитесь, что вы ознакомились с руководством по началу работы Баннерная реклама .
Внедрите адаптивные баннеры
В отличие от закрепленных адаптивных баннеров, встроенные баннеры-адаптеры загружаются с использованием размера встроенного адаптивного баннера. Чтобы создать встроенное адаптивное объявление, выполните следующие действия:
Укажите ширину используемого устройства или задайте собственную ширину, если вы не хотите использовать всю ширину экрана.
Чтобы получить встроенный адаптивный объект размера рекламы для выбранной ориентации, используйте статический метод в классе размера рекламы:
Следующий пример демонстрирует эти шаги:
Котлин
private fun loadAd() { // Create an inline adaptive ad size. 320 is a placeholder value. // Replace 320 with your banner container width. val adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320) // Step 1 - Create a BannerAdRequest object with ad unit ID and size. val adRequest = BannerAdRequest.Builder("AD_UNIT_ID", adSize).build() // Step 2 - Load the ad. BannerAd.load( adRequest, object : AdLoadCallback<BannerAd> { override fun onAdLoaded(ad: BannerAd) { // Assign the loaded ad to the BannerAd object. bannerAd = ad // Step 3 - Call BannerAd.getView() to get the View and add it // to view hierarchy on the UI thread. activity?.runOnUiThread { binding.bannerViewContainer.addView(ad.getView(requireActivity())) } } override fun onAdFailedToLoad(loadAdError: LoadAdError) { bannerAd = null } } ) }
Ява
private void loadAd() { // Create an inline adaptive ad size. 320 is a placeholder value. // Replace 320 with your banner container width. AdSize adSize = AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(this, 320); // Step 1 - Create a BannerAdRequest object with ad unit ID and size. BannerAdRequest adRequest = new BannerAdRequest.Builder("AD_UNIT_ID", adSize).build(); // Step 2 - Load the ad. BannerAd.load( adRequest, new AdLoadCallback<BannerAd>() { @Override public void onAdLoaded(@NonNull BannerAd ad) { // Assign the loaded ad to the BannerAd object. bannerAd = ad; // Step 3 - Call BannerAd.getView() to get the View and add it // to view hierarchy on the UI thread. if (getActivity() != null) { getActivity() .runOnUiThread(() -> binding.bannerViewContainer.addView(ad.getView(getActivity()))); } } @Override public void onAdFailedToLoad(@NonNull LoadAdError adError) { bannerAd = null; } }); }
При внедрении адаптивных баннеров в ваше приложение обратите внимание на следующие моменты:
- Размеры встроенных адаптивных баннеров лучше всего работают при использовании всей доступной ширины. В большинстве случаев этот размер равен полной ширине экрана используемого устройства или полной ширине родительского контента баннера. Вам необходимо знать ширину области, в которой будет размещаться объявление, ширину устройства, ширину родительского контента и применимые безопасные зоны.
Ориентировать размер встроенного адаптивного баннера
Для предварительной загрузки встроенного адаптивного баннера для определенной ориентации используйте следующие методы:
AdSize.getPortraitInlineAdaptiveBannerAdSize(Context context, int width)
AdSize.getLandscapeInlineAdaptiveBannerAdSize(Context context, int width)
Если ваше приложение поддерживает как портретную, так и альбомную ориентацию и вы хотите предварительно загрузить адаптивный баннер в текущей ориентации, используйте
AdSize.getCurrentOrientationInlineAdaptiveBannerAdSize(Context context, int width)
Этот метод загружает рекламу в текущей ориентации.Ограничить высоту встроенного адаптивного баннера
По умолчанию для встроенных адаптивных баннеров, созданных без значения
maxHeight
, значениеmaxHeight
равно высоте устройства. Чтобы ограничить высоту встроенного адаптивного баннера, используйте методAdSize.getInlineAdaptiveBannerAdSize(int width, int maxHeight)
.