developers.kakao.com/docs/latest/ko/kakaologin/android
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
현재 카카오 개발자 문서를 참고할 경우 Kotlin 기준으로 문서가 소개 되어있다.
하지만 아직 꼬린이인 JAVA로 개발하고 있는 안드로이드 개발자에겐 함께 사용하거나 접목이 어려울 경우가 있다.
1. 카카오모듈 세팅하기
- build.gradle(Module:.app)
implementation "com.kakao.sdk:v2-user:2.4.2"
- build.gradle(Project)
maven { url 'https://devrepo.kakao.com/nexus/content/groups/public/' }
2. Redirect URI 설정하기 (AndroidManifest 선언)
<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" />
<data
android:host="oauth"
android:scheme="kakao_native_app_key" />
</intent-filter>
</activity>
3. 카카오로그인 사용하기
btKakaoLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (UserApiClient.getInstance().isKakaoTalkLoginAvailable(act)) {
UserApiClient.getInstance().loginWithKakaoTalk(act, kakaoCallback);
} else {
UserApiClient.getInstance().loginWithKakaoAccount(act, kakaoCallback);
}
}
});
* 위는 카카오톡이 깔려있을 경우 아래는 카카오톡이 설치가 안되었을경우를 의미합니다.
* 여기서 act 는 현재 Activity 즉 Context를 의미합니다. this 또는 context 를 사용해주시면됩니다.
4. 카카오 로그인 콜백 선언하기
Function2<OAuthToken, Throwable, Unit> kakaoCallback = new Function2<OAuthToken, Throwable, Unit>() {
@Override
public Unit invoke(OAuthToken oAuthToken, Throwable throwable) {
if (oAuthToken != null) {
}
if (throwable != null) {
Log.d(HoUtils.TAG, "Message : " + throwable.getLocalizedMessage());
}
getKaKaoProfile();
return null;
}
};
5. 카카오 정보가져오기
private void getKaKaoProfile() {
UserApiClient.getInstance().me(new Function2<User, Throwable, Unit>() {
@Override
public Unit invoke(User user, Throwable throwable) {
if (user != null) {
Log.d(HoUtils.TAG, "Kakao id =" + user.getId());
//계정정보를 불러 왔을 경우
} else {
//계정정보가 없을경우
}
if (throwable != null) {
Log.d(HoUtils.TAG, "invoke: " + throwable.getLocalizedMessage());
}
return null;
}
});
}
※파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음※
'IT개발일지 > Android' 카테고리의 다른 글
[Android]Android 11 다른 앱 열기 (0) | 2021.09.23 |
---|---|
[Android]View 투명도 설정하기 (Xml Alpha 값 주기) (0) | 2021.07.14 |
[Android] WebView 버튼 클릭 이벤트 javascript 연동 (0) | 2021.03.26 |
[Android] AP-All SDK 적용하기 (0) | 2020.11.03 |
[Android] 지오코딩 주소->좌표 [2020버전] (0) | 2020.09.17 |