2010-08-04 5 views
0

Какова наилучшая практика размещения объявлений в ячейках просмотра таблицы? Вот мой код, который работает до тех пор, пока баннер не получит событие transitionToNextBanner, а затем сбой моего приложения.ADBannerView in UITableViewCell

UITableViewCell *cell = [tableVw dequeueReusableCellWithIdentifier:@"BannerAdCellIdentifier"]; 
if (cell == nil) { 
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"BannerAdCellIdentifier"] autorelease]; 
} 
[[cell viewWithTag:9999] removeFromSuperview]; 

ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]; 
adView.tag = 9999; 
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50]; 
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50; 
[cell addSubview:adView]; 
[adView release]; 

return cell; 

Я думал, так как я не устанавливаю делегата объявления, что это было бы безопасно от любых проблем, связанных с памятью.

ответ

1

Apple, скорее всего, отклонит ваше приложение, если вы разместите баннеры iAd в ячейках таблицы. Причина в том, что ячейки табличного представления имеют возможность многократно перемещаться и выходить из экрана (иногда это приводит к воссозданию/перезагрузке ячейки или ее содержимого).

Поскольку iAds оплачивают как за клик, так и за показ, это будет простой способ генерировать много впечатлений и получать больше денег за счет показов. Apple не собирается этого допускать.

В руководствах iAd указано, что баннеры iAd должны находиться в фиксированном месте, а не в виде прокрутки. В нем также указано, что если iAd не загружается по какой-либо причине, ваше приложение не должно оставлять пустое место, где оно было бы. Последний пункт может быть чисто эстетичным, я не знаю.

+0

Черт. Ты прав. Благодарю. –

Смежные вопросы