2

我的设置:

有一个UITabBarController。在第一个选项卡中 - 有UINavigationController一个UITableViewController作为根视图控制器的。

在 的表格中UITableViewController,其中一个单元格包含GADBannerView

在带有横幅视图的单元格中,我正在加载这样的广告:

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

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

问题:

我注意到,如果广告包含视频/动画 - 在标签之间切换后 - CPU 使用率仍然很高,并且永远保持 15-20% 的负载(直到你杀死应用程序)。

实际广告如下所示:

在此处输入图像描述

几个观察:

  • 如果不是视频广告 - 有一个静态图像广告 - 没有问题。对我来说,这个问题看起来像是视频广告没有调用一些“暂停动画”。
  • 发生在 iOS11 和 iOS12 上
  • func adViewDidReceiveAd(_ bannerView: GADBannerView)没有调用,即框架知道广告不再出现在屏幕上

这是流程的样子(切换到另一个无广告标签后): 在此处输入图像描述

AdMob 版本:

'Firebase/AdMob'、'~> 5.15.0 '(来自 cocoapods)

任何建议都非常受欢迎。

4

1 回答 1

0

我遇到了同样的问题,并通过每次广告离开屏幕时删除横幅来解决它添加(重新)添加它,如果它再次可见。这可能在三种情况下发生:

  1. 单元格被滚动到可见区域之外。实施于:

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

  1. 导航到子视图。实施于:

viewWillDisappear

  1. 应用程序进入后台添加观察者appDidEnterBackground
于 2020-07-03T16:18:28.757 回答