현재 Kakao Android SDK - 1.12.0 버전으로 개발하고있습니다.
로그인과 앱연결부분을 개발하고 있습니다. 1.11.0 버전이후로 추가된 /v2/user/me API인거 같은데… (그전버전의 UserProfile에 해당)
private void kakaoSignUpCheck()
{
List<String> keys = new ArrayList<>();
keys.add("properties.nickname");
keys.add("properties.profile_image");
keys.add("kakao_account.email");
UserManagement.getInstance().me(keys, new MeV2ResponseCallback()
{
@Override
public void onFailure(ErrorResult errorResult)
{
String message = "failed to get user info. msg=" + errorResult;
Log.d(TAG, message);
}
@Override
public void onSessionClosed(ErrorResult errorResult)
{
//redirectLoginActivity();
}
@Override
public void onSuccess(MeV2Response response)
{
Log.d(TAG,"hasSignedUp : "+response.hasSignedUp().toString());
Log.d(TAG,"Nickname : "+response.getNickname());
Log.d(TAG,"ThumbnailImagePath : "+response.getThumbnailImagePath());
Log.d(TAG,"ProfileImagePath: " + response.getProfileImagePath());
Log.d(TAG,"user id : " + response.getId());
Log.d(TAG,"DisplayId"+response.getKakaoAccount().getDisplayId());
Log.d(TAG,"Email: " + response.getKakaoAccount().getEmail());
Log.d(TAG,"Gender: " + response.getKakaoAccount().getGender());
Log.d(TAG,"AgeRange: " + response.getKakaoAccount().getAgeRange());
if (response.hasSignedUp() == OptionalBoolean.FALSE) // 회원가입 되어있지 않다면
{
Log.d(TAG, "회원가입 되어있지 않음.");
UserManagement.getInstance().requestSignup(new ApiResponseCallback<Long>()
{
@Override
public void onSessionClosed(ErrorResult errorResult)
{
Log.d(TAG, "session 연결끊김 signin 재접속");
redirectSigninActivity();
}
@Override
public void onNotSignedUp() //일어나지 않는 경우
{
}
@Override
public void onSuccess(Long result)
{
Log.d(TAG, "회원가입 성공 splash activity 로 갑니다.");
redirectSplashActivity();
}
@Override
public void onFailure(ErrorResult errorResult)
{
Log.e(TAG, "failed to sign up. msg = " + errorResult);
super.onFailure(errorResult);
}
}, null);
}
else //회원가입 되어있다면
{
Log.d(TAG, "회원가입 되어있음 splash activity 로 갑니다.");
redirectSplashActivity();
}
}
});
}
참고로 세션은 연결되어 있는 상태이고 로그인 이후 kakaoSignUpCheck()를 불러온 상태입니다.
자동연결은 해제했습니다.
response.hasSignedUp() 이 가입안되고 처음연결이면 false 가입되어있으면 true로 나와야하는데
그런것과 상관없이 무조건 none으로 나오네요…
뭐가 문제일까요… 왠종일 파봤지만 모르겠네요 부탁드립니다.