我在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!)
。有人知道这个问题的解决方案吗? 最佳答案
如果未调用func adViewDidReceiveAd(_ bannerView: GADBannerView!)
,请检查GADBannerView
框架的尺寸。您的帧不应等于.zero
,我最近遇到了与您相同的问题。
如果您的bannerView有框架,请检查AdManager帐户中的尺寸。该尺寸应与bannerView的框架完全相同。
为了进行测试,您可以使用以下AdUnitId进行测试:ca-app-pub-3940256099942544/2934735716
More AdUnitId here