Добавление таймера для получения iAd Interstitial(Xcode,swift)

Я сделал так, что когда пользователи нажимают на одну кнопку, отображается промежуточная реклама, но я этого не хочу. Я хочу, чтобы, если пользователь использует приложение в течение 1 минуты, оно автоматически отображало рекламу, и после того, как пользователь снова закроет рекламу прийти через какое-то время.

вот мой код с кнопкой

var interAd = ADInterstitialAd()
var interAdView:UIView = UIView()

 var closeButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton


override func viewDidLoad() {
    super.viewDidLoad()

    closeButton.frame = CGRectMake(10, 10, 20, 20)
    closeButton.layer.cornerRadius = 10
    closeButton.setTitle("X", forState: .Normal)
    closeButton.setTitleColor(UIColor.blackColor(), forState: .Normal)
    closeButton.backgroundColor = UIColor.whiteColor()
    closeButton.layer.borderColor = UIColor.blackColor().CGColor
    closeButton.layer.borderWidth = 1
    closeButton.addTarget(self, action: "close:", forControlEvents:   UIControlEvents.TouchDown)
  }
   func close(sender: UIButton) {
     closeButton.removeFromSuperview()
    interAdView.removeFromSuperview()

}

func loadAd() {
    println("load Ad")
    interAd = ADInterstitialAd()
    interAd.delegate = self

}

func interstitialAdDidLoad(interstitialAd: ADInterstitialAd!) {
  println("ad did load")

    interAdView = UIView()
    interAdView.frame = self.view.bounds
    view.addSubview(interAdView)

    interAd.presentInView(interAdView)
    UIViewController.prepareInterstitialAds()

    interAdView.addSubview(closeButton)
}
  func interstitialAdDidUnload(interstitialAd: ADInterstitialAd!) {
    println("ad did not load")
}

   func interstitialAd(interstitialAd: ADInterstitialAd!, didFailWithError error: NSError!) {
    println("failed to recieve")
    println(error.localizedDescription)

    closeButton.removeFromSuperview()
    interAdView.removeFromSuperview()
}

@IBAction func ShowAds(sender: UIButton) {
    loadAd()

}

person Motivation gym5    schedule 25.09.2015    source источник
comment
объявление будет отображаться только один раз, когда пользователь загружает приложение?   -  person Dharmesh Kheni    schedule 25.09.2015
comment
Да, я хочу что-то подобное @dharmeshkheni   -  person Motivation gym5    schedule 25.09.2015


Ответы (1)


Два способа выполнить ваше требование.

Во-первых:

Вы можете использовать НОД:

override func viewDidLoad() {
    super.viewDidLoad()
    let triggerTime = (Int64(NSEC_PER_SEC) * 60)   // set delay you time here.
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, triggerTime), dispatch_get_main_queue(), { () -> Void in
        self.loadAd()
    })
}

Второе:

Вы можете использовать NSTimer:

override func viewDidLoad() {
    super.viewDidLoad()
     NSTimer.scheduledTimerWithTimeInterval(NSTimeInterval(60), target: self, selector: "loadAd", userInfo: nil, repeats: false)
}

Установите для параметра повтора значение false, если вы не хотите повторять его снова.

person Dharmesh Kheni    schedule 25.09.2015
comment
Можете ли вы объяснить мне 2-й метод? В какое время он придет ?@dharmeshkheni - person Motivation gym5; 25.09.2015
comment
Через 60 секунд он вызовет метод loadAd . - person Dharmesh Kheni; 25.09.2015
comment
И еще одна вещь, я не хочу, чтобы реклама появлялась при нажатии на кнопку. Я хочу, чтобы он отображался автоматически - person Motivation gym5; 25.09.2015
comment
то не вызывайте его в методе действия кнопки. - person Dharmesh Kheni; 25.09.2015