Не удается удалить баннер Admob из представления (iOS)

#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
}