如何在程序中添加iAd广告
2012-06-06 14:14
190 查看
从iOS 4开始,Apple增加了叫做 iAd 的架构,通过它我们可以在程序中提供Apple的广告服务。Apple会支付给开发者60%的广告收入。
iAd Framework中有例程,我们可以下载学习。这里,把简单的步骤说明一下 :
追加iAD Framework
首先,在Xcode的[Frameworks]中添加[iAd.framework]。
创建ADBannerView
广告的显示是在一个叫做ADBannerView的窗口中的。通过控制这个窗口可以控制广告的显示/隐藏。ADBannerView和一般的UIView没有什么两样,将其作为某个画面的subView,然后通过「frame」控制其显示的位置,大小。一般情况下,缺省iPhone上的话,竖屏是:横320pt, 竖50pt;横屏是:横480pt, 竖32pt。
下面的程序显示了ADBannerView的初始化过程,以父窗口的viewDidLoad中实现为例。
接下来,我们来实现ADBannerView的delegate。这里可以实现在父窗口的UIViewController子类中,也可以单独写一个ViewController。这里面实现了ADBannerView广告的读取,错误处理,全画面表示等delegate的处理设定。
下面实现在父窗口的ViewController中。
如上所示,这里增加了「ADBannerViewDelegate」protocol的实现。接下来看看都有哪些delegate接口。
以上都实现之后,我们来看看iAd广告的效果。
iAd Framework中有例程,我们可以下载学习。这里,把简单的步骤说明一下 :
追加iAD Framework
首先,在Xcode的[Frameworks]中添加[iAd.framework]。
创建ADBannerView
广告的显示是在一个叫做ADBannerView的窗口中的。通过控制这个窗口可以控制广告的显示/隐藏。ADBannerView和一般的UIView没有什么两样,将其作为某个画面的subView,然后通过「frame」控制其显示的位置,大小。一般情况下,缺省iPhone上的话,竖屏是:横320pt, 竖50pt;横屏是:横480pt, 竖32pt。
下面的程序显示了ADBannerView的初始化过程,以父窗口的viewDidLoad中实现为例。
- (void)viewDidLoad { ……【省略】…… // 初始化ADBannerView ADBannerView *adView = [[[ADBannerView alloc] initWithFrame:CGRectZero] autorelease]; adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; // 登陆ADBannerView的delegate,这里我们设定其父窗口自己 adView.delegate = self; // 在父窗口下方表示 adView.frame = CGRectOffset(adView.frame, 0, self.view.frame.size.height - self.adView.frame.size.height); // 添加到父窗口中 [self.view addSubview:adView]; }
接下来,我们来实现ADBannerView的delegate。这里可以实现在父窗口的UIViewController子类中,也可以单独写一个ViewController。这里面实现了ADBannerView广告的读取,错误处理,全画面表示等delegate的处理设定。
下面实现在父窗口的ViewController中。
#import <UIKit/UIKit.h> #import <iAd/iAd.h> @interface XXXViewController : UIViewController<UITextFieldDelegate, ADBannerViewDelegate> { ……【省略】…… }
如上所示,这里增加了「ADBannerViewDelegate」protocol的实现。接下来看看都有哪些delegate接口。
// 广告读取过程中出现错误 - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError * )error{ // 切换ADBannerView表示状态,显示→隐藏 // adView.frame = CGRectOffset(adView.frame, 0, self.view.frame.size.height); } // 成功读取广告 - (void)bannerViewDidLoadAd:(ADBannerView *)banner{ // 切换ADBannerView表示状态,隐藏→显示 // adView.frame = CGRectOffset(adView.frame, 0, self.view.frame.size.height - adView.frame.size.height); } // 用户点击广告是响应,返回值BOOL指定广告是否打开 // 参数willLeaveApplication是指是否用其他的程序打开该广告 // 一般在该函数内让当前View停止,以及准备全画面表示广告 - (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave { NSLog(@"bannerViewActionShouldBegin:willLeaveApplication: is called."); } // 全画面的广告表示完了后,调用该接口 // 该接口被调用之后,当前程序一般会作为后台程序运行 // 该接口中需要回复之前被中断的处理(如果有的话) - (void)bannerViewActionDidFinish:(ADBannerView *)banner { NSLog(@"bannerViewActionDidFinish: is called."); }
以上都实现之后,我们来看看iAd广告的效果。
相关文章推荐
- 如何在程序中添加iAd广告
- 如何在IPhone程序中集成iAd广告
- 如何在IPhone程序中集成iAd广告
- 如何在IPhone程序中集成iAd广告
- 如何在程序中加载iAD广告[转]
- 如何添加ECSHOP广告位置
- (ZZ)如何在SurfaceView中添加广告
- 对话框程序如何添加菜单栏
- 如何在VC++程序中添加播放声音模块——PlaySound函数的使用
- WPF:如何为程序添加splashScreen(初始屏幕)
- C# 安装程序制作,如何添加第三方DLL以及自定义的文件夹(如uploadFiles 文件夹)
- cocos2d-x 3.X 如何在android里添加广告
- android 如何添加 桌面图标 和 卸载程序后如何删除图标(二)
- 如何在你的CSDN 博客中添加广告代码(网赚)
- android如何添加桌面图标和卸载程序后自动删除图标
- Apple Mac OS X每日一技巧001:如何添加删除开机启动程序项
- [转]如何在移动设备程序中嵌入盈利广告,开始挣钱了 android iphone ipad 多平台支持
- 如何使用iAd在应用程序中展示Banner广告
- 如何将Android例子程序添加到Eclipse进行调试运行(转载)