Я установил размер своего баннера 320 * 50. Для дисплея Retina я установил его как 640 * 100. Он не отображает баннер вообще. Не могли бы вы сообщить мне, какую ошибку я сделал? Он работает, когда размер составляет 320 * 50, но не тогда, когда он равен 640 * 100.Размер баннера AdMob для дисплея сетчатки iphone
ответ
Используйте 320x50 на устройствах сетчатки. Это обязанность рекламной сети возвращаться с изображением 2x плотности, чтобы он вписывался в ваше устройство, а не вашей обязанностью сделать блок вдвое большим.
Да, вы используете тот же размер на устройствах Retina.
Однако вы не должны устанавливать конкретный размер вообще. Если вы решите конвертировать приложение в iPad, то ваш рекламный код внезапно перестанет работать, поскольку он будет растягиваться на полпути через экран.
Используйте размер смарт-баннера, и Admob будет работать для вас. Например, вот какой-то код из одного из моих приложений, который помещает баннер в нижней части экрана. Обратите внимание, в частности, на использование kGADAdSizeSmartBannerPortrait, это позволяет изменять размер рекламного баннера.
//Admob
// Available AdSize constants are explained in GADAdSize.h.
GADBannerView *bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
bannerView_.rootViewController = self;
bannerView_.adUnitID = @"ca-app-pub-xxxxxxxxx/xxxx";
// Position the ad at the bottom of screen.
// By default it would be postitioned at (0,0)
bannerView_.frame = CGRectMake(0,
self.view.frame.size.height - bannerView_.frame.size.height,
bannerView_.frame.size.width,
bannerView_.frame.size.height);
bannerView_.autoresizingMask =
UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleRightMargin;
[self.view addSubview:bannerView_];
// Initiate a generic request to load it with an ad.
GADRequest *request = [GADRequest request];
request.testDevices = [NSArray arrayWithObjects:
GAD_SIMULATOR_ID,
nil];
[bannerView_ loadRequest:request];