横幅 Google AdMob 在 Swift 中不工作
Banner Google AdMob is Not Working in Swift
我在我的应用程序中使用 Google AdMob banner。我创建了一个虚拟项目并在那里实现了横幅功能,它在那里工作正常,但是当我在我的实际应用程序中使用它时,它给我错误。错误是:
bannerView:didFailToReceiveAdWithError: Error
Domain=com.google.admob Code=1 "Request Error: No ad to show."
UserInfo={NSLocalizedDescription=Request Error: No ad to show.,
gad_response_info= ** Response Info **
Response ID: aIdaYsjKHfCJwuIP4KOQoAc
Network: (null)
** Mediation line items **
我的代码是:
import UIKit
import GoogleMobileAds
class DashBoardVC: UIViewController, GADBannerViewDelegate {
var bannerView: GADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
bannerView = GADBannerView(adSize: GADAdSizeBanner)
bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
bannerView.rootViewController = self
bannerView.load(GADRequest())
bannerView.delegate = self
}
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) {
addBannerViewToView(bannerView)
}
func bannerView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: Error) {
print("bannerView:didFailToReceiveAdWithError: \(error)")
}
func addBannerViewToView(_ bannerView: GADBannerView) {
bannerView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(bannerView)
view.addConstraints(
[NSLayoutConstraint(item: bannerView,
attribute: .bottom,
relatedBy: .equal,
toItem: bottomLayoutGuide,
attribute: .top,
multiplier: 1,
constant: 0),
NSLayoutConstraint(item: bannerView,
attribute: .centerX,
relatedBy: .equal,
toItem: view,
attribute: .centerX,
multiplier: 1,
constant: 0)
])
}
}
我在 stack overflow 上搜索了解决方案,他们说如果您创建一个新的横幅 adUnitID 有时需要 1 到 2 个小时,但现在已经 3 天了并且仍然收到此错误。
我不明白为什么它在实际应用程序中这样做,但在虚拟项目中,它一直运行良好。
有谁知道为什么会报错?
我得到了答案。这样做的原因是我在模拟器而不是实际设备上测试它。今天,我在IPhone 12 pro max 上测试了它,那里有广告。我认为模拟器存在一些问题,它无法加载广告。
我在我的应用程序中使用 Google AdMob banner。我创建了一个虚拟项目并在那里实现了横幅功能,它在那里工作正常,但是当我在我的实际应用程序中使用它时,它给我错误。错误是:
bannerView:didFailToReceiveAdWithError: Error
Domain=com.google.admob Code=1 "Request Error: No ad to show."
UserInfo={NSLocalizedDescription=Request Error: No ad to show.,
gad_response_info= ** Response Info **
Response ID: aIdaYsjKHfCJwuIP4KOQoAc
Network: (null)
** Mediation line items **
我的代码是:
import UIKit
import GoogleMobileAds
class DashBoardVC: UIViewController, GADBannerViewDelegate {
var bannerView: GADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
bannerView = GADBannerView(adSize: GADAdSizeBanner)
bannerView.adUnitID = "ca-app-pub-3940256099942544/2934735716"
bannerView.rootViewController = self
bannerView.load(GADRequest())
bannerView.delegate = self
}
func bannerViewDidReceiveAd(_ bannerView: GADBannerView) {
addBannerViewToView(bannerView)
}
func bannerView(_ bannerView: GADBannerView, didFailToReceiveAdWithError error: Error) {
print("bannerView:didFailToReceiveAdWithError: \(error)")
}
func addBannerViewToView(_ bannerView: GADBannerView) {
bannerView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(bannerView)
view.addConstraints(
[NSLayoutConstraint(item: bannerView,
attribute: .bottom,
relatedBy: .equal,
toItem: bottomLayoutGuide,
attribute: .top,
multiplier: 1,
constant: 0),
NSLayoutConstraint(item: bannerView,
attribute: .centerX,
relatedBy: .equal,
toItem: view,
attribute: .centerX,
multiplier: 1,
constant: 0)
])
}
}
我在 stack overflow 上搜索了解决方案,他们说如果您创建一个新的横幅 adUnitID 有时需要 1 到 2 个小时,但现在已经 3 天了并且仍然收到此错误。
我不明白为什么它在实际应用程序中这样做,但在虚拟项目中,它一直运行良好。
有谁知道为什么会报错?
我得到了答案。这样做的原因是我在模拟器而不是实际设备上测试它。今天,我在IPhone 12 pro max 上测试了它,那里有广告。我认为模拟器存在一些问题,它无法加载广告。