2017-02-13 80 views
0

問題是,蘋果拒絕我的應用程序,因爲當點擊按鈕購買「無廣告」升級時,它不會使橫幅消失,直到您關閉應用程序並重新-打開它。這是因爲我初始化了viewController.swift文件中的所有RevMob代碼。我有一個布爾值,只要在這個viewController.swift文件內購買升級,就會變成false。因此,下次打開應用程序並加載viewController時,布爾值將設置爲false,並且不允許展示廣告。在應用程序內購買時刪除RevMob廣告橫幅

有人知道這是否是錯誤的方式去做這件事?還是有一種簡單的方法,讓他們在按下無廣告按鈕後立即消失,而無需關閉應用程序並重新打開它?

//BANNER AD ======================================= 
let bannerBlock:() -> Void = { 
    //Custom method defined below 
    if UserDefaults.standard.object(forKey: "adsBool") as! Bool == true 
    { 
     self.showBannerWithCustomFrame() 
    } 
     else 
    { 
     //don't show ads because user purchased 
    } 
} 
let bannerFailBlock: ((Error?) -> Void) = {error in 
    NSLog("[RevMob Sample App] Session failed to start with error: \(error!.localizedDescription)") 
} 
RevMobAds.startSession(withAppID: "00000000000000000000", 
    withSuccessHandler: bannerBlock, 
    andFailHandler: bannerFailBlock) 

這是我bannerView如何設置在我GameViewController

class GameViewController: UIViewController, RevMobAdsDelegate { 
    var bannerView:RevMobBannerView? 

    override func viewDidLoad() { 
    super.viewDidLoad() 

回答

1

RevMob's banner documentation,有一個名爲hideAd方法。在IAP回調中調用該方法可以解決您的問題嗎?

要隱藏廣告: banner!.hideAd()

+0

我試過,但因爲我在我的viewController中定義它,它不起作用。我可能不得不使用變量來使其成爲全局變量。我已經嘗試過,但它有點東西了。雖然可能是一種解決方法。 –

1

讓我看看,如果我得到你的問題正確,要儘快購買,則隱藏自己的旗幟。

首先,您需要將bannerView設置爲viewController的屬性。

然後,你必須回調內從購買成功添加以下代碼:
viewController.bannerView.removeFromSuperview();

+0

我得到這個錯誤嘗試:實例成員'bannerView'不能用於類型'GameViewController' –

+0

我上面添加到我的問題如何設置我的變量 –

0

我定了!謝謝你的幫助。我必須將代碼從GameViewController移動到bannerAd的GameScene,以便在購買後立即將其刪除。完美的作品。