Google Mobile Ads SDK поддерживает фиксированные размеры объявлений, если адаптивные баннеры вам не подходят.
В таблице ниже перечислены стандартные размеры баннеров.
| Размер в единицах, не зависящих от плотности (ширина x высота) | Описание | Доступность | Константа AdSize |
|---|---|---|---|
| 320 x 50 | Баннер | Телефоны и планшеты | GADAdSizeBanner |
| 320 x 100 | Большой баннер | Телефоны и планшеты | GADAdSizeLargeBanner |
| 300 x 250 | Средний прямоугольник IAB | Телефоны и планшеты | GADAdSizeMediumRectangle |
| 468 x 60 | Полноразмерный баннер IAB | Планшеты | GADAdSizeFullBanner |
| 728 x 90 | Полноразмерный баннер IAB | Планшеты | GADAdSizeLeaderboard |
Чтобы задать собственный размер баннера, укажите его с помощью GADAdSizeFromCGSize:
Swift
let adSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))
Objective-C
GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(250, 250));
Пример баннера фиксированного размера
Специальный размер объявления
Помимо стандартных рекламных блоков, Google Менеджер рекламы позволяет показывать в приложении рекламные блоки любого размера. Размер объявления (ширина и высота), заданный для запроса объявления, должен соответствовать размерам представления объявления (GAMBannerView), которое показывается в приложении. Чтобы задать собственный размер, используйте GADAdSizeFromCGSize.
Swift
// Define custom GADAdSize of 250x250 for GAMBannerView.
let customAdSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))
bannerView = GAMBannerView(adSize: customAdSize)
Objective-C
// Define custom GADAdSize of 250x250 for GAMBannerView
GADAdSize customAdSize = GADAdSizeFromCGSize(CGSizeMake(250, 250));
self.bannerView = [[GAMBannerView alloc] initWithAdSize:customAdSize];
Несколько размеров объявлений
В Менеджере рекламы можно указать несколько размеров объявлений, которые могут показываться в GAMBannerView. Чтобы использовать эту функцию, выполните три шага:
В интерфейсе Менеджера рекламы создайте позицию с таргетингом на тот же рекламный блок, который связан с креативами разных размеров.
В приложении задайте свойство
validAdSizesдля объектаGAMBannerView:Swift
// Define an optional array of GADAdSize to specify all valid sizes that are appropriate // for this slot. Never create your own GADAdSize directly. Use one of the // predefined standard ad sizes (such as GADAdSizeBanner), or create one using // the GADAdSizeFromCGSize method. // // Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note // that all desired sizes should be included in the validAdSizes array. bannerView.validAdSizes = [NSValueFromGADAdSize(AdSizeBanner), NSValueFromGADAdSize(AdSizeMediumRectangle), NSValueFromGADAdSize(adSizeFor(cgSize: CGSize(width: 120, height: 20)))]Objective-C
// Define an optional array of GADAdSize to specify all valid sizes that are appropriate // for this slot. Never create your own GADAdSize directly. Use one of the // predefined standard ad sizes (such as GADAdSizeBanner), or create one using // the GADAdSizeFromCGSize method. // // Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note // that all desired sizes should be included in the validAdSizes array. self.bannerView.validAdSizes = @[ NSValueFromGADAdSize(GADAdSizeBanner), NSValueFromGADAdSize(GADAdSizeMediumRectangle), NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSizeMake(120, 20))) ];Реализуйте метод
GADAdSizeDelegate, чтобы обнаруживать изменение размера объявления.Swift
public func bannerView(_ bannerView: BannerView, willChangeAdSizeTo size: AdSize)Objective-C
- (void)bannerView:(GAMBannerView *)view willChangeAdSizeTo:(GADAdSize)size;Не забудьте задать делегата до того, как запрашивать объявление.
Swift
bannerView.adSizeDelegate = selfObjective-C
self.bannerView.adSizeDelegate = self;