문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.
일단 버전은 전부 문서에 나와있는 최신버전 그대로 사용했구요 초기설정 다 한상태구요.
// 로그인 조합 예제
// 카카오계정으로 로그인 공통 callback 구성
// 카카오톡으로 로그인 할 수 없어 카카오계정으로 로그인할 경우 사용됨
val callback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
if (error != null) {
Toast.makeText(this, "카카오계정으로 로그인 실패", Toast.LENGTH_SHORT).show()
Log.e(TAG, "카카오계정으로 로그인 실패", error)
} else if (token != null) {
Toast.makeText(this, "카카오계정으로 로그인 성공", Toast.LENGTH_SHORT).show()
Log.i(TAG, "카카오계정으로 로그인 성공 ${token.accessToken}")
}
}
// 카카오톡이 설치되어 있으면 카카오톡으로 로그인, 아니면 카카오계정으로 로그인
if (UserApiClient.instance.isKakaoTalkLoginAvailable(this)) {
UserApiClient.instance.loginWithKakaoTalk(this) { token, error ->
if (error != null) {
Toast.makeText(this, "카카오톡으로 로그인 실패", Toast.LENGTH_SHORT).show()
Log.e(TAG, "카카오톡으로 로그인 실패", error)
// 사용자가 카카오톡 설치 후 디바이스 권한 요청 화면에서 로그인을 취소한 경우,
// 의도적인 로그인 취소로 보고 카카오계정으로 로그인 시도 없이 로그인 취소로 처리 (예: 뒤로 가기)
if (error is ClientError && error.reason == ClientErrorCause.Cancelled) {
return@loginWithKakaoTalk
}
// 카카오톡에 연결된 카카오계정이 없는 경우, 카카오계정으로 로그인 시도
UserApiClient.instance.loginWithKakaoAccount(this, callback = callback)
} else if (token != null) {
Toast.makeText(this, "카카오톡으로 로그인 성공", Toast.LENGTH_SHORT).show()
Log.i(TAG, "카카오톡으로 로그인 성공 ${token.accessToken}")
}
}
} else {
UserApiClient.instance.loginWithKakaoAccount(this, callback = callback)
}
예제에 나와있는 소스를 사용했구요. 실행하니까 동의를 구하는 화면이 한번 나오고 accept를 해주고나니까
다음화면으로 넘어가는데 이때 web page not available이라고 나오고 그아래로는
the webpage at
appkey가 적혀있고 ://oauto?code=블라블라블라 could not be loaded because:
net: ERR_UNKNOWN_URL_SCHEME
라고 적혀있는데 어떤 문제일까요?