要解决AdMob奖励视频根视图控制器问题,你可以按照以下步骤进行操作:
确保已正确导入Google Mobile Ads SDK并设置AdMob广告单元ID。
在需要显示奖励视频的视图控制器中,导入Google Mobile Ads SDK:
import GoogleMobileAds
class ViewController: UIViewController, GADFullScreenContentDelegate {
// Your code here
}
var rewardedAd: GADRewardedAd?
override func viewDidLoad() {
super.viewDidLoad()
rewardedAd = GADRewardedAd(adUnitID: "your_ad_unit_id")
rewardedAd?.fullScreenContentDelegate = self
}
func loadRewardedAd() {
let request = GADRequest()
rewardedAd?.load(request)
}
func rewardedAd(_ rewardedAd: GADRewardedAd, didFailToLoadWithError error: Error) {
print("Rewarded ad failed to load: \(error.localizedDescription)")
}
func rewardedAdDidReceive(_ rewardedAd: GADRewardedAd) {
print("Rewarded ad loaded successfully")
}
func showRewardedAd() {
if let rewardedAd = rewardedAd {
rewardedAd.present(fromRootViewController: self) { [weak self] in
self?.rewardedAd = nil
}
} else {
print("Rewarded ad not ready yet")
}
}
在上面的代码中,present(fromRootViewController:completion:)
方法用于显示奖励视频广告,并在广告播放完成后将rewardedAd
对象设为nil。
这样,你就可以在根视图控制器中正确地加载和显示AdMob奖励视频广告了。记得在需要加载奖励视频之前调用loadRewardedAd()
方法来加载广告。
上一篇:Admob奖励广告内存泄漏