2017-08-27 25 views
0

私はXcode(迅速)でアプリを作ったが、アプリでAdMobインタースティシャル広告を実装したが、広告を表示するにはボタンをクリックして広告が表示されるいくつかの秒後に誰かがスクロールしているようなボタンをクリックせずにWebViewに広告を表示したい場合は、広告がポップアップします。それは可能ですか?ボタンをクリックしないでAdMobインタースティシャル広告を表示する

私は現在、あなたが時間の経過後、あなたのケースでは機能、CreateAd()を実行できるようにタイマーを使用できます。これを行うには

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

を使用していますいただきました!これです。下の例では、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) 
     } 
    } 
} 

私は巣にタイマーを持っていた代わりに、間隔をランダムにそれぞれの時間を作るためにtrueにrepeatsを設定します。

+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]; 
} 
関連する問題