iAd在许多viewControllers中

时间:2012-03-04 18:04:07

标签: iphone ios xcode iad

我想在我的应用程序中添加许多ADBanner。首选:在所有视图控制器中共享一个横幅,或为每个viewController创建一个ADBanner?

2 个答案:

答案 0 :(得分:5)

如果您想为每个视图创建广告横幅并不重要。

但您需要记住文档中的最佳做法:

横幅广告查看最佳做法

  • 只有在打算将其显示给用户时才创建横幅视图。否则,它可能会循环播放广告并耗尽您的应用程序的可用广告列表。

  • 如果用户从带有横幅视图的内容屏幕导航到没有横幅视图的屏幕,并且您希望它们长时间位于该屏幕上,请删除横幅视图从视图层次结构中,将其委托设置为nil并在转换到新的内容屏幕之前释放它。更一般地说,避免在用户不可见时保持横幅视图。

  • 当您的应用程序创建横幅视图时,在视图实际显示广告之前会有一段延迟。如果您打算在短时间内仅对用户可见的内容屏幕上使用该横幅视图,则横幅可能没有足够的时间在用户完成与该内容屏幕的交互之前下载广告。相反,您的应用程序应创建单个横幅视图,并在整个用户界面中使用它。当用户在您的应用程序中导航时,您的应用程序会将横幅视图移动到任何预期显示横幅的屏幕上。 iAdSuite示例演示了如何实现此技术。

  • 当广告转换为富媒体体验时,iAd会消耗额外的内存,以便它可以向用户显示互动广告。此内存来自应用程序的可用内存。您的应用程序必须缩减其活动,以便通过发布在用户完成与广告交互后可以轻松重新创建的大型对象,使广告顺利运行并快速响应低内存条件。

答案 1 :(得分:3)

我更喜欢为广告创建单例类,并在显示时只调用每个视图中的相同视图。这样您就不必在每个视图上调用新广告。 我已经在这里发布了adwhirl的单例代码is it a good practice to delete the AdBannerView on viewWillDisappear and add it back on viewWillAppear?,你应该能够对iAd进行修改