6月份,Admob广告完美运行,AdMob向我发送了一封带有验证码的信,以验证我的身份和付款明细。
在7月初前后,几乎所有实时广告都停止在我的应用中展示。 我仍在发出相同数量的请求,但印象太少,以至于我每天的费用降到了£0.00 /£0.01。 所有测试广告都能正常运行。
这个问题始于我重命名应用程序的时间(仅在应用程序商店的显示屏上); AdMob帐户中指向我的应用程序的所有链接都是正确的,因此名称更改似乎对其前端用户界面没有影响。
调试应用程序时,在输出部分会显示警告列表:
我的info.plist中的“ GADApplicationIdentifier”值与“新”应用程序ID相同。
我没有设置任何用户属性,不知道这意味着什么。
我尝试了什么?
设置新的广告单元。
还原到该应用的旧版本。
通过表格联系了AdMob“支持”。他们告诉我,我的广告投放受到限制。他们没有说多久,大约2/3周(“有限”,我不认为他们意味着完全停止了。)
已检查我的帐户中是否违反了政策;什么都没有。
我用于展示广告的代码:
我创建了一个“ AdMobDisplayer”类,该类允许我设置和展示广告;这由每个视图控制器调用。例如,我的横幅广告代码:
视图控制器:
let adMobDisplayer = AdMobDisplayer()
@IBOutlet weak var bannerView: GADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
self.bannerView = self.adMobDisplayer.setupAdBannerView(self.bannerView, viewController: self, adUnitId: Constants.timerTabBannerAdId)
self.adMobDisplayer.displayBannerAd(self.bannerView)
}
AdMobDisplayer:
func setupAdBannerView(_ bannerView: GADBannerView, viewController: UIViewController, adUnitId: String, bannerViewDelgate: GADBannerViewDelegate? = nil) -> GADBannerView {
if(checkIfAdsAreDisabled()) {
return bannerView
}
/// Creates a new GADBannerView to be displayed in a view controller
bannerView.adUnitID = adUnitId
/// bannerView.adUnitID = Constants.testBannerAdId
bannerView.rootViewController = viewController
if let delegate = bannerViewDelgate {
bannerView.delegate = delegate
}
return bannerView
}
func displayBannerAd(_ bannerView: GADBannerView) {
if(checkIfAdsAreDisabled()) {
return
}
///Creates a request and loads an advert from AdMob
let request = GADRequest()
request.testDevices = [ "My Device Id" ]
bannerView.load(request)
}
这应该在视图中显示横幅广告。当我第一次添加广告时,它就起作用了,它适用于测试广告,但是现在间歇地/很少地用于实时广告。
在我的GitHub上找到完整的应用程序:https://github.com/AlexMarchant98/KeGal-Trainer
在此先感谢您的帮助!
答案 0 :(得分:0)
我最近在上一个应用程序中使用GADBannerView,遇到了几乎类似的问题,在您的情况下,您可能需要从其网站生成Admob广告ID。
答案 1 :(得分:0)
所以我很久以前就解决了这个问题,但是,我的解决方法是将所需的“ NSAppTransportSecurity”键添加到我的info.plist中。
https://developers.google.com/admob/ios/app-transport-security