2015-09-08 88 views
1

我一直试图做的问题与iAdAdmob旗帜下:配售的iAd和AdMob横幅引起

首先,我在故事板上放置的iAd在AdMob联播旗帜,我已经添加了所有必要的约束,如果iAd未能收到,我会显示Admob横幅,如果我收到了iAd,我会隐藏Admob,然后显示iAd横幅..等等。

问题不会发生所有的时间,而AdMob的横幅显示iAd的来了,推AdMob的横幅挂在了顶部没有隐藏它。但在代码中它应该隐藏它。这个问题发生后,隐藏和显示,隐藏和显示多次..

请检查以下屏幕截图。

enter image description here

ViewController代码:

@IBOutlet weak var Gbanner: GADBannerView! 
@IBOutlet weak var AbannerView: ADBannerView! 
override func viewDidLoad() { 
    super.viewDidLoad() 
    AbannerView.delegate = self 
    self.canDisplayBannerAds = true 
    showadmob() 
    // Do any additional setup after loading the view, typically from a nib. 


} 


func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 
    println("didFailToReceiveAdWithError") 
    AbannerView.hidden = true 
    Gbanner.hidden = false 
} 

func bannerViewActionDidFinish(banner: ADBannerView!) { 
    println("bannerViewActionDidFinish") 

} 

func bannerViewDidLoadAd(banner: ADBannerView!) { 
    println("bannerViewDidLoadAd") 
    Gbanner.hidden = true 
    AbannerView.hidden = false 

} 

func bannerViewWillLoadAd(banner: ADBannerView!) { 

    println("bannerViewWillLoadAd") 

} 


func showadmob(){ 

self.Gbanner.adUnitID = "somethingelsehere" 
self.Gbanner.rootViewController = self 
var request: GADRequest = GADRequest() 
self.Gbanner.loadRequest(request) 

} 

下载项目位置:https://yadi.sk/d/1VcjfJG9ixNZg

回答

1

如果你实现自己的ADBannerView那么你需要从您的viewDidLoad删除self.canDisplayBannerAds = true

self.canDisplayBannerAds = true可用于在您的应用程序中实现iAd横幅的无障碍方式。这将为您创建一个ADBannerView,并根据它是否从iAd网络收到广告来显示或隐藏ADBannerView

你要么实现自己的ADBannerView或使用self.canDisplayBannerAds = true,不能同时使用。