Kakao 제품에 대한 필수 API 를 정의
Kakao API를 사용하기 위해서는 아래와 같은 순서로, 프로젝트 변환 및 환경 값 설정이 필요 하다.
가. 프로젝트 변경 [Gradle 환경]
나. 카카오 라이브러리 적용
다. 카카오 개발자 계정 생성 및 API 키 획득
라. 카카오 앱 키 등록
사. Gradle 설정
기존 프로젝트를 Gradle 환경으로 변경한다.
<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="kakao${NATIVE_APP_KEY}" />
</intent-filter>
</activity>
public class Startup extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
KakaoSdk.init(this, "{NATIVE_APP_KEY}");
}
- 프로젝트 > build.gradle 적용
buildscript {
repositories {
jcenter()
maven {url "https://maven.google.com"}
maven {url "https://jcenter.bintray.com"}
maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/'}//카카오
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.2'
}
}
apply plugin: 'com.android.application'
repositories {
jcenter()
maven {url "https://maven.google.com"}
maven {url "https://jcenter.bintray.com"}
maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/'}//카카오
}
android {
compileSdkVersion 33
buildToolsVersion "31.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
jniLibs {
srcDir 'libs'
}
}
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
defaultConfig {
multiDexEnabled true
}
dexOptions {
preDexLibraries = false
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
buildTypes {
release {
//minifyEnabled true
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
}
}
}
dependencies {
implementation fileTree(dir: 'mcoreLibs', include: '*.jar', exclude: ['android-support-v4.jar'])
// kakao sdk
implementation 'com.kakao.sdk:v2-all:2.15.0' // 카카오 전체 모듈 설치, 2.11.0 버전부터 지원
}
Kakao 제품에 대한 3rd Party연동 기능을 제공 한다.
Type | Description |
---|---|
PROCESSING | 진행 중 |
SUCCESS | 정상 처리됨 |
FAIL | 처리 중 문제가 발생함 |
command | Description |
---|---|
availablelogin | 카카오톡으로 로그인 가능 여부 |
login | 카카오톡으로 로그인 |
loginaccount | 카카오 계정으로 로그인 |
logout | 로그아웃(앱에서 카카오 연결은 유지) |
unlink | 연결 끊기(앱에서 카카오 연결 끊기) |
getinfo | 사용자 정보 가져오기 |
setinfo | 사용자 정보 저장하기 |
hastoken | 토큰 유무 확인 |
gettoken | 토큰 정보 보기 |
getapphash | 앱 해쉬값 가져오기 |
Changed in version 2.0.0
Arguments
Arguments
__
카카오톡으로 로그인 가능 여부 확인
M.plugin('3rd_kakao').auth({
command: 'availablelogin',
callback:function(status, result){
//result:true/false
alert(JSON.stringify(result));
}
});
카카오톡으로 로그인
M.plugin('3rd_kakao').auth({
command: 'login',
callback:function(status, result){
console.log(result);
}
});
카카오 계정으로 로그인
M.plugin('3rd_kakao').auth({
command: 'loginaccount',
callback:function(status, result){
console.log(result);
}
});
로그아웃
M.plugin('3rd_kakao').auth({
command: 'logout',
callback:function(status, result){
console.log(result);
}
});
앱 연결 끊기
M.plugin('3rd_kakao').auth({
command: 'unlink',
callback:function(status, result){
console.log(result);
}
});
사용자 정보 가져오기
M.plugin('3rd_kakao').auth({
command: 'getinfo',
callback:function(status, result){
console.log(result);
}
});
사용자 정보 저장하기
var params = {};
params.nick_name='테스트';
M.plugin('3rd_kakao').auth({
command: 'setinfo',
param: params,
callback:function(status, result){
console.log(result);
}
});
Note
2022년 5월 12일부터 프로필 정보 저장을 위해 기본 제공되던 프로퍼티인 nickname, profile_image, thumbnail_image의 값이 실시간 카카오계정 프로필 값으로 변경되고, 사용자 정보 저장하기를 통한 값 업데이트를 지원하지 않습니다. 키 값은 [내 애플리케이션] > [카카오로그인] > [사용자 프로퍼티]에 정의한 값을 사용해야 합니다. 예를들어 nick_name='테스트'를 작성하시기 위해서는 사용자 프로퍼티에 "nick_name" 프로퍼티를 추가해야합니다.
토큰 유무 확인
M.plugin('3rd_kakao').auth({
command: 'hastoken',
callback:function(status, result){
console.log(result);
}
});
토큰 정보 보기
M.plugin('3rd_kakao').auth({
command: 'gettoken',
callback:function(status, result){
console.log(result);
}
});
앱 해쉬값 가져오기
M.plugin('3rd_kakao').auth({
command: 'getapphash',
callback:function(status, result){
console.log(result);
}
});
Changed in version 2.0.0
Arguments
Arguments
Example:
var params={};
params.text="메시지 전달 테스트";
params.image={};
params.image.url="http://dev.uracle.co.kr/1.jpg";
params.image.width=120;
params.image.height=120;
params.webLink={};
params.webLink.text="웹링크 텍스트";
params.webLink.url="www.morpheus.kr";
M.plugin('3rd_kakao').link({
param: params,
callback:function(status, result){
alert(JSON.stringify(result));
}
});
¶ 샘플 프로젝트