#ios #delegates #admob #subview #banner
#iOS #делегаты #admob #вложенный просмотр #баннер
Вопрос:
Я внедрил Admob в свое приложение, но я заметил, что если в представлении Admob не отображается реклама, я не могу удалить ее из супервизора. Если на нем уже загружено объявление, оно просто остается там с загруженным объявлением, даже если устройство не подключено к Интернету. Это мой код:
self.admobBannerView = [[GADBannerView alloc] init];
self.admobBannerView.frame = CGRectMake(0.0,self.view.frame.size.height-50,
GAD_SIZE_320x50.width,
GAD_SIZE_320x50.height);
self.admobBannerView.adUnitID = @"...";
self.admobBannerView.rootViewController = self;
self.admobBannerView.delegate = self;
[self.view addSubview:self.admobBannerView];
[self.admobBannerView loadRequest:[GADRequest request]];
Затем делегат Admob
- (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error {
[self.admobBannerView removeFromSuperview];
}
Несмотря на вызов [self.admobBannerView removeFromSuperview]; баннер остается там, где он есть. Я не могу понять, почему это происходит. Приветствуется любая помощь.
Спасибо
Комментарии:
1. Привет @Wilky94 вы нашли решение этой проблемы? Если у вас есть, пожалуйста, поделитесь 🙂 Спасибо
Ответ №1:
У меня была такая же проблема, и я отладил иерархию представлений с помощью Xcode только для того, чтобы обнаружить, что существовало несколько GADBannerViews. Исправлен код для проверки, существовало ли уже рекламное представление, перед добавлением.
В вашем случае вы должны обернуть создание показа рекламы в:
if (self.admobBannerView != nil)
{
// create ad
}