nueijeel

[Android] 카카오 로그인 구현하기 - 카카오계정 로그인이 안되는 현상 본문

Android/에러 및 문제 해결

[Android] 카카오 로그인 구현하기 - 카카오계정 로그인이 안되는 현상

nueijeel 2024. 2. 16. 00:21

 

 

이전 포스팅에서 카카오 로그인을 구현하는 방법에 대해서 알아보았다.

 

2023.11.15 - [Android/공부] - [Android] 카카오 로그인 구현하기 (+ api key 숨기는 방법)

 

[Android] 카카오 로그인 구현하기 (+ api key 숨기는 방법)

1. 안드로이드 developer 페이지 설정 https://developers.kakao.com/console/app 카카오 developers 페이지에서 로그인 후 '내 애플리케이션' 메뉴로 들어간다. 애플리케이션 추가하기 클릭 카카오 로그인을 사용

nueijeel.tistory.com

 

 

카카오톡이 앱에 깔려져 있으면 카카오톡으로, 깔려있지 않으면 카카오 계정으로 로그인되도록 콜백이 호출되도록 코드가 구성되어 있다.

 

 

그런데 실제로 테스트를 진행해보니 카카오톡이 설치되지 않은 환경일 때 카카오계정으로 로그인이 진행되지 않는 현상이 발생했다!

 

별다른 로그도 뜨지 않고, 카카오계정을 올바르지 않게 입력한 문제도 아니었기 때문에

처음에는 단순히 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로 사용하는 키는 별도로 등록해 사용해야 하는게 문제였다.

 

 

local.properties에 등록된 키 값

 

buildConfigField로 사용할 기존의 kakao_native_app_key는 그대로 두고

manifestPlaceholders에서 사용할 새로운 kakao_native_app_key_manifest를 작성해주자

이때 매니페스트용 키는 따옴표없이 그냥 키 값만 입력해야 한다는 점에 주의하자!

 

build.gradle(앱 수준)

 

build.gradle에서 manifestPlaceholders로 쓰는 properties를 새로 등록한 키 이름으로 바꿔준다.

 

 

AndroidManifest의 Kakao Auth Activity

 

 

마지막으로 AndroidManifest의 카카오 auth용 activity에서 쓰는 키 이름도 build.gradle에서 등록한 manifestPlaceholders의 이름으로 잘 바꿔줬는지 확인해야한다.

 

 

 

 

위 과정을 다 마친 뒤 실행해보면 카카오 계정 로그인이 정상적으로 진행되는 것을 확인할 수 있다.

 

 

코드 리뷰 중에 흔쾌히 해결 방법 공유해주신 민우님께 감사를.. 🙇‍♀️

728x90