【问题标题】:How do I add advertisements into my game using iAd?如何使用 iAd 在我的游戏中添加广告?
【发布时间】:2015-08-11 00:38:28
【问题描述】:

我使用 SpriteBuilder 制作了一个游戏,它是用 Swift 编写的。我想在向 App Store 发布更新之前添加广告。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 你应该通过展示你试图做的事情来表现出一些努力。

标签: swift iad spritebuilder


【解决方案1】:

要将 iAd 添加到您的游戏中,您需要将 iAd 框架添加到您的应用程序(通过构建阶段),并在处理您的 iAd 实现的类中添加导入语句 import iAd。

添加到 Swift 游戏中的最简单的 iAd 广告是横幅广告:

override func viewDidLoad() {
super.viewDidLoad()
self.canDisplayBannerAds = true
}

确保导入 iAd 并将 AdBannerViewDelegate 协议添加到您的类声明中:

import iAd
class MasterViewController: UITableViewController, NSFetchedResultsControllerDelegate,ADBannerViewDelegate

然后您需要创建实际的横幅视图,设置委托(在 ViewDidLoad 中)并添加两个委托方法,以便您知道何时从视图中添加/删除广告横幅:

bannerViewDidLoadAd:
bannerView:didFailToReceiveAdWithError:

【讨论】:

  • 不要使用self.canDisplayBannerAds = true 并创建自己的ADBannerView。您将创建两个横幅广告。 self.canDisplayBannerAds = true 为您创建和管理ADBannerView。你要么使用self.canDisplayBannerAds = true,要么实现你自己的ADBannerView不是两者都
【解决方案2】:

这相当容易。

1) 导入 iAd 框架 >Build Phases> Link Binary With Libraries> 找到 iAd

2) 从对象库中拖出一个 iAd BannerView

3) 制作一个将 iAd BannerView 连接到您的 VC 文件的插座

4) 将委托添加到您的 VC 类中

import iAd

class ViewController: UIViewController, ADBannerViewDelegate{

@IBOutlet var adBannerView: ADBannerView?

override func viewDidLoad(){

    self.canDisplayBannerAds = true
    self.ADBannerView?.delegate = self
    self.ADBannerView.hidden = true

}

func bannerViewWillLoadAd(banner: AdBannerView!){ // any addition set up you want
}

func bannerViewDidLoadAd(banner: ADBannerView!){
    self.ADBannerView?.hidden = false
}

func bannerViewActionDidFinish(banner: ADBannerView!){// any addition set up you want
}

func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Boll) -> Bool {
    return true
}

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!){
    self.adBannerView?.hidden = false
}

}

当然,您必须调整以随时随地显示。

【讨论】:

  • 不要使用self.canDisplayBannerAds = true 并创建自己的ADBannerView。您将创建两个横幅广告。 self.canDisplayBannerAds = true 为您创建和管理ADBannerView。你要么使用self.canDisplayBannerAds = true,要么实现你自己的ADBannerView不是两者都
猜你喜欢
  • 2014-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-16
相关资源
最近更新 更多