2014-12-02 28 views
2

我正在嘗試使用swift實現ios的亞馬遜廣告。亞馬遜提供的代碼是在目標C中,我試圖將其鏡像到迅捷但未能如願。方法「adViewDidLoad」和「adViewDidFailToLoad」,這是在Objective C的工作已停止工作迅速,但功能「viewControllerForPresentingModalView」,跨兩個languages.Here工作是我的代碼片段斯威夫特亞馬遜廣告不工作在ios

@IBOutlet弱var amazonAdView:AmazonAdView!

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    var option1 = AmazonAdOptions() 
    option1.isTestRequest = false 
    amazonAdView.delegate = self 

    self.amazonAdView.loadAd(option1) 

} 

func viewControllerForPresentingModalView() -> UIViewController { 
    println("........here.......") 
return self; 
} 


func adViewDidLoad(View : AmazonAdView) { 
    println("........here.1......") 
NSLog("Successfully loaded an ad"); 
} 


// @optional 
func adViewDidFailToLoad(View :AmazonAdView , withError: AmazonAdError) { 
NSLog("Ad Failed to load. Error code ") 
} 

感謝

回答

0

我一直有類似的鬥爭,很困惑,是否其亞馬遜,還是我。我按如下方式實現了它,並且有時會出現廣告,我不確定是什麼導致它不時出現,並且它不會像委託函數失敗時那樣跳出委託函數。我已經在這個設置上工作了好幾天,只要我把旗子翻過來,它就再也沒有出現過。所以我不確定這是否與它有關。

func setupAmazonAd(){ 
    if(testAmazonAd != nil){ 
     testAmazonAd?.removeFromSuperview() 
    } 
    testAmazonAd = AmazonAdView(adSize: AmazonAdSize_320x50) 

    var adOptions = AmazonAdOptions() 
    // During development, you must tell the framework that the 
    // app is not a production version 
    adOptions.isTestRequest = true 
    testAmazonAd!.delegate = self 
    self.view.addSubview(self.testAmazonAd!) 
    self.view.bringSubviewToFront(self.testAmazonAd!) 
} 

func viewControllerForPresentingModalView() -> UIViewController! { 
    return self 
} 

func adViewWillExpand(view: AmazonAdView!) { 
    println("Will present modal view for an ad. Its time to pause other activities.") 
} 

func adViewDidCollapse(view: AmazonAdView!) { 
    println("Modal view has been dismissed, its time to resume the paused activities.") 
} 

func adViewDidLoad(view: AmazonAdView!) { 
    println("Successfully loaded an ad") 
} 

func adViewDidFailToLoad(view: AmazonAdView, error:AmazonAdError){ 
    println("Failed to Load") 
}