实时Admob广告突然停止在我的应用中显示

时间:2019-07-23 18:12:38

标签: ios swift admob

6月份,Admob广告完美运行,AdMob向我发送了一封带有验证码的信,以验证我的身份和付款明细。

在7月初前后,几乎所有实时广告都停止在我的应用中展示。 我仍在发出相同数量的请求,但印象太少,以至于我每天的费用降到了£0.00 /£0.01。 所有测试广告都能正常运行。

这个问题始于我重命名应用程序的时间(仅在应用程序商店的显示屏上); AdMob帐户中指向我的应用程序的所有链接都是正确的,因此名称更改似乎对其前端用户界面没有影响。

调试应用程序时,在输出部分会显示警告列表:

  1. [I-ACS025031] AdMob应用ID已更改。原始的,新的:(无), AppId

我的info.plist中的“ GADApplicationIdentifier”值与“新”应用程序ID相同。

  1. [I-ACS013003]用户属性名称必须以字母开头:_ap

我没有设置任何用户属性,不知道这意味着什么。

我尝试了什么?

  1. 设置新的广告单元。

  2. 还原到该应用的旧版本。

  3. 通过表格联系了AdMob“支持”。他们告诉我,我的广告投放受到限制。他们没有说多久,大约2/3周(“有限”,我不认为他们意味着完全停止了。)

  4. 已检查我的帐户中是否违反了政策;什么都没有。

我用于展示广告的代码:

我创建了一个“ 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

在此先感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我最近在上一个应用程序中使用GADBannerView,遇到了几乎类似的问题,在您的情况下,您可能需要从其网站生成Admob广告ID。

答案 1 :(得分:0)

所以我很久以前就解决了这个问题,但是,我的解决方法是将所需的“ NSAppTransportSecurity”键添加到我的info.plist中。

https://developers.google.com/admob/ios/app-transport-security