Skip to content

Instantly share code, notes, and snippets.

@eungju
Last active January 9, 2016 15:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eungju/104b0d2f7782d33f0878 to your computer and use it in GitHub Desktop.
Save eungju/104b0d2f7782d33f0878 to your computer and use it in GitHub Desktop.
Kakao SDK for Android

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를 받게 바뀌었다.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment