Когда я запускаю свое приложение, я вижу свой iAd в симуляторе, который предварительно заполнен «Тестовой рекламой».

Однако, когда я запускаю приложение на своем устройстве, область iAd остается пустой, без предварительно заполненной рекламы.

Почему это?

Мой iAd находится в UITableViewCell:

#import "iAdCell.h"


@implementation iAdCell
@synthesize adView;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
    if ((self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])) {
        adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
        adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];
        adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
        adView.delegate=self;
        [self.contentView addSubview:adView];
    }
    return self;
}


- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}


- (void)dealloc {
    [adView release];
    [super dealloc];
}


@end
0
Sheehan Alam 14 Сен 2010 в 22:06
Предоставьте дополнительную информацию. Вы скрываете рекламу при возникновении ошибки в соответствии с рекомендациями Apple? Если да, то есть ли у вас подключение к сети? И даже в этом случае может потребоваться несколько секунд, чтобы появиться, мне даже пришлось дольше ждать, пока появится тестовая реклама.
 – 
jer
14 Сен 2010 в 22:09

2 ответа

Лучший ответ

Редактировать после того, как спрашивающий добавил дополнительную информацию:

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


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

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

Возможно, это отображается на симуляторе, потому что симулятор на самом деле не имеет никакого представления о своем местоположении (например, «Карты» всегда показывают ваше местоположение как штаб-квартиру Apple в Купертино).

1
Jasarien 14 Сен 2010 в 22:11

Была та же проблема, что для меня решило проблему - просто удалить приложение с вашего устройства и переустановить из XCode.

0
Epaga 11 Мар 2012 в 22:43