2017-08-27 114 views
0

我用Xcode(swift)製作了一個應用程序,並且我在應用中實施了AdMob插頁式廣告,但我知道要顯示廣告的唯一方法是點擊按鈕,廣告會顯示想要在沒有任何按鈕點擊的情況下在webView中展示廣告,就像在某人在幾秒鐘後向下滾動廣告就會彈出一樣。那可能嗎?顯示無按鈕的AdMob插頁式廣告點擊ios

這是什麼我目前使用的

var interstital: GADInterstitial! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 


    interstital = GADInterstitial(adUnitID: "") 

    let request = GADRequest() 
    interstital.load(request) 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBAction func Ad(_ sender: Any) { 

    if (interstital.isReady) { 

     interstital.present(fromRootViewController: self) 
     interstital = CreateAd() 
    } 

} 



func CreateAd() -> GADInterstitial { 

    let interstital = GADInterstitial (adUnitID: "") 
    interstital.load(GADRequest()) 
    return interstital 
} 

回答

0

要做到這一點,你可以在一定時間量之後使用定時器,它允許你在你的情況下,執行功能,CreateAd()。在下面的示例中,我會在20-200秒後顯示插頁式廣告。要更改最小和最大間隔,只需更改這些數字即可。我也刪除了每次重新聲明插頁式廣告的部分,因爲在viewDidLoad中設置一次就足夠了。

class YourViewController: UIViewController { 
    var interstital: GADInterstitial! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     interstital = GADInterstitial(adUnitID: "") 

     let request = GADRequest() 
     interstital.load(request) 

     let randomTime = Double(arc4random() + 20).truncatingRemainder(dividingBy: 200.0) 
     Timer.scheduledTimer(timeInterval: randomTime, target: self, selector: #selector(YourViewController.CreateAd), userInfo: nil, repeats: false) 


    } 
    func CreateAd() -> GADInterstitial { 

     if (interstital.isReady) { 

      interstital.present(fromRootViewController: self) 
      let randomTime = Double(arc4random() + 20).truncatingRemainder(dividingBy: 200.0) 
      Timer.scheduledTimer(timeInterval: randomTime, target: self, selector: #selector(YourViewController.CreateAd), userInfo: nil, repeats: false) 
     } 
    } 
} 

我只好窩,而不是設置repeats爲true的間隔隨機每次做定時器。

+0

您好先生,但我看到的錯誤,不能轉換類型的值「Timeinterval.Type」(又名「Double.Type)預期的參數類型‘’一個時間間隔」(又名「雙') –

+0

首先感謝我遲到的回覆。我看到我忘記更新最後一行,現在應該可以解決問題。 – Eric

0

使用定時器,這裏是目標c的實現。這裏新的隨機計時器將在20秒到200秒內發射,一旦添加關閉。

self.interstitial = [self createAndLoadInterstitial]; 

double time = (arc4random() % 200) + 20; 
[NSTimer scheduledTimerWithTimeInterval:time target:self selector:@selector(showAdIfReady) userInfo:nil repeats:NO]; 
- (void)showAdIfReady { 
    if (self.interstitial.isReady) { 
     [self.interstitial presentFromRootViewController:self]; 

    } else { 
     NSLog(@"Ad wasn't ready"); 
    } 

} 
- (void)interstitialDidDismissScreen:(GADInterstitial *)interstitial { 
    self.interstitial = [self createAndLoadInterstitial]; 
    double time = (arc4random() % 200) + 20; 
    [NSTimer scheduledTimerWithTimeInterval:time target:self selector:@selector(showAdIfReady) userInfo:nil repeats:NO]; 
} 
相關問題