cocos2d-x Android용 AD fresca 붙여보자

AD fresca Android SDK 다운 받아 적절한 위치에 압축을 해제합니다.

저는 진행 프로젝트의 proj.android에 풀었습니다.

Project -> Properties -> Java Build Path의 Libraries탭에서 Add External JARs를 선택후 AdFresca.jar 파일을 선택합니다

이제 Permission을 추가해야합니다. Uses Permission 추가는 링크를 참고하시어 ACCESS_NETWORK_STATE와 INTERNET 2개의 Permission을 추가해줍니다. AD fresca에서 사용자의 네트워크 접속 상태, 기기ID를 수집해 광고 매칭에 사용한다고 하네요. 수집된 데이터는 암호화 처리되어 전송되고 광고 매칭 이외에는 사용되지 않는다고 합니다.

준비과정이 끝났습니다. 이제 java 소스 파일을 수정해야 합니다. src안에 진행 중인 프로젝트의 java 소스파일을 더블클릭해 엽니다.

//먼저 adfresca를 import해주고
import com.adfresca.ads.*;

public class projectxxx extends Cocos2dxActivity{

 private Cocos2dxGLSurfaceView mGLView;

 protected void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  
  if (detectOpenGLES20()) {
.....
.....

// Set framelayout as the content view

   setContentView(framelayout);

   //AdFrescaView 객체를 생성합니다. YOUR_APIKEY는 해당 App용으로 발급받은 키
   AdFrescaView adView = AdFrescaView.sharedAdView(this, "YOUR_APIKEY");
   //앱의 설치, 실행정보기록. 반드시 최초 실행되는 Activity에서만 호출해야함.
   adView.startSession();
   //광고 로딩
   adView.loadAd();
   //광고 보기
   adView.showAd();
}

이걸로 간단한 샘플 준비작업은 끝이났습니다. 빌드 후 실행하면

09-24 14:27:21.069: E/AndroidRuntime(25045): FATAL EXCEPTION: main
09-24 14:27:21.069: E/AndroidRuntime(25045): java.lang.NoClassDefFoundError: com.adfresca.ads.AdFrescaView
09-24 14:27:21.069: E/AndroidRuntime(25045): at org.neco.game.TurnTheCardOver.onCreate(TurnTheCardOver.java:82)

위와 같은 에러가 나오시는 분도 있을거에요. ADT가 업데이트 되고 나서 이렇다는데 ADFresca 공식 Android 가이드에서도 이와 같은 설명이 업데이트가 안되어 있네요.

adView.setAdExceptionListener(new AdExceptionListener(){
    public void onExceptionCaught(AdException e){
     Log.d("TAG", e.getType() + ":" + e.getLocalizedMessage());
    }
   });

이렇게 해서 확인을 해보려고 했지만 이 전 단계인

AdFrescaView adView = AdFrescaView.sharedAdView(this, "YOUR_APIKEY");

이거에서부터 문제가 발생한터라 확인이 안되더군요. 구글링을 통해 해결했습니다. jar추가시 Build Path만 해주는게 아니고 한가지 더 해줘야할 것이 있더군요. 자세한건 링크로 확인하시기 바랍니다.

수정 후 빌드, 제 폰으로 실행해봤습니다. iOS용 ADFresca랑은 다르게 가로로 제대로 나와주고 있네요. 차이점은 iOS에 붙일때는 시뮬레이터였고 Android는 제 실 기기에서 테스트 해본 것이 다인데, 이 차이인건지는 나중에...

댓글

이 블로그의 인기 게시물

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

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

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