Admob adViewDidReceiveAd在TableViewCell中不起作用

时间:2019-08-09 20:21:03

标签: swift admob tableview

我在TableView单元格中有一个Admob横幅。一切似乎都正常,但是当我尝试使func adViewDidReceiveAd(_ bannerView: GADBannerView!)正常工作时。到目前为止,这是我的代码:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Ad_Cell", for: indexPath) as! Native_Ad_TableViewCell

        cell.bannerView.adUnitID = "xx-xxx-xxx-xxxxxxxxxxxxxxxxx"
        cell.bannerView.rootViewController = self
        cell.bannerView.load(GADRequest())
        cell.bannerView.delegate = self

        return cell
}

在我的tableviewCell中:

class Native_Ad_TableViewCell: UITableViewCell, GADBannerViewDelegate {

    @IBOutlet weak var bannerView: GADBannerView!

    override func awakeFromNib() {
        super.awakeFromNib()
        bannerView.isHidden = true
    }

    func adViewDidReceiveAd(_ bannerView: GADBannerView!) {
        bannerView.isHidden = false
        print("Ad Loaded")
    } 
}
即使我知道广告已加载,也不会随时调用

func adViewDidReceiveAd(_ bannerView: GADBannerView!)。有人知道解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:0)

如果未调用func adViewDidReceiveAd(_ bannerView: GADBannerView!),请检查GADBannerView的框架尺寸。您的帧不应等于.zero,我最近遇到了与您相同的问题。

如果bannerView有框架,请检查AdManager帐户的大小。尺寸应与bannerView的框架完全相同。

要进行测试,您可以使用以下AdUnitId进行测试:ca-app-pub-3940256099942544/2934735716 More AdUnitId here