Видеообъявление AdMob в GADBannerView продолжает использовать ЦП после изменения вкладки в UITabBarController

Моя настройка:

Есть UITabBarController, На первой вкладке - есть UINavigationController с UITableViewController в качестве корневого viewcontroller.

В таблице UITableViewController одна из клеток содержит GADBannerView

В ячейку с bannerView я загружаю объявление так:

    var bannerView: GADBannerView = GADBannerView()
    ......
    bannerView?.adUnitID = "<my adUnitId>"
    bannerView?.adSize = kGADAdSizeMediumRectangle

    let request = GADRequest()
    request.contentURL = "<my site>"
    bannerView?.load(request)

Проблема:

Я заметил, что если объявление содержит видео / анимацию - после переключения между вкладками - загрузка процессора все еще остается высокой и остается на 15-20% постоянной нагрузки (до тех пор, пока вы не убьете приложение).

Фактическая реклама выглядит так:

Пара замечаний:

  • если вместо видеообъявления - есть статическое графическое объявление - нет проблем. Для меня эта проблема выглядит так, как будто есть некоторая "анимация паузы", которая не вызывается для видеообъявлений.
  • происходит как на iOS11, так и на iOS12
  • func adViewDidReceiveAd(_ bannerView: GADBannerView) не вызывается, т.е. фреймворк знает, что рекламы больше нет на экране

Вот как выглядят процессы (после перехода на другую вкладку без рекламы):

Версия AdMob:

"Firebase/AdMob", "~> 5.15.0 " (из кокоапод)

Любые предложения очень приветствуются.

0 ответов

Я столкнулся с той же проблемой и решил ее, удалив баннер каждый раз, когда реклама уходит с экрана, добавьте (повторно) добавьте ее, если она снова появится. Это может произойти в трех случаях:

  1. Ячейка прокручивается за пределы видимой области. Реализовано в:

tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath)

  1. Перейдите в подвид. Реализовано в:

viewWillDisappear

  1. Приложение переходит в фоновый режим. Добавить наблюдателя для appDidEnterBackground
Другие вопросы по тегам