[iOS Dev] 將iAD廣告放入APP中

2014-08-31

步驟其實比ADMob還簡單

首先要把收錢的帳戶搞定 (其實也可以最後做 反正要做就是了)
到 iTunes Connect 網站中
進入到 Contracts, Tax, and Banking
有一行的 Contract Type 為 iAd App Network
將以下這三個 Contact Info, Bank Info, Tax Info 都個別按下 Set Up
並跟著步驟完成
這跟你賺到錢後要把錢匯到哪裡有關係
這篇文章就不詳述了

接著進入程式部分

1.
在左側的 Project Navigator 中點選你的Project (藍藍的)
再點選TARGETS中的專案
標籤選擇 General
在 Linked Frameworks and Libraries 這個部分 (應該是在最下面)
點選加號後
找到 iAd.framework (可以按搜尋 iAd 後 就會出現了)
點這個後按 add
便加入成功

2.
在 ViewController.h 中
import .h檔案並加上 delegate

// import iAd
#import 

// 加上 delegate
@interface viewController : UIViewController 
@end

3.
接著在 ViewController.m 中
先給 banner 一個變數
然後在 viewDidLoad 中將 banner 設定好
最後在 delegate 的 methods 中設定顯示或隱藏 banner


@interface viewController (){
// 變數
    ADBannerView *bannerView_;
}
@end

@implementation viewController

- (void)viewDidLoad
{
    [super viewDidLoad];

// 設定 banner 的位置及長寬 這邊是放在底部
    bannerView_ = [[ADBannerView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height - 50, 320, 50)];
    bannerView_.delegate = self;
    // 預設為隱藏 load成功後再在 delegate 的 method 中顯示
    bannerView_.alpha = 0.0;
    [self.view addSubview:bannerView_];
}

// 這個是 delegate 的 method , load完後會呼叫
-(void)bannerViewDidLoadAd:(ADBannerView *)banner{
    NSLog(@"Ad Banner did load ad.");
    // Show the ad banner.
    [UIView animateWithDuration:0.5 animations:^{
        bannerView_.alpha = 1.0;
    }];
}

// 這個是 delegate 的 method , 如果失敗或有 error 會呼叫
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{

    NSLog(@"Unable to show ads. Error: %@", [error localizedDescription]);

    // Hide the ad banner.
    [UIView animateWithDuration:0.5 animations:^{
        bannerView_.alpha = 0.0;
    }];
}
@end

這樣就完成了
run 後會出現 iAd 相關的畫面
上架之後就會有正式的廣告了

報表這邊看
https://iad.apple.com/itcportal/#app_homepage

以上

ref:
http://codewithchris.com/iad-tutorial/
http://www.cocoachina.com/industry/20140701/8998.html

===題外話 發牢騷===
原本是用 ADMob 的
但我的 google adsense 不知道為啥就被停權了
因為是連動的
所以連帶也把我的 ADMob 也停了…
乾…
後來又換新帳號
但前幾天又被停!
乾乾乾!!
所以不爽用了!!!
老子不爽用 ADMob 了!!
乾~~~!