ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • iPhone App - iAD 적용
    iPhone 2010. 10. 21. 13:16

    1. Framework 에 iAd.framework를 추가
    2. Target->Get Info->General->Linked Libraries에서 iAd.framework 의 Link 타입을 Required 에서 weak으로 변경
    3. project info-> deployment -> iPhone OS deployment target을 iphone OS 3.1.X로


    .h

    #import <iAd/iAd.h>


    @interface FirstViewController : UIViewController <ADBannerViewDelegate>{

    ...

    ADBannerView *bannerView;

    BOOL bannerIsVisible;

    }


    @property (nonatomic, retain) ADBannerView *bannerView;


    - (void) createBannerView;


    .m

    ...


    - (void)viewDidLoad {

      [super viewDidLoad];

      bannerIsVisible = NO;

      [self createBannerView];

    }


    - (void)viewDidUnload {

        // Release any retained subviews of the main view.

        // e.g. self.myOutlet = nil;

        [super viewDidUnload];

        if(self.bannerView){

    bannerView.delegate = nil;

    self.bannerView = nil;

      }

    }


    - (void)dealloc {

      if(bannerView){

    bannerView.delegate = nil;

    [bannerView release];

        }

        [super dealloc];

    }


    - (void) createBannerView{

      if(NSClassFromString(@"ADBannerView")){

         ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectZero];

         adView.requiredContentSizeIdentifiers

    [NSSet setWithObjects:ADBannerContentSizeIdentifier320x50,

    ADBannerContentSizeIdentifier480x32,

    nil];

         adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;

         adView.delegate = self;

         adView.frame = CGRectMake(0, 411, 320, 50); //처음위치. 여기서 멍때리고 있다가.. delegate에서 위치를 잡아준다.

         self.bannerView = adView;

         [self.view addSubview:adView];

         bannerIsVisible = NO;

      }

    }


    #pragma mark -

    #pragma mark iAD delegate

    - (void)bannerViewDidLoadAd:(ADBannerView*)banner{

    if(!bannerIsVisible)

    {

    [UIView beginAnimations:@"animateBannerAppear" context:NULL];

    banner.frame = CGRectOffset(banner.frame, 0, -50);

    [UIView commitAnimations];

    bannerIsVisible = YES;

    }

    }


    - (void)bannerView:(ADBannerView*)banner didFailToReceiveAdWithError:(NSError*)error{

    if(bannerIsVisible){

    [UIView beginAnimations:@"animateAdBannerOff" context:NULL];

    banner.frame = CGRectOffset(banner.frame, 0, 50);

    [UIView commitAnimations];

    bannerIsVisible = NO;

    }

    }

    ...


    //.m 끝


    참고: 
    <http://useyourloaf.com/blog/2010/7/13/adding-iads-to-an-application-in-an-afternoon.html>


    'iPhone' 카테고리의 다른 글

    Easy APNS  (0) 2010.12.10
    iOS 및 Platform의 구분 체크  (0) 2010.10.25
    [xcode] iOS iphone memory check  (0) 2010.09.30
    Objective-C for iPhone Developers: A Beginner's Guide.  (0) 2010.08.25
    iPhone SDK: A Beginner's Guide  (0) 2010.08.25
Designed by Tistory.