무작정 프로젝트 | Kakao API - Login편 [Android Java]

2021. 2. 5. 21:29무작정 프로젝트/API - Android

반응형

프로젝트 주요 기능

  • 카카오 로그인 기능을 구현합니다.
    • Kakao SDK 설정
    • 로그인 사용자 정보 가져오기

프로젝트 완성 파일. zip

KakaoAPI.zip
0.52MB

제작 1. Kakao Developers 설정

Kakao Developers

 

Kakao Developers

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

developers.kakao.com

위 사이트로 들어가서 Kakao Developers의 '내 애플리케이션' 설정을 해줍니다.

 

내 애플리케이션 클릭!

 

카카오톡 로그인 후

 

애플리케이션 추가하기 클릭

 

앱 이름과 사업자명을 적당히 지어주고 '저장'

 

생성한 애플리케이션의 '플랫폼'을 설정해 준다.

 

Android는 '카카오톡 로그인'에 사용될 타겟 플랫폼

Web은 '카카오 페이 결제'에 사용 될 타깃 플랫폼

 

먼저 Android 플랫폼에 패키지명에

com.test (**안드로이드 프로젝트 생성할 때 같은 패키지명이여야 한다.)

라고 입력 후 저장한다.

 

이후 Web 플랫폼 등록은

https://www.naver.com

을 입력 후 저장한다.

 

도메인을 설정하면 'Redirect URI'를 등록해야 된다고 나오는데 이것 또한 설정해준다.

 

1. 활성화 설정을 'ON'

2. Redirect URI는 https://www.naver.com/oauth

으로 설정하여 저장해준다.

 

그리고 왼쪽 위 메뉴 탭에서 '동의 항목' 클릭하여

 

사용자의 닉네임과 프로필 사진을 가져오는 동의 항목 설정을 해준다.

설정 버튼을 클릭 후

 

간단한 테스트 용 목적을 적어준 뒤 저장을 누른다.

'키 해시' 값을 제외한 모든 설정이 끝났다.

제작 2. 프로젝트 설정 - 모듈

Kakao Developers

 

Kakao Developers

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

developers.kakao.com

필요한 모듈을 설정하기 위해 Android Project를 만듭니다.

 

Empty 프로젝트로 생성 후

Name : KakaoAPI

Package name : com.test (Android 플랫폼에서 설정한 package name과 동일해야 함.)

로 설정해준다.

 

생성된 프로젝트의 build.gradle(Project 수준)에

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

을 작성 후 Sync Now를 눌러준다.

 

build.gradle(Module 수준)에 minSdkVersion을 19로 올려주고

 

implementation "com.kakao.sdk:v2-user:2.2.0" // 카카오 로그인

implementation "com.kakao.sdk:v2-talk:2.2.0" // 친구, 메시지(카카오톡)

implementation "com.kakao.sdk:v2-story:2.2.0" // 카카오스토리

implementation "com.kakao.sdk:v2-link:2.2.0" // 메시지(카카오링크)

implementation "com.kakao.sdk:v2-navi:2.2.0" // 카카오내비

을 사진과 같이 추가 후 Sync Now를 눌러준다.

 

  • minSdkVersion을 올려준 이유?

Android SDK의 최저 버전이 '19'부터 지원되기 때문에 API 레벨을 올려줬다.

 

AndroidManifest.xml에

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

android:usesCleartextTraffic="true"

사진과 같이 작성 후 저장해준다.

이제 Developers에서 설정해 주지 못했던 '키 해시'값을 설정해 주기 위해 MainActivity.java로 이동한다.

 

Log.e("Debug", Utility.INSTANCE.getKeyHash(this));

를 입력 후 'Logcat'에 출력되는 키 해시값을 복사한 후

 

Android 플랫폼 수정에서 키 해시값을 등록한다.

여기까지가 '모듈 수준 설정'입니다.

제작 3. 로그인 구현

Kakao Developers

 

Kakao Developers

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

developers.kakao.com

로그인을 구현하기 위해서 Redirect URI를 설정한다.

 

AndroidManifest.xml안에

<activity android:name=“com.kakao.sdk.auth.AuthCodeHandlerActivity"> 
	<intent-filter>
    	<action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

		<!-- Redirect URI: "kakao{NATIVE_APP_KEY}://oauth“ --> 
        <data android:host="oauth" android:scheme="kakao{NATIVE_APP_KEY}" />
	</intent-filter>
</activity>

사진과 같이 작성 후 '{NATIVE_APP_KEY}'값을 수정해야 되는데

 

내 애플리케이션의 '네이티브 앱 키'를 복사하여 수정해 주면 된다.

이제 로그인을 구현해 보자.

 

간단한 xml 구성이다. 사용자 이름을 보여줄 TextView와 로그인을 실행할 Button으로 구성했다.

이후 MainActivity.java를 작성한다.

 

코드를 작성 후 실행해 보면

 

로그인 버튼 클릭 시 카카오 로그인 창이 나오게 되며

 

로그인 후 Continue를 클릭하여 완료하면

 

로그인을 한 사용자의 이름으로 TextView가 변경됩니다.

 

끝으로...

Kakao SDK를 한번 설정해 두면 여러 가지 기능을 사용할 수 있습니다.

현재 프로젝트는 단순히 로그인만 구현했지만

추가했던 라이브러리를 보면 메시지, 내비게이션 등 여러 가지를 사용할 수 있습니다.

Kakao Developers

 

Kakao Developers

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

developers.kakao.com

사용 방법은 문서를 보면서 찾아보는 게 가장 좋겠습니다!

반응형