[사용자관리][로그인] 무조건 com.kakao.widget.LoginButton 을 써야하나요?

  1. via 카카오 로그인을 만들다가, Login 버튼이
    개발자 가이드를 보면 com.kakao.widget.LoginButton 으로 동작되더군요.
    요걸 버튼 리소스를 변경할 수는 없는건가요?
    아니면 LoginButton 거치지 않고 내부 동작을 가져다 써도 상관없는건가요?

  2. com.kakao.LoginActivity.onCreate 쪽에서 에러가 납니다.
    getterAccessToken.requestAccessToken();
    개발자메뉴얼에 의하면 마지막 단계인 엑세스토큰을 가져오는 부분에서 문제가 나는데 어떤 부분이 문제인건지 알고 싶습니다.

@fantasysa

  • kakao open platform sdk는 사전에 동의를 구한다는 전제하에 소스를 변경하여 사용하실 수 있습니다.
    (단, 아시다시피 sdk 업데이트시 변경하신 코드를 계속 f/w하셔야 해서 불편하실 수 있습니다.)
    어떤 필요에 의해 어떻게 소스 변경을 원하시는지 공유해 주실 수 있을까요?
    kakao open platform sdk는 이를 이용하시는 개발자들의 feedback과 contribution으로 발전하기를 기대하고 있습니다~

  • NoClassDefFoundError : com.ning.http.client.AsyncHttpClientConfig$Builder
    해당 클래스는 async-http-client-xxx.jar에 포함되어 있습니다.
    해당 라이브러리가 잡혀 있는지 확인해 보세요.
    sdk를 download하여 사용하신다면 sdk/libs/async-http-client-1.8.3.jar가 포함되어 있습니다.

1개의 좋아요

저도 해당글에 대해서 공감하는데요
LoginButton을 사용하지 않고 Session을 얻고 싶은 이유는 디자이너의 개발요구 사항에 맞춰 개발하다보면
빈번히 발생할 수 있다고 생각합니다.

해당 부분에 대해서 조금 더 자세한 레퍼런스의 설명이 있었더라면 더 좋지 않을까 하는 생각을 해봅니다.

1개의 좋아요

@MJ_ 카카오계정 외에도 다른 SNS 로그인 기능을 함께 사용중이기 때문에 그대로 사용하면 UI가 예쁘지가 않습니다. 윗분 말씀대로 리소스 수정이 가능했으면 좋겠습니다.

이런거 써도 되려나…
LoginButton 에서 아래의 onAttachedToWindow() 메소드를 보면, 레이아웃을 인플레이트 하는 코드가 있습니다. 살짝 저 코드를 주석 처리하고, kakao widget 의 LoginButton 을 가져다 사용하는 XML 에서 직접 UI를 입혀주면… LoginButton 의 기능적인 면을 그대로 활용한 상태에서 UI만 변경해서 사용할 수 있지요. 물론, SDK의 가이드라인대로 개발하는게 가장 좋다고 생각합니다만…
/**
* 로그인 버튼 클릭시 세션을 오픈하도록 설정한다.
*/
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
// inflate(getContext(), R.layout.kakao_login_layout, this);
setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// 카톡 또는 카스가 존재하면 옵션을 보여주고, 존재하지 않으면 바로 직접 로그인창.
boolean canWithTalk = TalkProtocol.existCapriLoginActivityInTalk(getContext());
boolean canWithStory = StoryProtocol.existCapriLoginActivityInStory(getContext());
if(canWithTalk || canWithStory) {
onClickLoginButton(canWithTalk, canWithStory);
} else {
Session.getCurrentSession().open(loginSessionCallback, AuthType.KAKAO_ACCOUNT);
}
}
});
}

1개의 좋아요