본문 바로가기
Android/응용

[Android] Java로 카카오 V2 SDK 추가하기

by 응애~ 개발자 2022. 10. 6.
728x90
반응형

 안녕하세요. 이번에는 앱에 카카오 SDK 추가하는 방법을 설명드립니다. 요즘 SNS 로그인이나 각 사이트나 앱에서 SNS 관련 정보를 가져와야 하는 경우가 많아서 그중 사람들이 많이 사용하는 카카오 SDK를 추가하는 방법을 설명하겠습니다.

그리고 요즘 앱은 kotlin으로 넘어가는 추세인데 아직까지 레거시로 java가 남아있거나 java로 앱개발 하는 곳도 많아서 이번에는 java로 추가하는 방법을 설명드리겠습니다.

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

 

Kakao Developers

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

developers.kakao.com

 위에 사이트 보시면 추가하는 방법이나 api 사용 방법등 잘 설명이 되어 있어서 확인해보면 됩니다.

 일단 준비 할것은 아래의 것만 있으면된다.

  1.  카카오 계정
  2. AndroidStudio
  3. Keytools
  4. Android 5.0(Lollipop) 이상

 

1. 카카오 Application 추가 하기

일단 sdk를 추가하기 전에 위에 카카오 Developers 사이트에 들어가서 로그인 한다음 앱을 추가부터 먼저 해주셔야 합니다.

내 어플리케이션 들어가면 애플리케이션 추가하기 클릭하면 아래와 같은 화면이 나온다.

  앱 이름, 사업자명,  하단 체크박스는 필수이고 이미지는 선택입니다. 입력다한후에 저장 하시면됩니다.

 그러면 밑에 그림 처럼 추가가 되어 있을 것입니다.

이렇게 하면 끝이고 그 다음부터 해야 할것은 안드로이드에 sdk를 추가를 하면됩니다.

2. 안드로이드에 SDK 추가하기

 공식 문서에 보면 추가하는 방법이 자세하게 설명이 되어 있는데. 

안드로이드 app에서 setting.gradle.에 들어가서 아래 코드를 추가하면된다.

dependencyResolutionManagement {    
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)    
        repositories {        
            google()        
            mavenCentral()        
            maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }    
    }
}

대부분 개발 환경 보면 maven빼고 다 되어 있어서 maven만 추가하면 될것이다.

그 다음 build.gradle에 dependency를 추가 하면된다.  다 추가하지 말고 all 모듈하나만 하거나 아니면 그 외 필요한 것만 추가만 하면된다.

dependencies {

    implementation "com.kakao.sdk:v2-all:2.11.2" // 전체 모듈 설치, 2.11.0 버전부터 지원
    implementation "com.kakao.sdk:v2-user:2.11.2" // 카카오 로그인
    implementation "com.kakao.sdk:v2-talk:2.11.2" // 친구, 메시지(카카오톡)
    implementation "com.kakao.sdk:v2-story:2.11.2" // 카카오스토리
    implementation "com.kakao.sdk:v2-share:2.11.2" // 메시지(카카오톡 공유)
    implementation "com.kakao.sdk:v2-navi:2.11.2" // 카카오내비
    implementation "com.kakao.sdk:v2-friend:2.11.2" // 카카오톡 소셜 피커, 리소스 번들 파일 포함
}

 추가 했으면 gradle sink 맞추기만 하면 카카오 sdk는 install이 될것이다.

 

3. 앱 키설정하기

APP환경 설정 하기

위에 설정하기만 sdk는 받아 왔지만 사용을 못한다. 사용하기 위해서는 키를 설정 해야 한다. 앱에서 돌아가기 위해서 가져와야 하는 키가 있고 실행 시킬 환경에서도 추가로 해줘야 하는 작업이있다.

 일단 카카옫디벨로퍼에 본인 앱에 들어가면 앱 키가 보여 있을것이다.

앱 키가 있는데 네이티브 앱 키를 복사한다.

AndroidManifest.xml

manifest.xml에 인터넷 사용 권한 부터 설정한다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.sample">
 
    <!-- 인터넷 사용 권한 설정-->
    <uses-permission android:name="android.permission.INTERNET" />

    <application
    android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"

 그 다음 카카오 카카오Redirect URI 인가 관련 권한을 얻기 위해서 아래처럼 추가하면된다. 이 내용은 카카오 로그인때문에 추가하는데.. 대부분 sdk 추가하는 이유가 카카오 로그인이기 때문에 추가 하면되고 scheme쪽에 kakao${앱키}추가하면된느데 앱키는 카카오디벨로퍼 네이티브 앱키를 복사한것을 붙어 넣으면된다.

    <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" />

            <!-- Redirect URI: "kakao${NATIVE_APP_KEY}://oauth" -->
            <data
                android:host="oauth"
                android:scheme="kakao4f93c49de7b63a36282643a29089cb20" /> // nativeKey 추가하기
        </intent-filter>
    </activity>

Java

onCreate쪽에 초기화 네이티브 앱 키를 초기화를 한다. 그 다음 로컬에서 개발하기 위해서는 카카오 디벨로퍼쪽에서 앱 해쉬키를 등록해야하는데  KakaoSdk.INSTANCE.getKeyHash() 사용하면 해쉬키를 가져올수 있다. 다른 방법으로 가져와야 하는게 정석인데 그 부분은  플레이 스토어에 등록할때 설명하겠다.

@Override
public void onCreate() {
    super.onCreate();

    KakaoSdk.init(this, "942f2f5bba168cb797b792e80a9e9812"); // KakaoSdk.init(this, ${NATIVE_APP_KEY});
    String kakaoHashKey = KakaoSdk.INSTANCE.getKeyHash();
    Log.d("kakaoHashKey", kakaoHashKey);
}

실행 하면 아래 처럼 Logcat에서 들어가보면 해시키가 나올것이다.

그 다음 해시키를 복사하고 다시 카카오디벨로퍼 사이트에 들어가서 플랫폼에 들어가서 Android 플랫품 등록을 클릭해 보자.

 - 위 그림처럼 화면이 나오는데 패키지는 아래 그림 처럼 복사해서 붙어 놓기 하면된다.

- 마캣 URL 없으면 없음으로 지정하고 있으면 구글 플레이주소나 APK 다운받을 URL을 넣주면된다.

- 키 해시는 아까전에 hashKey 복사한것을 붙어 놓으면된다

 

마무리

 앱 등록부터 키 등록까지 봤는데 여기 까지 했으면 본인 개발하는데 설정은 끝나다고 보면된다. 남은것은 구글 플레이 스토어 올릴때 release 해시키 등록과 debugg 해시키 등록인데 그 부분은 앱스토에 올릴때 설명하겠다. 내용 보면 긴데 혼자서 설정까지 작업하는데 1시간도 안 걸린다. 앞으로 웹이나 앱 개발할려면 SNS 관련 API는 많이 사용할것이다. Rest API로 개발하는것 보다 SDK 추가해서 개발하면 개발하는 속도가 빨리늘어 날것이다.

728x90
반응형