我的 AdMob 广告已全部设置完毕并正常工作,但我想在它们首次加载时为它们制作动画。例如,我在屏幕底部正下方有一个横幅广告,当它加载时我希望它上。我现在拥有的动画:
UIView.animate(withDuration: 1, animations: {
self.banner.frame.origin.y -= 350
})
效果很好,但仅在广告加载速度足够快时才会向用户显示。我可以做什么检查?
您可以通过将
GADBannerView
的委托设置为所需的类来实现它,例如 self
视图控制器:
override func viewDidLoad() {
super.viewDidLoad()
// let's assume that you init the banner view somewhere in your code...
adMobBannerView.delegate = self
}
然后实现 adViewDidReceiveAd(_bannerView: GADBannerView!):
告诉代理广告请求已成功收到广告。这 如果代理可能希望将横幅视图添加到视图层次结构中 尚未添加。
添加动画代码,如下:
func adViewDidReceiveAd(_ bannerView: GADBannerView!) {
UIView.animate(withDuration: 1, animations: {
self.banner.frame.origin.y -= 350
})
}
Ahmad F 的解决方案有效,只是 adViewDidReceiveAd 函数现在命名为 BannerViewDidReceiveAd。