cocos2d-x iOS용 AD fresca 붙여보자

AD fresca는 iOS와 Android 둘다 지원하고 있습니다. 먼저 cocos2d-x에 iOS용 AD fresca를 붙이는 것을 정리해봅니다.

iOS AD fresca SDK Download
먼저 iOS용 AD fresca SDK를 다운받습니다. 아직 압축해서 1메가도 안되는 무지 작은 용량이네요.

적당한 위치에 압축을 풀어 역시나 정당한 위치에 SDK를 옮겨줍니다. 저는 일단 진행중인 프로젝트의 cocos2d-x ios xcode template로 만들면 자동으로 생성되는 libs폴더에 넣었습니다.

이제 SDK폴더를 진행중인 프로젝트의 Frameworks 폴더에 드래그&드롭 시켜서 추가시켜줍니다.

Project -> TARGETS -> Build Phases -> Link Binary With Libraries에서 +를 눌러 SystemConfiguration.framework 검색해 찾아 추가해줍니다.

마지막으로 TARGETS -> Build Settings -> Linking -> Other Linker Flags에 -ObjC를 추가해줍니다.

만약 -ObjC를 넣지 않으시면 추후 런타임시 AdFrescaView관련 소스 부분에서 위와 같이 문제가 발생할 수 있습니다.

준비작업은 이것으로 끝입니다. 이제 코딩작업을 진행합니다.


간단하게 AppController.mm에 작업해보겠습니다.

///< SDK h를 import해줍니다.

#import <AdFresca/AdFrescaView.h>


///< AD FrescaView를 초기화 합니다.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [AdFrescaView startSession:@"YOUR_API_KEY"];

초기화 시 YOUR_API_KEY가 나오는데 이것은 App마다 고유한 키값입니다. 따로 신청해야 하는데 저도 받아서 하는 것이라 추후 제가 따로 신청해볼 기회가 있다면 그때 정리 포스팅 해볼게요.


- (void)applicationDidBecomeActive:(UIApplication *)application {
    /*
     Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
     */
    AdFrescaView *adView = [AdFrescaView shardAdView];   // Create a shared object for AdFrescaView
    [adView loadAd]; // start requesting AD (it works on the background process)
    // Do your own initialization works here
  [adView showAd]; // AD will be displayed after AD request is done.
    
    cocos2d::CCDirector::sharedDirector()->resume();
}


회사 개발중 게임 샷이라 외곽을 다 지웠네요 ㅎ; 일단 AD fresca 띄우는데는 성공했습니다. 그런데 공식 홈피보면 이건 세로모드 일때 이렇게 나와야 하는건데 가로로 나와줘야하는건데... AD fresca API를 봐도 가로세로 뷰에 대한 것은 안보이네요. 내부적으로 알아서 하게 해놓은 것 같은데 cocos2d-x랑은 안 맞는것인지..

Ad Fresca를 클릭했을 때 나오는 웹페이지도 세로로 변환이 되는거보니 내부적으로 세로모드로 인식을 하나봅니다.

이렇게 되야 하는데 말이죠.

GameCenter 붙일 때 나왔던

    adView.frame = CGRectMake(0, 0, 320, 480);
    adView.transform = CGAffineTransformMakeRotation(CC_DEGREES_TO_RADIANS(90));
    adView.center = [[EAGLView sharedEGLView] window].center;
    adView.bounds = CGRectMake(0, 0, 480, 320);
이렇게 하면

이렇게 나오고

    [[[EAGLView sharedEGLView] window] addSubview:adView];
이거 신공으로는 제대로 안되네요. 좀 더 알아보고 포스팅 수정해야겠습니다.

아무튼 cocos2d-x에 iOS Game Center 붙이는 거보다 훨씬 쉽네요 ㅎ

공식 iOS AD fresca SDK Guide

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.