繁体   English   中英

SWIFT ADMOB:加载失败:请求错误:无广告显示

[英]SWIFT ADMOB : Failed to load: Request Error: No ad to show

我实际上是在Swift中使用AdMob Reward开发iOS应用,当我尝试使用模拟器(iPhone 6、6s,7、8等)构建应用时,广告有效,并且我也收到以下消息:

收到了基于奖励的视频广告。

但是(因为总是有一个but),当我在自己的设备(iPhone 6)上构建应用程序时不起作用,并且出现以下错误消息:“基于奖励的视频广告无法加载:请求错误:没有要显示的广告。” 这是我的代码(很明显,我是通过“奖励广告Mob入门”中给出的示例更改广告ID的,但在我的应用中,我使用的是广告ID)。 我为示例选择的示例ID:ca-app-pub-3940256099942544 / 1712485313

let request = GADRequest()
    request.testDevices = [ kGADSimulatorID,"ca-app-pub-3940256099942544/1712485313"];
    rewardBasedVideo = GADRewardBasedVideoAd.sharedInstance()
    rewardBasedVideo?.delegate = self
    if rewardBasedVideo?.isReady == false {
        rewardBasedVideo?.load(GADRequest(), withAdUnitID: "ca-app-pub-3940256099942544/1712485313")
        adRequestInProgress = true
    }

并且

//ADMOB
// MARK: GADRewardBasedVideoAdDelegate implementation
func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd,
                        didFailToLoadWithError error: Error) {
    adRequestInProgress = false
    print("Reward based video ad failed to load: \(error.localizedDescription)")
}

func rewardBasedVideoAdDidReceive(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    adRequestInProgress = false
    print("Reward based video ad is received.")
}

func rewardBasedVideoAdDidOpen(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    print("Opened reward based video ad.")
}

func rewardBasedVideoAdDidStartPlaying(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    print("Reward based video ad started playing.")
}

func rewardBasedVideoAdDidClose(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    print("Reward based video ad is closed.")
}

func rewardBasedVideoAdWillLeaveApplication(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {
    print("Reward based video ad will leave application.")
}

func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd,
                        didRewardUserWith reward: GADAdReward) {
    print("Reward received with currency: \(reward.type), amount \(reward.amount).")
}
//ADMOB!

首先,您应该查看日志以获取真实设备的标识符

然后修复该行:

request.testDevices = [...]

像使用模拟器一样替换...,然后将其替换为真实设备的if,然后您会看到一个测试广告,您使用了广告单元ID,而不是设备ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM