Пример кода для admob на iPhone не показывает рекламу

Моя цель — создать баннер AdMob в приложении для iPhone. В качестве отправной точки все, что я хочу сделать, это успешно запустить пример кода, предоставленный Google. Я зарегистрировался в учетной записи AdMob и получил идентификатор издателя. Я загружаю образец кода, предоставленный Google, по адресу http://code.google.com/mobile/ads/docs/ios/fundamentals.html.

Я добавил следующее в верхнюю часть моего BannerExampleViewController.m:

#define MY_BANNER_UNIT_ID @"xxxxxxxxxxxxx3dc2"

Код работает без ошибок и предупреждений. Я не вижу никаких сообщений в консоли. Однако, когда я запускаю симулятор (4.2), я получаю просто серый экран без рекламы, как показано на снимке экрана Google. В документации указано, что в первый раз вам нужно подождать 2 минуты, но я ждал дольше и не получил никакого удовольствия.

Любые подсказки будут высоко оценены.

Спасибо,

Десси.


person Dessie    schedule 01.05.2011    source источник
comment
Вы выполнили все шаги на этой странице? Вы добавили все их файлы в свой проект? Вы добавили GADBannerView в качестве подпредставления в представление вашего контроллера представления? Приведенный выше #define ничего не сделает с вашим приложением. Он просто говорит компилятору: «Эй, когда вы компилируете, если вы видите MY_BANNER_UNIT_ID, замените этот текст на @xxxxxxxxxxx3dc2 (который, я полагаю, вы отредактировали, чтобы мы не видели ваш идентификатор, поскольку фактический идентификатор не будет иметь всех x в Это)   -  person Christian    schedule 01.05.2011
comment
Спасибо за предложения, я знаю, что это расплывчатый вопрос. Я следил за шагами так внимательно, как только мог. Я подозреваю, что баннер отображается, он просто за пределами экрана. Я добавил следующую строку сразу после выделения GADBannerView:   -  person Dessie    schedule 01.05.2011
comment
NSLog(@%d %d,bannerView_.center.x, bannerView_.center.y);. Я ожидал, что ответ будет примерно 0 430, но вывод на консоли — 0 1080295424. Разве это не странно? Если второе число относится к пикселям, оно будет далеко от видимой области. Я не знаю, что с этим делать. Кроме того, вы правы. В моем коде значение MY_BANNER_UNIT_ID представляет собой буквенно-цифровую строку, я просто вставил xs, чтобы защитить свою конфиденциальность.   -  person Dessie    schedule 01.05.2011


Ответы (2)


Итак, после дня безделья, я, кажется, решил свою проблему. Я просто хотел опубликовать свое решение на случай, если кто-то застрял в той же точке.

Когда я запускал образец кода по мере его выпуска, я получал пустое представление без сообщений об ошибках и без рекламы. Я, вероятно, должен был поместить некоторые сообщения NSLog в метод AdBannerDidReceiveAd или метод ошибки, и я получил бы ответ раньше. Как бы то ни было, самое главное, что я сделал, — это поместил мой рекламный запрос в тестовый режим. Я сделал это, заменив строку:

[bannerView_ loadRequest:[GADRequest request]];

с участием:

GADRequest *r = [[GADRequest alloc] init];
r.testing = YES;
[bannerView_ loadRequest:r];

Полное раскрытие: я не просто подумал об этом, я нашел это в техническом блоге Марка по адресу:

http://markstechstuff.blogspot.com/2011/04/gadrequest-test-mode-istesting.html

Спасибо, Марк,

Десси

person Dessie    schedule 03.05.2011
comment
да, я обнаружил то же самое несколько минут назад, но это не решило моего дела. - person Duck; 25.10.2011

Вызовите метод ниже в viewDidLoad:

-(void)addAdmob{
    bannerView = [[GADBannerView alloc]initWithAdSize:kGADAdSizeLargeBanner];
    bannerView.adUnitID = @"ca-app-pub-2256523967514###/##########";
    bannerView.rootViewController = self;
    [self.view addSubview:bannerView];
    [bannerView loadRequest: [GADRequest request]];
}
person pkc456    schedule 05.08.2014