【发布时间】:2019-07-23 18:12:38
【问题描述】:
6 月,Admob 广告运行良好,AdMob 向我发送了一封带有验证 PIN 码的信函,让我验证我的身份和付款详情。
大约在 7 月初,几乎所有实时广告都停止在我的应用中展示。 我仍然发出相同数量的请求,但展示次数太少了,我已降至每天 0.00 英镑/0.01 英镑。 所有测试广告都能正常工作。
这个问题开始于我重命名我的应用时(仅在应用商店显示),但是;我的 AdMob 帐户中指向我的应用的所有链接都是正确的,因此名称更改似乎对其前端 UI 没有任何影响。
当我调试我的应用程序时,我会在输出部分看到警告列表:
- [I-ACS025031] AdMob 应用 ID 已更改。原始的,新的:(nil),AppId
我的 info.plist 中的“GADApplicationIdentifier”值与“新”应用 ID 相同。
- [I-ACS013003] 用户属性名称必须以字母开头:_ap
我没有设置任何用户属性,不知道这意味着什么。
我尝试了什么?
设置新的广告单元。
恢复到应用程序的旧版本。
通过表单联系了 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
提前感谢您的帮助!
【问题讨论】: