接著在要使用此物件的類別上設(shè)定代理,并建立一個(gè)ADBannerView型態(tài)的物件。@interfaceAdBannerViewV" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

ADBannerView 的基本使用方法

系統(tǒng) 2400 0

?

本范例只著重在如何使用 ADBannerView 并沒有 iAD 的相關(guān)設(shè)定與申請(qǐng)流程,至于其他行動(dòng)廣告的部份大家可以參考 行動(dòng)廣告 Banner!讓你賺大錢 !一文。

?

?首先匯入 iAD Framework,并引用其標(biāo)頭檔,Xcode 4 Framework 匯入方式可以參考 Xcode 4 新增 Framework 的方法 一文。

?

?

    #import <iAd/iAd.h>
  
?

?接著在要使用此物件的類別上設(shè)定 ?代理,并建立一個(gè) ADBannerView 型態(tài)的物件。

     @interface AdBannerViewViewController : UIViewController  {
 ADBannerView *bannerView;
 }
  
??

?在功能方面,我們希望 ADBannerView 能夠與畫面的呈現(xiàn)方式一致(直立與傾置),并且在 ADBannerView 準(zhǔn)備好時(shí)能自動(dòng)彈出顯示,使用者也能自行切換是否要顯示此 ADBannerView。

?

?針對(duì)上述這些功能對(duì) ADBannerView 進(jìn)行初始化的動(dòng)作,其程式碼如下。

     //自定義的函式 Banner初始化(以畫面直立)
 - (void)initializeBanner {

 //以畫面直立的方式設(shè)定Banner于畫面底部
 bannerView = [[ADBannerView alloc]initWithFrame:CGRectMake(0.0, 430.0, self.view.frame.size.width, 50.0)];

 //此Banner所能支援的類型
 bannerView.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil];

 //目前的Banner 類型
 bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;

 //設(shè)定代理
 bannerView.delegate = self;

 //無(wú)法按下觸發(fā)廣告
 bannerView.userInteractionEnabled = NO;

 //設(shè)定偏位移量
 bannerView.frame = CGRectOffset(bannerView.frame, 0, 50);

 [self.view addSubview:bannerView];
 }
  
?

?現(xiàn)在我們有了一個(gè) ADBannerView,不過(guò)他的目前因?yàn)槠屏康年P(guān)系在畫面之外,暫時(shí)無(wú)法看到,所以下面程式碼使用動(dòng)畫的方式將 ADBannerView 移動(dòng)到畫面內(nèi),制作出類似彈出的效果。

     - (void)bannerViewAnimation {

 //動(dòng)畫設(shè)定
 [UIView beginAnimations:@"BannerViewAnimation" context:NULL];

 //以u(píng)serInteractionEnabled狀態(tài)排判斷bannerView是否在畫面內(nèi)
 if (bannerView.userInteractionEnabled) {
 bannerView.frame = CGRectOffset(bannerView.frame, 0, 50);
 } 
 else {
 bannerView.frame = CGRectOffset(bannerView.frame, 0, -50);
 }

 //開始動(dòng)畫
 [UIView commitAnimations];

 //將userInteractionEnabled做反向設(shè)定
 bannerView.userInteractionEnabled = !bannerView.userInteractionEnabled;
 }
  
?

?上述程式碼使用 userInteractionEnabled 這個(gè)參數(shù)來(lái)當(dāng)作判斷 ADBannerView 是否存在于畫面內(nèi)的依據(jù),并且使用類似開關(guān)的技巧,每一次執(zhí)行該函式都會(huì)得到一個(gè)反向的結(jié)果。由于我們希望 ADBannerView 準(zhǔn)備好時(shí)會(huì)自動(dòng)彈出來(lái),以及使用者也可以自行切換它,所以必須在下列兩個(gè)事件中呼叫上述函式。

     //使用者按鈕事件
 - (IBAction)onButtonPress:(id)sender {
 [self bannerViewAnimation];
 }

 //當(dāng)ADBannerView完成讀取廣告時(shí)會(huì)觸發(fā)的事件
 - (void)bannerViewDidLoadAd:(ADBannerView *)banner {
 [self bannerViewAnimation];
 }
  
?

?現(xiàn)在還剩下最后一個(gè)功能,就是 ADBannerView 能夠與畫面的呈現(xiàn)方式一致(直立與傾置),我們可以使用下列函式來(lái)重新設(shè)定 ADBannerView 的位置與他的類型。

     //畫面轉(zhuǎn)動(dòng)時(shí)呼叫的內(nèi)建函式
 - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {

 //還原bannerView預(yù)設(shè)值
 bannerView.userInteractionEnabled = NO;
 bannerView.frame = CGRectOffset(bannerView.frame, 0,0);

 //判斷畫面是否傾置
 if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
 bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
 bannerView.frame = CGRectMake(0.0, 288.0, self.view.frame.size.width, 32.0);
 }
 else {
 bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
 bannerView.frame = CGRectMake(0.0, 430.0, self.view.frame.size.width, 50.0);
 }

 //重新設(shè)定偏移量
 bannerView.frame = CGRectOffset(bannerView.frame, 0, 50);
 }
  
?

?最后,不要忘記在程式進(jìn)入點(diǎn)引用 ADBannerView 初始化函式,并在對(duì)應(yīng)的函式中釋放其記憶體。

     - (void)viewDidLoad
 {
 [super viewDidLoad];
 [self initializeBanner];
 }
  
?
     - (void)dealloc
 {
 [bannerView release];
 [super dealloc];
 }
  
?

?另外下面提供幾個(gè)跟 ADBannerView 有關(guān)的內(nèi)建函式。

     //ADBannerView發(fā)生錯(cuò)誤時(shí)會(huì)觸發(fā)
 - (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {}
  
??
     //按下廣告時(shí)會(huì)觸發(fā)的函式
 -(BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave { 

 //這里可以放置暫停你應(yīng)用程式的程式碼
 return YES;
 }
  
??
     //重廣告中按下返回應(yīng)用程式按鈕時(shí)所觸發(fā)的函式
 - (void)bannerViewActionDidFinish:(ADBannerView *)banner {
 //這里可以放置重啟你應(yīng)用程式的程式碼
 }
  
?

?ps:在測(cè)試 ADBannerView 必須要連上網(wǎng)際網(wǎng)路才行,有時(shí)候測(cè)試用的 iAD 會(huì)因?yàn)檫B線煩繁忙等問(wèn)題無(wú)法取得測(cè)試用廣告,可能需要多執(zhí)行幾次。

?

?

?

來(lái)源:

http://furnacedigital.blogspot.com/2011/09/adbannerview.html

?

參考:

http://www.yifeiyang.net/iphone-development-skills-of-the-articles-published-5-add-an-ad-in-the-program/

?

?

ADBannerView 的基本使用方法


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論