Kakao SDK 버전을 1.1.2에서 1.1.10으로 올렸는데 이 사이에 호환되지 않는 변경들이 있네요. 릴리즈 노트에 변경에 대한 안내가 없고 못찾아서 바꾸면서 일부 정리했습니다.
com.kakao.auth.APIErrorResult -> com.kakao.network.ErrorResult: 이름 바뀌었다.
-
- String requestURL: 필드 삭제되었으나 사용하지 않는다.
com.kakao.auth.SessionCallback -> com.kakao.auth.ISessionCallback: 이름 바뀌었다.
- void onSessionClosed(KakaoException) -> void onSessionOpenFailed(KakaoException): 이름 바뀌었다.
-
- void onSessionOpening(): 삭제되었으나 사용하지 않는다. 기존에도 이 콜백을 부르지 않는듯???
com.kakao.auth.Session.initialize(Context) -> com.kakao.auth.KakaoSDK.init(KakaoAdapter): 초기화 방식 변경됐다.
KakaoSDK.init(new KakaoSdkAdapter(this));
private static class KakaoSdkAdapter extends KakaoAdapter {
private final Application application;
private Activity currentActivity;
public KakaoSdkAdapter(Application application) {
super();
this.application = application;
application.registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
currentActivity = activity;
}
@Override
public void onActivityPaused(Activity activity) {
currentActivity = null;
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
});
}
@Override
public IApplicationConfig getApplicationConfig() {
return new IApplicationConfig() {
@Override
public Activity getTopActivity() {
return currentActivity;
}
@Override
public Context getApplicationContext() {
return application;
}
};
}
}
com.kakao.usermgmt.LogoutResponseCallback -> com.kakao.usermgmt.callback.LogoutResponseCallback: 이름 바뀌었다.
-
- void onCompleteLogout(): 성공이든 실패든 완료 후 호출되는 콜백이 추가되었다. 카카오 인증되지 않은 상태에서 UserManagement.requestLogout 호출하면 onSuccess, onFailure 모두 호출되지 않는다. onCompleteLogout을 구현하거나 onNotSignedUp을 구현해서 처리해야 한다.
- void onSuccess(long) -> void onSuccess(Long): 파라메터가 Wrapper 타입으로 바뀌었다.
- void onSessionClosedFailure(APIErrorResult) -> void onSessionClosed(ErrorResult): 이름 바뀌었다.
- void onFailure(APIErrorResult) -> void onFailure(ErrorResult): 이름 바뀌었다.
com.kakao.usermgmt.UnlinkResponseCallback -> com.kakao.usermgmt.callback.UnLinkResponseCallback: 이름 바뀌었다.
-
- void onNotSignedUp(): 가입하지 않은 상태에서 불리는 콜백 추가되었다.
- void onSuccess(long) -> void onSuccess(Long): 파라메터가 Wrapper 타입으로 바뀌었다.
- void onSessionClosedFailure(APIErrorResult) -> void onSessionClosed(ErrorResult): 이름 바뀌었다.
- void onFailure(APIErrorResult) -> void onFailure(ErrorResult): 이름 바뀌었다.
com.kakao.usermgmt.MeResponseCallback -> com.kakao.usermgmt.callback.MeResponseCallback
- void onSessionClosedFailure(APIErrorResult) -> void onSessionClosed(ErrorResult): 이름 바뀌었다.
- void onFailure(APIErrorResult) -> void onFailure(ErrorResult): 이름 바뀌었다.
com.kakao.usermgmt.UserProfile -> com.kakao.usermgmt.response.model.UserProfile: 이름 바뀌었다.
com.kakao.kakaolink.KakaoLink
- void sendMessage(String, Context) -> void sendMessage(KakaoTalkLinkMessageBuilder, Context): String 대신 KakaoTalkLinkMessageBuilder를 받게 바뀌었다.