2014-11-13 3 views
0

Я добавляю покупку в приложении в свою игру, построенную на Swift. Я не знаю objc, очень не говоря уже о Свифте, поэтому для меня это всего лишь опыт обучения. Я добавил в приложения покупки и рекламы, теперь я пытаюсь подтвердить покупку, а затем удалить admob объявлений.Как скрыть объявления admob с помощью Swift?

Вот мой текущий контроллер вид: http://pastebin.com/t5KVvn6H

Я пытаюсь использовать что-то вроде, чтобы проверить, если покупка будет завершена:

if NSUserDefaults.standardUserDefaults().boolForKey("noAds") { 
} 

Что я интересно, я положил, что в viewDidLoad, правильно? Итак, теперь мне нужна помощь, что нужно, чтобы скрывать рекламу. Я читаю, я могу использовать:

admobBannerView.removeFromSuperView() но есть идея, как работать с ним в синтаксисе или как создавать экземпляры. Любая помощь будет принята с благодарностью!

// Remove Ads 
    if NSUserDefaults.standardUserDefaults().boolForKey("noAds") { 
     ADBannerView().removeFromSuperview() 
     GADBannerView().removeFromSuperview() 
     admobBannerView.removeFromSuperview() <--- gives me error: use of unresolved identifer admobBannerView 
    } 

admobBannerView ссылается на ViewController. Я действительно новичок.

ответ

-1

Глядя на ваш код, admobBannerView существует только в вашей функции createBanner. Если вы пытаетесь ссылаться на него где-нибудь еще в своем коде, например, в viewDidLoad, это не сработает - если вы не сделаете его переменной экземпляра, как ваш _iAdView и другие.

0

Что говорит Кассандра правильно. Вам просто нужно сделать

var admobBanner = UIView() 

в верхней части ViewController, со всеми другими переменными, у вас есть:

var _winSize:CGSize!; 

var _isGoingUp:Bool=false; 
var _isFirstTap:Bool=true; 
var _isInitialJump:Bool=true; 
var _isGameOver:Bool=false; 

var _jumpNo:Int=0; 
var _colorIndex:Int=0; 

var _fallVelocity:CGPoint!; 
var _jumpVelocity:CGPoint!; 
var _lineMoveSpeed:CGPoint!; 

... и т.д.

Поместите переменную там, то в func createBanner():

func createBanner() { 
    if (kBanner == .GoogleBanner) { 
     var admobBannerView = GADBannerView(adSize: isIpad() ? kGADAdSizeSmartBannerPortrait : kGADAdSizeBanner); 
     admobBannerView.rootViewController = self; 
     admobBannerView.adUnitID = kGoogleBannerAppUnitID; 
     admobBannerView.delegate = self; 
     self.view.addSubview(admobBannerView); 
     var request = GADRequest(); 
     //request.testDevices = ["600ecccd6a1c2a4750952facf253ea2f"]; 
     admobBannerView.loadRequest(request); 
     admobBannerView.frame = CGRectMake(0, _winSize.height, _winSize.width, admobBannerView.frame.size.height); 

     //************************************************** 
     admobBanner = admobBannerView 
     //************************************************** 

    } 

Тогда ваши удалить объявления будет работать, делая admobBanner.removeFromSuperview() , потому что все, что вам нужно, было некоторым указателем на ссылку с баннером admob.

ПРИМЕЧАНИЕ: если вы попробуете admobBanner.removeFromSuperview(), прежде чем вы назовете createBanner(), скорее всего получите сообщение об ошибке

Смежные вопросы