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을 삭제 요청
'Decompiling' 카테고리의 다른 글
Banner는 RelativeLayout (0) | 2017.04.12 |
---|---|
public static void init(Activity paramActivity, String paramString)_02 (0) | 2017.03.15 |