“com.kakao.sdk:v2-user:2.8.1” 버전 사용하고 있습니다.
카카오톡이 설치되어 있지 않은 사용자를 대상으로 계정 로그인을 수행하고 해당 결과를 돌려받는 callback이 동작하지 않는 것으로 보입니다.(리다이렉트 url, 네이티브 키 등록, 메니페스트(kakao{Key}) 모두 적용하여 테스트하고 있는데 혹시 관련해서 특별한 이유가 있는 것인지 문의드립니다.
if (UserApiClient.instance.isKakaoTalkLoginAvailable(this@SignInActivity)) {
UserApiClient.instance.loginWithKakaoTalk(this@SignInActivity, callback = callback)
} else {
UserApiClient.instance.loginWithKakaoAccount(this@SignInActivity, callback = callback)
}
위 코드의 loginWithKakaoAccount이 수행되고 있고 callback에는 error 및 토큰에 대한 로그를 남기도록 하고 있는데 아무런 반응이 없는 것으로 확인하였습니다.
확인 미리 감사드립니다.
tim.l
10월 8, 2021, 3:58오전
2
안녕하세요.
2.8.1 버전으로 안드로이드 애뮬레이터로 테스트 해보니
카톡이 설치되지 않은 경우
isKakaoTalkLoginAvailable에서 false로 떨어지고
loginWithKakaoAccount를 수행하는 것으로 재현 했는데요.
아래와 같이 if문 내에 로그 확인해보시겠어요?
if (UserApiClient.instance.isKakaoTalkLoginAvailable(this@SignInActivity)) {
Log.d("isKakaoTalkLoginAvailable", "isKakaoTalkLoginAvailable(true) ")
UserApiClient.instance.loginWithKakaoTalk(this@SignInActivity, callback = callback)
} else {
Log.d("isKakaoTalkLoginAvailable", "isKakaoTalkLoginAvailable(false) ")
UserApiClient.instance.loginWithKakaoAccount(this@SignInActivity, callback = callback)
}
확인 감사합니다.
로그 확인 결과 D/isKakaoTalkLoginAvailable: isKakaoTalkLoginAvailable(false)로
설치가 안되어있는 것으로 나오는 것을 확인하였습니다.
그리고 로그인 웹페이지로 이동 후 로그인을 완료하면 콜백함수가 실행이 되어야하는 것으로 보이는데 콜백이 제대로 수행되고 있지 않는 상황입니다.
아래는 제 콜백함수 코드입니다.
val callback: (OAuthToken?, Throwable?) → Unit = { token, error →
if (error != null) {
Log.e(“TAG”, “로그인 실패”, error)
}
else if (token != null) {
Log.i(“TAG”, “로그인 성공 ${token.accessToken}”)
}
Log.d(“result==”, “11”)
}
로그인에 성공하여 “동의하고 계속하기” 버튼을 누른 뒤 api호출 엑티비티로 돌아오면 콜백함수의 로그가 출력되어야 하는 것으로 보이는데 현재 아무 로그도 남지 않는 상황입니다.
안녕하세요?
아래 내용 처럼 AnroidManifest에 Redirect URI 를 설정 하셨을까요?
네 manifest에 kakao + 제 앱의 nativeappkey로 설정되어있습니다.
그리고 developer 페이지 내 redirect url은 https://example.com/oauth로 설정되어 있는데 혹시 이부분이 문제가 되나요…?(아직 배포 전이라서 웹사이트가 따로 존재하지는 않습니다.)
안녕하세요 . 콜백이 안불리는 건 AndroidManifest 문제일것 같아서요.
앱 아이디 공유 부탁 드리고,
구현 하신 AndroidManifest.xml는 메시지로 공유 부탁 드립니다.
잘 해결했습니다.
Manifest에서 커스텀엑티비티에 해당 필터를 추가한부분이 실수였군요…도움주셔서 감사합니다 !!