ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • iAD 사용해보자
    프로그래밍/아이폰 2010. 7. 28. 18:21
    iOS 4.0 에서 추가된  iAD가 있습니다.
    기본적으로 포함되어 있어 애드몹이나, 여타 다른 광고들 보다 삽입하기 쉽게 되어있습니다.

    인터페이스 빌더에서 직접 던져 넣어도 되고, 코드상에서 생성해서 만들어 됩니다.
    전 아직 맥에서 티스토리에 사진 올리는 법을 전혀 못 찾았기에 코드로 작성하겠습니다.




    우선 프로젝트에 iAD Framework를 추가해야 합니다.
    프레임워크 추가한 뒤에 배너가 보일 뷰, 혹은 상속받는다면 최상위에 하셔도 됩니다.

    iAD헤더파일을 넣어주세요. 



     #import <iAD/iAD.h>



    헤더파일을 넣었으면, 우선 iAD뷰를 생성해서 화면에 추가부터 해놓고 가겠습니다.

    배너가 들어갈 뷰의  ViewDidLoad 메소드에서 생성했습니다.


     -(void)viewDidLoad {
            
              ADBannerView *adBanner = [[ADBannerView alloc] initWithFrame:CGRectZero];
              adBanner.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
              adBanner.delegate = self;
              
              [self.view addSubView:adBanner];

              [super viewDidLoad];
    }


    위 코드대로 하시면 뷰의 상단에 320x50짜리 iAD배너가 매달립니다. 시뮬에서 확인해 보세요.
    위치를 변경하시는건 CGrectZero 를 대체해주시면 됩니다.
    단, CGRect 생성할때에 Width, Height는 배너사이즈와 맞춰주세요.

    제가 구글링한 결과는 위에것만이면 된다고 봐서 실제로 저 코드만 넣어서 리뷰를 넣어봤는데,
    Reject 이었습니다. iAD Delegate를 작성해야한다더군요.

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

    {

    if (self.bannerIsVisible)

    {

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

    // assumes the banner view is at the top of the screen.

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

    [UIView commitAnimations];

    self.bannerIsVisible = NO;

    }

    } 



    네, 친절하게도 코드를 통째로 보내줬습니다. 광고를 받는데 실패했을때의 처리를 해야한다는 내용과 함께.

    별로 특별할건 없고, 광고가 들어갈 뷰에  iAD프로토콜을 받겠다고 해주시고, 위 코드를 넣어주시면 됩니다.


    근데 보시면 분기문에 bannerIsVisible 값을 체크합니다.

    네 없습니다. 이놈이 어디에도 없어요. self자체가 iAD View 인가.... 했었는데

    그건 아니고, 그냥 BOOL로 하나 선언해서 쓰면 된다고합니다.




    //viewController.h

    ...

    @interface viewController : UIViewController <ADBannerViewDelegate > {


    ...

        BOOL bannerIsVisible;


    }


    @property BOOL bannerIsVisible;



    @end


    //viewController.m


    @synthesize bannerIsVisible;


    ...


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

    {

    if (self.bannerIsVisible)

    {

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

    // assumes the banner view is at the top of the screen.

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

    [UIView commitAnimations];

    self.bannerIsVisible = NO;

    }

    }


    ...


    @end

     



    대충 프레임워크를 추가하고, 헤더 넣고,
    뷰생성해서 붙이고,
    델리게이트 구현해주면 됩니다.

    어플 등록하실떄에,  iAD활성화 시키셔야 하구요. 

    조금 더 세부적으로 구현할수있는것 같지만 그부분은 아직 확인해보지 않았고
    우선 등록시키고 활성화 시키는것 까지는 위 코드로 가능합니다.



    '프로그래밍 > 아이폰' 카테고리의 다른 글

    조금 더 정리.  (0) 2010.08.03
    Application loader  (0) 2010.07.31
    NSPoint  (0) 2010.07.31
    7월 평균 리뷰기간  (0) 2010.07.30
    NSRange - by cocoa FoundationKit structs  (0) 2010.07.29

    댓글

Exploration of Social Technologies