안녕하세요. 카카오 계정으로 로그인을 테스트하고 있습니다.
카카오계정으로 로그인을 누르면 아래와 같은 화면이 나오는데요.
이메일또는 전화번호/ 비밀번호 입력하는 화면말고, 아래처럼 나오고 싶습니다.
(아래는 샘플앱)
kakao sdk 버전 1.1.7 의 LoginButton에서는
Session.getCurrentSession().getAuthTypes() 로 KAKAO_ACCOUNT 만 가져옵니다.
샘플앱에서는
KakaoSDK.getAdapter().getSessionConfig().getAuthTypes();
디버깅 했을 때는 AuthType을 kaka_talk, kakao_story 등등 잘 가져오네요.
설정부분에서 무언가 빠졌을까요?
KakaoSDKAdapter 부분의
override fun getAuthTypes(): Array {
return arrayOf(AuthType.KAKAO_LOGIN_ALL)
}
KAKAO_LOGIN_ALL을 사용해주시면 됩니다.
아래는 AuthType 전문입니다.
public enum AuthType {
/**
* Kakaotalk으로 login을 하고 싶을 경우 지정. Webviews are used if not installed.
*/
KAKAO_TALK(0),
/**
* Kakaostory으로 login을 하고 싶을 경우 지정. Webviews are used if not installed.
*/
KAKAO_STORY(1),
/**
* 웹뷰를 통해 카카오 계정연결을 제공하고 싶을 경우 지정.
*/
KAKAO_ACCOUNT(2),
/**
* 모든 로그인방식을 사용하고 싶을때 지정.
*/
KAKAO_LOGIN_ALL(4),
/**
* Kakaotalkㅇㅡ로 login을 하고 싶을 경우 지정. Webviews are not used even if talk is not installed.
*/
KAKAO_TALK_ONLY(5);
private final int number;
AuthType(int i) {
this.number = i;
}
public int getNumber() {
return number;
}
public static AuthType valueOf(int number) {
if (number == KAKAO_TALK.getNumber()) {
return KAKAO_TALK;
} else if (number == KAKAO_STORY.getNumber()) {
return KAKAO_STORY;
} else if (number == KAKAO_ACCOUNT.getNumber()) {
return KAKAO_ACCOUNT;
} else if (number == KAKAO_LOGIN_ALL.getNumber()) {
return KAKAO_LOGIN_ALL;
} else {
return null;
}
}
}
2개의 좋아요