기타/Android

[Android] 카카오톡 로그인 API 구현하기

yujindonut 2022. 3. 10. 17:17
728x90

🌝Gradle설정

 

build.gradle(project)파일에 Android SDK 레파지토리설정한다

 

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

build.gradle(module)로 가서 카카오 로그인 모듈을 추가해준다

 

settings.gradle파일에도

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

 

build.gradle(Module)

implementation "com.kakao.sdk:v2-user:2.8.6" // 카카오 로그인
implementation "com.kakao.sdk:v2-talk:2.8.6" // 친구, 메시지(카카오톡)
implementation "com.kakao.sdk:v2-story:2.8.6" // 카카오스토리
implementation "com.kakao.sdk:v2-link:2.8.6" // 메시지(카카오링크)
implementation "com.kakao.sdk:v2-navi:2.8.6" // 카카오내비

 

인터넷 권한 설정 - manifest -> AndroidManifest.xml

<uses-permission
    android:name="android.permission.INTERNET" />

MainActivity에서 hash값을 출력한다

import com.kakao.sdk.common.util.Utility
import android.util.Log

//onCreate 안에 입력
  val keyHash = Utility.getKeyHash(this)
  Log.d("Hash", keyHash)

ADEGPUAxbV1f27haYLmRIraqmwU=

 

🌝플랫폼 등록하기

요거 참조해서 등록!

이때 Hash값 넣어준다!!!!!

https://developers.kakao.com/docs/latest/ko/getting-started/app#platform

 

Kakao Developers

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

developers.kakao.com

패키지명은 MainActivity 맨위에 package 옆에 있는거 적어주시면 됩니다!

활성화 설정도 ON으로 해준다~

 

🌝내 애플리케이션 추가하기

 

-네이티브 앱 키는 기록해둬야해요!

-플랫폼 설정하기 -> 안드로이드 패키지명 등록하기 (안드로이트 프로젝트 위에 package ~ 이 패키지명과 동일해야한다)

 

 

 

플랫폼 등록후

왼쪽 위 메뉴 탭에서 '동의항목'

필수 동의로 가져오기!

 


 

🌝GlobalApplication생성

 

MainActivity와 같은 위치에 GlobalApplication이라는 kotlin class파일을 생성해준다.

import android.app.Application
import com.kakao.sdk.common.KakaoSdk
...
class GlobalApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        KakaoSdk.init(this, "네이티브 앱 키")
    }
}

여기서 네이티브 앱은 아까 만든 플랫폼에 들어가보면 나옵니다.

 

🌝AndroidManifest.xml설정

 

Application태그 안에

android:name=".GlobalApplication"

manifest에 로그인창이 되는 액티비티를 추가해준다

	<activity android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data
                    android:host="oauth"
                    android:scheme="cc5f34dfc7d05f581bf1569bee11e176" />
            </intent-filter>
        </activity>

exported="true"를 넣어주니까 빨간줄이 사라졌다

 

🌝카카오 로그인 버튼 만들기

 

원하는 버튼 형태를 만들 수 있다!

 

https://developers.kakao.com/tool/resource/login

 

Kakao Developers

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

developers.kakao.com

 

activity_main.xml로 이동해서 카카오 로그인 버튼을 생성한다

<ImageButton
    android:id="@+id/kakao_login_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="40dp"
    android:background="@android:color/transparent"
    android:src="@drawable/kakao_login_medium_wide"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.495"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/linear1"
    app:layout_constraintVertical_bias="0.193" />

 

MainActivity.kt

 

728x90