본문 바로가기
🖥 Programming/📱 Android (Kotlin)

[Android][Kotlin] 카카오 로그인 API연동(Kakao Login) - 1

by MinChan-Youn 2022. 2. 10.

안녕하세요 챠니코딩입니다~

이번 게시글은 안드로이드 개발자라면 알아두면 서비스개발에서 한번쯤은 꼭 사용하는 KakaoLogin을 구현하는 방법에 대해서 알아보겠습니다. - 1편

 

 

카카오 로그인 API 예제코드

Git:

https://github.com/younminchan/kotlin-sns-samples/tree/main/kotlin-kakao-login

 

GitHub - younminchan/kotlin-sns-samples: SNS(kakao, naver, facebook, google) Login Example

SNS(kakao, naver, facebook, google) Login Example. Contribute to younminchan/kotlin-sns-samples development by creating an account on GitHub.

github.com

 

공식 API 문서

https://developers.kakao.com/docs/latest/ko/kakaologin/android

https://developers.kakao.com/docs/latest/ko/getting-started/sdk-android

 

Kakao Developers

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

developers.kakao.com

 

 

 

1-1. 안드로이드 프로젝트 생성

 

1-2. 카카오 SDK 추가를 위한 repository에 코드 추가 -> "Sync Now"

(Fox버전이후: settings.gradle / Fox버전이전: build.gradle에 추가)

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon

        //KakaoSDK repository
        maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/'}
    }
}
rootProject.name = "kotlin-kakao-login"
include ':app'

 

1-3. 카카오 SDK 추가 / ViewBinding 설정 -> "Sync Now"

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

android {
    compileSdk 31

    defaultConfig {
        applicationId "com.example.kotlin_kakao_login"
        minSdk 23
        targetSdk 31
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }

    // ViewBinding 설정
    buildFeatures {
        viewBinding true
    }
}

dependencies {

    implementation 'androidx.core:core-ktx:1.7.0'
    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.5.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'


    // Kakao-SDK
    implementation "com.kakao.sdk:v2-user:2.8.5" // 카카오 로그인
}

 

1-4. KeyHash확인코드 작성 -> "Run" (KeyHash확인은 카카오SDK에서 지원)

*확인한 KeyHash는 따로 적어둡니다.

//MainActivity.kt
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        /** HashKey확인 */
        val keyHash = Utility.getKeyHash(this)
        Log.e("Key", "keyHash: ${keyHash}")
    }
}

Log창에서 HashKey확인

 

1-5. AndroidManifest.xml에서 PackageName확인

빨간색으로 표시된곳이 PackageName입니다. KeyHash와 같이 따로 적어둡니다

AndroidManifest.xml

 

여기까지 완료가 되었다면 카카오 로그인을 구현하기 위한 처음준비는 끝났습니다.

다음 2번째 게시물에서는 KakaoDeveloper사이트에서 카카오 로그인을 위한 환경설정하는 방법에 대해서 알아보겠습니다.

 

----------------------------------------------------------------------------------------------------------

게시글의 궁굼한 점 또는 도움이 되었다면 댓글을 남겨주시면 답변드리겠습니다~

오늘도 즐거운 개발하세요~ :)

 

* 참고자료

- https://fre2-dom.tistory.com/115