Как задать фиксированный размер баннера

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));

Пример баннера фиксированного размера

Swift Objective-C

Специальный размер объявления

Помимо стандартных рекламных блоков, 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. Чтобы использовать эту функцию, выполните три шага:

  1. В интерфейсе Менеджера рекламы создайте позицию с таргетингом на тот же рекламный блок, который связан с креативами разных размеров.

  2. В приложении задайте свойство 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)))
    ];
    
  3. Реализуйте метод GADAdSizeDelegate, чтобы обнаруживать изменение размера объявления.

    Swift

    public func bannerView(_ bannerView: BannerView, willChangeAdSizeTo size: AdSize)
    

    Objective-C

    - (void)bannerView:(GAMBannerView *)view willChangeAdSizeTo:(GADAdSize)size;
    

    Не забудьте задать делегата до того, как запрашивать объявление.

    Swift

    bannerView.adSizeDelegate = self
    

    Objective-C

    self.bannerView.adSizeDelegate = self;
    

Пример объявления с несколькими размерами

Swift Objective-C