# https://developers.kakao.com/ 접속
# 로그인 후 상단 ‘내 어플리케이션’에서 어플리케이션 추가




# 클릭해서 진입 후 플랫폼을 설정한다

안드로이드 플랫폼 등록 클릭

키 해시 등록하기
build.gradlekts(Module) 파일에 모듈을 추가
maven { url = java.net.URI("https://devrepo.kakao.com/nexus/content/groups/public/") } 작성 후 싱크해준다

필요한 모듈을 등록해준다
implementation("com.kakao.sdk:v2-all:2.20.0") // 전체 모듈 설치, 2.11.0 버전부터 지원
GlobalApplication 파일을 만들어준다
class GlobalApplication : Application() {
override fun onCreate() {
super.onCreate()
// 다른 초기화 코드들
// Kakao SDK 초기화
KakaoSdk.init(this, "{NATIVE_APP_KEY}")
}
}
앱 키는 해당 부분에서 확인할 수 있다

manifest 파일에 다음을 추가한다
android:name=".GlobalApplication"
메인화면에 다음을 추가하고 실행하면 해시키가 나온다
var keyHash = Utility.getKeyHash(this)
Log.i("kjwTest", "keyHash: $keyHash")
# 카카오 로그인 활성화

코드 작성
binding.btnKakaoLogin.setOnClickListener {
kakaoLogin_Step01()
}
fun kakaoLogin_Step01() {
if (UserApiClient.instance.isKakaoTalkLoginAvailable(this)) {
// 카카오톡 로그인
UserApiClient.instance.loginWithKakaoTalk(this) { token, error ->
// 로그인 실패 부분
if (error != null) {
Log.e("kj308", "로그인 실패", error)
// 사용자가 취소
if (error is ClientError && error.reason == ClientErrorCause.Cancelled ) {
return@loginWithKakaoTalk
}
// 다른 오류
else {
UserApiClient.instance.loginWithKakaoAccount(this, callback = mCallback) // 카카오 이메일 로그인
}
}
// 로그인 성공 부분
else if (token != null) {
Log.e("kj308", "로그인 성공 ${token.accessToken}")
UserApiClient.instance.me {
user, error ->
if (error != null) {
Log.e("kj308", "사용자 정보 요청 실패 $error")
} else if (user != null) {
Log.e("kj308", "사용자 정보 요청 성공 : $user")
}
}
}
}
} else {
UserApiClient.instance.loginWithKakaoAccount(this, callback = mCallback) // 카카오 이메일 로그인
}
}
private val mCallback: (OAuthToken?, Throwable?) -> Unit = { token, error ->
if (error != null) {
Log.e("kj308", "로그인 실패 $error")
} else if (token != null) {
Log.e("kj308", "로그인 성공 ${token.accessToken}")
}
}
인터넷 설정
<uses-permission android:name="android.permission.INTERNET" />
→ 결과

'전공 > Android' 카테고리의 다른 글
| [안드로이드] 구글 로그인 연동 방법 (1) | 2025.03.11 |
|---|---|
| [안드로이드] 네이버 로그인 연동 방법 (0) | 2024.12.03 |
| [영화 정보 앱 만들기] 06. 기타 기능 (0) | 2024.06.22 |
| [영화 정보 앱 만들기] 05. 정보 수정하기 (0) | 2024.06.20 |
| [영화 정보 앱 만들기] 04. 데이터 추가하기 (0) | 2024.06.20 |
