nueijeel
[Android] 카카오 로그인 구현하기 - 카카오계정 로그인이 안되는 현상 본문
이전 포스팅에서 카카오 로그인을 구현하는 방법에 대해서 알아보았다.
2023.11.15 - [Android/공부] - [Android] 카카오 로그인 구현하기 (+ api key 숨기는 방법)
카카오톡이 앱에 깔려져 있으면 카카오톡으로, 깔려있지 않으면 카카오 계정으로 로그인되도록 콜백이 호출되도록 코드가 구성되어 있다.
그런데 실제로 테스트를 진행해보니 카카오톡이 설치되지 않은 환경일 때 카카오계정으로 로그인이 진행되지 않는 현상이 발생했다!
별다른 로그도 뜨지 않고, 카카오계정을 올바르지 않게 입력한 문제도 아니었기 때문에
처음에는 단순히 SDK 자체 버그인가.. 생각했었는데 그게 아니었다.
문제는 local.properties에 숨긴 앱 키가 원인이었다.
카카오 로그인 sdk를 이용하기 위해서 파일에서 사용할 수 있는 buildConfigField 키와 함께 Manifest에서 사용할 수 있는 manifestPlaceholders를 따로 등록해주었었다.
defaultConfig {
buildConfigField "String", "KAKAO_NATIVE_APP_KEY", properties['kakao_native_app_key']
manifestPlaceholders = [kakaoNativeAppKey:"kakao_native_app_key"]
}
local.properties에 하나의 키만 kakao_native_app_key로 등록해 buildConfigField와 manifestPlaceholders를 생성하는 데 같이 사용했었는데 manifestPlaceholders로 사용하는 키는 별도로 등록해 사용해야 하는게 문제였다.
buildConfigField로 사용할 기존의 kakao_native_app_key는 그대로 두고
manifestPlaceholders에서 사용할 새로운 kakao_native_app_key_manifest를 작성해주자
이때 매니페스트용 키는 따옴표없이 그냥 키 값만 입력해야 한다는 점에 주의하자!
build.gradle에서 manifestPlaceholders로 쓰는 properties를 새로 등록한 키 이름으로 바꿔준다.
마지막으로 AndroidManifest의 카카오 auth용 activity에서 쓰는 키 이름도 build.gradle에서 등록한 manifestPlaceholders의 이름으로 잘 바꿔줬는지 확인해야한다.
위 과정을 다 마친 뒤 실행해보면 카카오 계정 로그인이 정상적으로 진행되는 것을 확인할 수 있다.
코드 리뷰 중에 흔쾌히 해결 방법 공유해주신 민우님께 감사를.. 🙇♀️
'Android > 에러 및 문제 해결' 카테고리의 다른 글
[Android] 세모반 리팩토링 - PreSigned URL을 이용한 이미지 업로드 로직 구현 上 (0) | 2024.04.03 |
---|---|
[Android] 앱 삭제 후 이전 데이터가 남아있는 문제 (0) | 2024.03.11 |
[Android] OutOfMemoryError (0) | 2023.08.22 |
[Android] NoModelLoaderAvailableException 오류 (0) | 2023.08.22 |
[Android] CompilationErrorException 오류 (0) | 2023.08.22 |