ios – 非页内广告iAd没有关闭’X’按钮
发布时间:2020-12-14 19:37:06 所属栏目:百科 来源:网络整理
导读:我正在使用 Swift在我的应用中实施插页式广告.我设法让它显示插页式广告,但没有关闭’X’按钮来摆脱广告.为什么是这样? 解决方法 我也找不到为什么内置框架不提供关闭按钮的答案,但我最终使用以下解决方案. //iAD interstitial definition with custom plac
我正在使用
Swift在我的应用中实施插页式广告.我设法让它显示插页式广告,但没有关闭’X’按钮来摆脱广告.为什么是这样?
解决方法
我也找不到为什么内置框架不提供关闭按钮的答案,但我最终使用以下解决方案.
//iAD interstitial definition with custom placeHolderView and close button //you do not need to add anything to interface builder. All is done with code var interstitial:ADInterstitialAd! var placeHolderView:UIView! var closeButton:UIButton! //Full Implemantation of iAD interstitial and delegate methods func cycleInterstitial(){ // create a new interstitial. We set the delegate so that we can be notified interstitial = ADInterstitialAd() interstitial.delegate = self; } func presentInterlude(){ // If the interstitial managed to load,then we'll present it now. if (interstitial.loaded) { placeHolderView = UIView(frame: self.view.frame) self.view.addSubview(placeHolderView) closeButton = UIButton(frame: CGRect(x: 270,y: 25,width: 25,height: 25)) //add a cross shaped graphics into your project to use as close button closeButton.setBackgroundImage(UIImage(named: "cross"),forState: UIControlState.Normal) closeButton.addTarget(self,action: Selector("close"),forControlEvents: UIControlEvents.TouchDown) self.view.addSubview(closeButton) interstitial.presentInView(placeHolderView) } } // iAd Delegate Mehtods // When this method is invoked,the application should remove the view from the screen and tear it down. // The content will be unloaded shortly after this method is called and no new content will be loaded in that view. // This may occur either when the user dismisses the interstitial view via the dismiss button or // if the content in the view has expired. func interstitialAdDidUnload(interstitialAd: ADInterstitialAd!){ placeHolderView.removeFromSuperview() closeButton.removeFromSuperview() interstitial = nil cycleInterstitial() } func interstitialAdActionDidFinish(_interstitialAd: ADInterstitialAd!){ placeHolderView.removeFromSuperview() closeButton.removeFromSuperview() interstitial = nil println("called just before dismissing - action finished") } // This method will be invoked when an error has occurred attempting to get advertisement content. // The ADError enum lists the possible error codes. func interstitialAd(interstitialAd: ADInterstitialAd!,didFailWithError error: NSError!){ cycleInterstitial() } //Load iAd interstitial func dislayiAdInterstitial() { //iAd interstitial presentInterlude() } func close() { placeHolderView.removeFromSuperview() closeButton.removeFromSuperview() interstitial = nil } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |