【问题标题】:amazon ads for swift not working in ios用于 swift 的亚马逊广告在 ios 中不起作用
【发布时间】:2014-12-02 07:47:59
【问题描述】:

我正在尝试使用 swift 为 ios 实现亚马逊广告。亚马逊提供的代码在 Objective C 中,我尝试将其镜像到 swift 但未能这样做。以下方法“adViewDidLoad在Objective C中工作的strong>“和“adViewDidFailToLoad”已经停止在swift中工作,但是函数“viewControllerForPresentingModalView”在两种语言中都可以工作。这里是sn-p我的代码

@IBOutlet 弱变量 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 ")
}

谢谢

【问题讨论】:

    标签: ios iphone swift


    【解决方案1】:

    我也遇到过类似的问题,很困惑是亚马逊还是我。我按如下方式实现它并且广告有时会出现,我不确定是什么导致它有时不出现,并且它不会像失败时那样触发委托功能。我让它在这个设置上工作了几天,一旦我将标志投入生产,它就再也没有出现过。所以我不确定这是否与它有关。

    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")
    }
    

    【讨论】:

      猜你喜欢
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多