2016-09-03 4 views
1

앱 대리인으로부터 삽입 광고를 구현했으며 정상적으로로드 중입니다. 이제 구매 버튼을 제거하고 혼란 스럽습니다.앱 위임 인앱 구매에서 삽입 광고를 삭제하는 방법

class AppDelegate: UIResponder, UIApplicationDelegate, GADInterstitialDelegate { 

var window: UIWindow? 
var myInterstitial: GADInterstitial! 


func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 


    // Override point for customization after application launch. 

    myInterstitial = createAndLoadInterstitial() 
    return true 
} 

func createAndLoadInterstitial()->GADInterstitial { 
    let interstitial = GADInterstitial(adUnitID: "xxxxx") 
    interstitial.delegate = self 

    interstitial.loadRequest(GADRequest()) 
    return interstitial 
} 

func interstitialDidReceiveAd(ad: GADInterstitial!) { 
    print("interstitialDidReceiveAd") 
} 

func interstitial(ad: GADInterstitial!, didFailToReceiveAdWithError error: GADRequestError!) { 
    print(error.localizedDescription) 
} 

func interstitialDidDismissScreen(ad: GADInterstitial!) { 
    print("interstitialDidDismissScreen") 
    myInterstitial = createAndLoadInterstitial() 
} 

과의 ViewController :

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 

override func viewWillAppear(animated: Bool) { 


    appDelegate.myInterstitial?.presentFromRootViewController(self) 

} 
+0

을 그리고 당신에 대한 혼란 무엇 : 위해

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. let userAlreadyPaid = NSUserDefauls.standardUserDefaults().boolForKey("userAlreadyPaid") if !userAlreadyPaid { myInterstitial = createAndLoadInterstitial() } return true } 

앱 구입에 구현하는 방법은 공식 문서를 참조 할 수 있습니다 배울? 진짜 질문은 무엇입니까? – Losiowaty

+0

광고를 구매할 때 광고를 삭제하는 방법은 무엇입니까? – Done

답변

2

좋아, 그래서 진짜 문제 존재 - 당신이 (코멘트에서)을 구입하면 광고를 제거하는 방법

여기 내 코드입니다.

그것은 아주 간단하게 달성 할 수있다 - 당신이 구입 당신이이 일을해야 성공한다는 확인을받은 후 :

  • 가 후속 응용 프로그램에서 이것에 대해 알 수 있도록 NSUserDefaults에 플래그를 설정
  • 를 시작합니다

    : 더 이상 광고는

이 코드 예제로 요약하면이 세션 중에 표시되지 않도록

  • nilmyInterstitial 설정 16,
    func paymentComplete() { 
        NSUserDefaults.standardUserDefaults().setBool(true, forKey: "userAlreadyPaid") 
        appDelegate.myInterstitial = nil 
    } 
    

    그리고 이런 일에 당신의 didFinishLaunchingWithOptions 방법을 업데이트 : https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html

  • +0

    'if userAlreadyPaid'가'didFinishLaunchingWithOptions'의'if! userAlreadyPaid'가'paymentComplete()'가 실행되기 전에 항상'false'가 될 것입니다. –

    +0

    당신은 완전히 옳습니다! 나는 그것을 잘못 입력 했음에 틀림 없다 - 고마워! – Losiowaty