由于Apple在审核过程中未找到我的广告,我的iOS应用程序被拒绝了。我再次上传了我的应用程序,其中包含了如何查看广告的说明,并且今天已获批准。现在,一旦我的朋友和家人下载了该应用程序,就不会出现任何广告。我查看了我的AdMob帐户,没有出现任何展示,所以我不知道出了什么问题。有人发生过这件事吗?此外,自应用程序获得批准以来,它还没有24小时。自Apple批准后,我认为他们已经看过广告。在您选择照片后开始使用过滤器时,My application会显示广告。 AdMob显示61次展示,61次请求和100%填充率。
// Initialize Apple iAd banner
func initiAdBanner() {
iAdBannerView = ADBannerView(frame: CGRectMake(0, self.view.frame.size.height, 0, 0) )
iAdBannerView.delegate = self
iAdBannerView.hidden = true
view.addSubview(iAdBannerView)
}
// Initialize Google AdMob banner
func initAdMobBanner() {
if UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad {
// iPad banner
adMobBannerView.adSize = GADAdSizeFromCGSize(CGSizeMake(728, 90))
adMobBannerView.frame = CGRectMake(0, self.view.frame.size.height, 728, 90)
} else {
// iPhone banner
adMobBannerView.adSize = GADAdSizeFromCGSize(CGSizeMake(320, 50))
adMobBannerView.frame = CGRectMake(0, self.view.frame.size.height, 320, 50)
}
adMobBannerView.adUnitID = "AdMobPublisherID"
adMobBannerView.rootViewController = self
adMobBannerView.delegate = self
// adMobBannerView.hidden = true
view.addSubview(adMobBannerView)
var request = GADRequest()
adMobBannerView.loadRequest(request)
}
// Hide the banner
func hideBanner(banner: UIView) {
if banner.hidden == false {
UIView.beginAnimations("hideBanner", context: nil)
// Hide the banner moving it below the bottom of the screen
banner.frame = CGRectMake(0, self.view.frame.size.height, banner.frame.size.width, banner.frame.size.height)
UIView.commitAnimations()
banner.hidden = true
}
}
// Show the banner
func showBanner(banner: UIView) {
if banner.hidden == true {
UIView.beginAnimations("showBanner", context: nil)
// Move the banner on the bottom of the screen
banner.frame = CGRectMake(0, (self.view.frame.size.height-70) - banner.frame.size.height,
banner.frame.size.width, banner.frame.size.height);
UIView.commitAnimations()
banner.hidden = false
}
}
// iAd banner available
func bannerViewWillLoadAd(banner: ADBannerView!) {
println("iAd loaded!")
hideBanner(adMobBannerView)
showBanner(iAdBannerView)
}
// NO iAd banner available
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
println("iAd can't looad ads right now, they'll be available later")
hideBanner(iAdBannerView)
var request = GADRequest()
adMobBannerView.loadRequest(request)
}
// AdMob banner available
func adViewDidReceiveAd(view: GADBannerView!) {
println("AdMob loaded!")
hideBanner(iAdBannerView)
showBanner(adMobBannerView)
}
// NO AdMob banner available
func adView(view: GADBannerView!, didFailToReceiveAdWithError error: GADRequestError!) {
println("AdMob Can't load ads right now, they'll be available later \n\(error)")
hideBanner(adMobBannerView)
}
答案 0 :(得分:4)
广告现已出现在您的应用中。当您的申请获得Apple批准后,仍必须获得iAd团队的批准才能接收iAd广告。这可能需要几天时间。因此,您的申请中都没有显示您的广告。您可以通过转到设置>开发人员>并在开发设备上将填充率设置为0来进行测试。如果iAd最初无法加载,则不显示广告的原因是由于此功能:
// Show the banner
func showBanner(banner: UIView) {
if banner.hidden == true {
UIView.beginAnimations("showBanner", context: nil)
// Move the banner on the bottom of the screen
banner.frame = CGRectMake(0, (self.view.frame.size.height-70) - banner.frame.size.height,
banner.frame.size.width, banner.frame.size.height);
UIView.commitAnimations()
banner.hidden = false
}
}
您正在检查if banner.hidden == true
,但在加载iAd横幅之前,adMobBannerView
的{{1}}值永远不会设置为hidden
。在iAd团队批准之前,看到没有iAd横幅被加载,这种情况从未得到满足。在不支持iAd或iAd最初无法加载广告的国家/地区,此条件也永远不会。
此外,由于您在屏幕上和屏幕外设置动画,广告加载时会有很多跳。更优雅的方法是设置true
值的动画,这样用户就不会注意到广告何时发生变化。您还可以消除很多代码。我已经改写了你想要完成的事情,并对其背后的推理进行了评论。
alpha
如果iAd无法加载广告,则会优先支持iAd并退回到AdMob。您无需检查AdMob何时无法加载广告,因为其填充率几乎总是100%,如果没有AdMob广告,我怀疑是否有要展示的iAd广告。
答案 1 :(得分:-1)
您需要查看设备日志,以确定没有展示广告的原因。很有可能,此时广告服务器上没有可用的广告。
这是正常的事态,为什么你应该使用中介来确保你有一个备份网络。