将iAd用作默认广告网络,如果iAd失败则使用AdMob

时间:2010-09-02 23:30:04

标签: iphone iad admob

我已经以这种方式构建了我的应用程序,一切似乎都在或多或少地起作用。在听说臭名昭着的低iAd填充率后,我认为这是最好的方法,但我尝试使用谷歌搜索,我无法找到其他人在他们的应用程序中实现广告的记录。这是否违反了服务条款?

6 个答案:

答案 0 :(得分:10)

为什么不使用Adwhirl。它伟大的sdk使您能够完全满足您的需求。您可以为不同的广告网络设置优先级设置,如果您发现一个网络性能优于其他网络,则可以动态更改。

它处理基于请求失败或优先级显示广告的所有逻辑,而无需担心。您所做的就是创建一个adwhirl视图并请求广告。 Adwhirl完成剩下的工作,包括适当的清爽。如果iAd第一次失败,然后显示一个admob,但下一个iAd成功加载,则会显示而不是admob,假设您将iAd设置为更高优先级的网络。

http://adwhirl.com

答案 1 :(得分:3)

您是否通过将可见设置为NO来隐藏ADBannerView?使用ADBannerView,如果将可见设置为NO,则会停止询问广告。要“隐藏”ADBannerView,您需要将其转换到屏幕外的某个位置。

答案 2 :(得分:3)

您可以使用这些控件来显示iAd和adMob

iAdPlusAdMob

CJPAdController

或者这是一个很好的tut,一步一步解释

http://mobile.tutsplus.com/tutorials/iphone/supplementing-iad-placement-with-admob/

答案 3 :(得分:1)

我有iAds和Admob。

我强烈建议首先加载iAd,如果你没有广告使用admob。如果你收到广告,iAd的有效每千次展示费用会高于admob。请记住,iAd会每30秒刷新一次,因此多次调用未获取广告的方法。

我的应用程序已经获得批准,你可以获得它,Octopus Oracle。 http://kurl.ws/Ay

答案 4 :(得分:1)

您可以使用AdWhirl 它最好的教程就在这里 Tutorial

答案 5 :(得分:0)

我最终采用了这个策略:

首先,我从故事板创建了2个出口,一个用于JFileChooser myFileChooser = new JFileChooser(); if(myFileChooser.getCurrentDirectory().getPath().equals("C:/")){ System.out.println("saving file here is not allowed"); } ,另一个用于ADBannerView

GADBannerView

在viewDidLoad中,你可以这样做:

@IBOutlet weak var iadBannerView: ADBannerView!
@IBOutlet weak var adMobBannerView: GADBannerView!

所以在这里您隐藏了两个横幅(如果您愿意,可以直接在故事板中进行)。然后你等待35秒才能显示谷歌广告。因此,在显示Google广告之前,您基本上希望了解iAD是否可用。

这是用于显示Google横幅的方法:

override func viewDidLoad() {
    super.viewDidLoad()
    self.iadBannerView.hidden = true
    self.adMobBannerView.hidden = true
    self.iadBannerView.delegate = self
    NSTimer.scheduledTimerWithTimeInterval(35, target: self, selector: Selector("dispalyGoogleBanner"), userInfo: nil, repeats: false)
}

因此,在显示Google横幅之前,我们会确保尚未显示iAD横幅和adMob横幅。如果是这种情况,那么我们可以发送请求以显示ADMob横幅。

这里是我 //MARK: - Google banner func dispalyGoogleBanner() { if !self.isDisplayIAD && !idDisplayADMob { idDisplayADMob = true self.adMobBannerView.adUnitID = kAdUnitID self.adMobBannerView.hidden = false self.adMobBannerView.rootViewController = self self.adMobBannerView.loadRequest(GADRequest()) } }

的实现
ADBannerViewDelegate

我基本上对这些代表做了什么,检查iAD横幅是否可用,如果是这样,那么我将隐藏adMob横幅。如果iAD完成显示广告,那么我将调用ADMob横幅广告,请参阅func bannerViewDidLoadAd(banner: ADBannerView!) { self.iadBannerView = banner self.iadBannerView.hidden = false self.adMobBannerView.hidden = true idDisplayADMob = false self.view.layoutIfNeeded() } func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { println(error) isDisplayIAD = false self.iadBannerView.hidden = true self.dispalyGoogleBanner() } func bannerViewActionDidFinish(banner: ADBannerView!) { self.iadBannerView = banner self.iadBannerView.hidden = true isDisplayIAD = false dispalyGoogleBanner() } func bannerViewWillLoadAd(banner: ADBannerView!) { //remove the google banner if displayed isDisplayIAD = true self.iadBannerView.hidden = false self.adMobBannerView.hidden = true idDisplayADMob = false self.view.layoutIfNeeded() }

您可以轻松地调整此逻辑以实现您的实施。