2017-05-31 48 views
0

所以我有一個使用插頁式廣告的應用程序。具體來說,它是一個用Swift編寫的SpriteKit遊戲。如何釋放場景直至插頁式廣告被解散?

我有代碼設置,當用戶從遊戲對場景按下​​重放按鈕會出現一個廣告,然後將其變回遊戲場景重播的比賽。現在,當我遇到問題時,場景會在插播式廣告顯示時發生變化,但有時這種情況發生得不夠快,用戶可以再次點擊重新開始按鈕,導致遊戲崩潰。

有沒有辦法凍結屏幕和忽略任何水龍頭,而廣告被稱爲?廣告被解散後,只有場景發生變化?

按下重啓按鈕時的代碼;

if restartButton.contains(pointOfTouch) { 
    score = 0 
    ballMovementSpeed = 2 
    displayAd() 
    delay(2.0) { 
    self.restartScene() 
} 

我對位於interstitialDelegate的位置感到有點困惑。我試圖實現func interstitialDidDismissScreen(ad:GADInterstitial!){}來觸發更改回我的遊戲場景,並且在我解散廣告時沒有任何反應。

我曾嘗試將其放置在覆蓋FUNC didMove(查看:SKScene){}以及當按下重新啓動按鈕,但仍無法正常工作。這就是我有廣告被稱爲

fun loadAndShow() { 
    myAd = GADInterstitial() 
    let requestI = GADRequest() 
    myAd.setAdUnitID("adID") 
    requestI.testDevices = [kGADSimulatorID, "test device"] 
    myAd.delegate = self 
    myAd.load(requestI) 
} 

func interstitialDidReceiveAd(_ ad: GADInterstitial) { 
    if (self.myAd.isReady) { 
    myAd.present(fromRootViewController: self) 
    } 
} 
+0

代碼請..... –

+0

你好Simone Pistecchia我已添加代碼 – Trlewi

+0

我認爲你必須刪除延遲(2.0)self.restartScene()。當廣告被解僱時有一個代表,使用該功能重新啓動場景 –

回答

1

您可以使用AdMob的委託方法,所以當間質將被顯示,您可以刪除重啓按鈕,或者把一個條件,這樣是行不通的時候廣告所示。如果使用isPaused bool運行,暫停遊戲也很重要。 https://developers.google.com/admob/ios/ad-events

+0

如果這提供了答案,你可以接受這個答案。 –