Минимальная цель развертывания
Первый вопрос: Какова разумная цель минимального развертывания? Поскольку это универсальное приложение, нам следует использовать iOS 4.2, поскольку это первая версия, объединенная между iPhone и iPad.
Возникает вопрос: какую долю кликающих по рекламе клиентов мы теряем? Например, стоит ли поддерживать 4.0 только для того, чтобы получить дополнительные 15% клиентов?
http://insights.chitika.com/2011/ios-update-ipads-iphones-running-high-rate-of-ios-4/ показывает, что вы по-прежнему выбираете 80% кликающих по рекламе клиентов, если выбираете 4.2.
Очевидно, что эта доля будет увеличиваться со временем, поэтому я остановлюсь на самом простом варианте кодирования, а не на том, чтобы выжать из рынка все до последней копейки.
Это имеет дополнительное преимущество:
// Supported sizes of banner ads available from ad server. Dimensions are in points, not pixels.
// The dimensions are part of the value names to assist with design-time planning for view layout.
extern NSString * const ADBannerContentSizeIdentifier320x50 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_4_0,__IPHONE_4_2);
extern NSString * const ADBannerContentSizeIdentifier480x32 __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_4_0,__IPHONE_4_2);
extern NSString * const ADBannerContentSizeIdentifierPortrait __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_2);
extern NSString * const ADBannerContentSizeIdentifierLandscape __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_4_2);
т.е. мы можем использовать новые символы, которые являются общими (т.е. работают как для iPhone, так и для iPad)
strPortrait = ADBannerContentSizeIdentifierPortrait; // ADBannerContentSizeIdentifier320x50;
strLandscape = ADBannerContentSizeIdentifierLandscape; // ADBannerContentSizeIdentifier480x32;
Баннер может быть горизонтальным или вертикальным , поэтому вам необходимо загрузить:
[self.adBannerView setRequiredContentSizeIdentifiers:
[NSSet setWithObjects: strPortrait, strLandscape, nil]
];
Затем, когда экран поворачивается на 90 °, AdBannerView необходимо указать:
[self.adBannerView setCurrentContentSizeIdentifier: isLandscape ? strLandscape : strPortrait ];
Сразу после того, как это установлено, вы можете запросить self.adBannerView.frame и получить новый размер