iAd是开发免费软件一个不错的选择,现在将说明一下如何在Swift中使用iAd。
首先创建一个Simple View工程,在Storyboard中加入一个iAD BannerView,一个Label和一个Button,后两个可有可无。
在代码中建立链接关系,也可以直接用代码创建上述控件。
代码如下:
import UIKit
import iAd<span style="white-space:pre"> </span>//这个必须要
class ViewController: UIViewController,ADBannerViewDelegate {<span style="white-space:pre"> </span>//ADbannerViewDelegate这个也是必须的,iAd的方法都在里面
@IBOutlet var Labe1: UILabel!
@IBOutlet var iadView : ADBannerView!
@IBOutlet var Button1: UIButton!
@IBAction func Btn1Clicked(sender: AnyObject) {<span style="white-space:pre"> </span>//当“关闭广告”按钮点击时
UIView.animateWithDuration(0.1, animations: {self.iadView.alpha = 0.0})//这个只是实现动画效果,可以只用self.iadView.alpha = 0.0
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.iadView.delegate = self<span style="white-space:pre"> </span>//代理设为self
self.iadView.alpha = 0.0<span style="white-space:pre"> </span>//刚开始时可能由于网络等问题广告还没有加载出来,此时就应该隐藏广告条,否则留下一个白框
}
func bannerViewWillLoadAd(banner: ADBannerView!) {<span style="white-space:pre"> </span>//这个方法是广告即将载入时调用
self.Labe1.text = "Loading"
}
func bannerViewDidLoadAd(banner: ADBannerView!) {<span style="white-space:pre"> </span>//这个方法是广告载入完毕时调用
self.Labe1.text = "Loaded"
UIView.animateWithDuration(0.5, animations: {self.iadView.alpha = 1.0})
self.iadView.alpha = 1.0<span style="white-space:pre"> </span>//这时就应该设置alpha值为1,让广告显示出来
}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>//点击广告条时触发此方法,同时打开大的广告页面。注意:如果是游戏这时就应该暂停,否则用户就要喷你了。。。。
NSLog("should begin")
self.iadView.alpha = 1.0
return true<span style="white-space:pre"> </span>//如果返回false,则点击广告条时什么都不做
}
func bannerViewActionDidFinish(banner: ADBannerView!) {<span style="white-space:pre"> </span>//当点击大广告页面的关闭按钮后调用此方法
NSLog("finish")
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {<span style="white-space:pre"> </span>//广告加载失败时调用此方法
self.iadView.alpha = 0.0<span style="white-space:pre"> </span>//将广告条隐藏
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
本文是受AppCoda里文章Using iAd to Display Banner Ad in Your App的启发。
没有什么技术含量,我也是个Swift初学者,希望和我一样的初学者看到,能更快的将其应用到自己的App中~