init(Activity, String)은 SDK 연동시, 가장 먼저 호출되는  함수이다. 유효한 계정 정보가 전달되었는 지, 지원 가능한 Android API 버전인지, receiver 등록 여부 등 기본 설정과 관련된 항목을 확인하는 함수이다. 


public static void init(Activity paramActivity, String paramString)


https://support.inmobi.com/monetize/android-guidelines/


init()의 첫번째 파라미터는 Activity이거나 Context이고 두번째 파라미터는 accountID 인데, 문제는 첫번째 파라미터이다.

SDK Version  6.x.x 부터는 Context class를 지원하지 않는다. SDK를 열어보면 아래와 같이 Context 객체를 첫번째 파라미터로 전달하는 init함수의 경우에는 @Deprecated 라고 Annotated 된 것을 볼 수 있다.


   InMobi_Android_SDK_6.1.1/libs/InMobi-6.1.1.jar


SDK Version 5.x.x에는 @Deprecated 되어있지 않다.

/InMobi-5.0.1.ja


Annotation에 대한 설명 : https://docs.oracle.com/javase/tutorial/java/annotations/predefined.html


키보드를 기반으로 한 모바일 어플리케이션의 경우 Context Class만 지원되기 때문에 문제가 발생한다. 계속해서 경고 메세지를 받게된다.

키보드 클래스 과련 : https://developer.android.com/reference/android/inputmethodservice/Keyboard.html



SDK 6.x.x 버전에서 어떻게 Context Class를 지원해줄 수 있을까?

-> @Deprecated Annotation을 삭제 요청

+ Recent posts