본문 바로가기
개발 log (개발)/mobile

KaKao 로그인

by abbear25 2020. 11. 1.

Intro

implementation group: 'com.kakao.sdk', name: 'usermgmt', version: '1.27.0' 버전을 사용할 당시에는

KakaoAdapter를 직접 구현하고 Hash Key를 구하기 위해 헤매는 등 연동하기가 쉬운듯 쉽지 않았습니다.

하지만 

implementation "com.kakao.sdk:v2-user:2.0.5" 버전이 나오면서 누구나 쉽게 사용가능할 수 있도록 간편화되었습니다.

누구나 카카오 로그인 연동을 쉽게 할 수 있으니 부담없이 공식 홈페이지를 따라해보세요.

developers.kakao.com/docs/latest/ko/getting-started/sdk-android#select-module

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

기본 환경 설정

Project Gradle 추가

maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }

App Gradle 추가

: 자바8을 사용하기 위한 설정과 카카오 로그인 관련된 의존성을 추가

android{
    ...

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

dependencies {
    ...
    implementation "com.kakao.sdk:v2-user:2.0.5" // 카카오 로그인
}

Menifest 추가

: 인터넷 접속을 위한 권한 추가

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.sample">

    <!-- 인터넷 사용 권한 설정-->
    <uses-permission android:name="android.permission.INTERNET" />
    
    <activity
    	<intent-filter>
        	...
        	<!-- Redirect URI: "kakao{NATIVE_APP_KEY}://oauth“ -->
        	<data android:host="oauth"
                	android:scheme="kakao{NATIVE_APP_KEY}" />

 

플랫폼 정보 설정

내 애플리케이션 > 앱 설정 > 플랫폼에서 아래 코드를 실행하여 얻은 디버그용 키 해시를 등록하여 진행

터미널이 익숙하지 않으신 분들은 아래 코드를 이용하여 쉽게 키 해시를 구할 수 있음

  카카오 API를 사용하기 위해서 Hash키를 등록해야 한다. 디버그와 릴리즈용 정보가 다르며 잘 확인하여 등록하지 않으면 API 사용 불가

 

@HiltAndroidApp
class AppApplication : Application(){
    override fun onCreate() {
        super.onCreate()
        var keyHash = Utility.getKeyHash(this)
        Log.e("hash", keyHash)
    }
}

 

API 사용

@HiltAndroidApp
class AppApplication : Application(){
    override fun onCreate() {
        super.onCreate()
        KakaoSdk.init(this, getString(R.string.kakao))
    }
}

 

반응형