이 문서는 Android SDK(Kakao SDK for Android) v1(2.0.0 미만 버전)에서 v2(2.0.0 이상 버전)로 업그레이드하는 사용자를 위한 참고 정보를 제공합니다.
Android SDK v2는 Android SDK v1에 비해 간결한 모듈 구조를 갖고 있습니다. Android SDK v2는 카카오 로그인과 공통 및 유틸리티 성격의 기능들을 common 모듈 하나에 모아 제공합니다. 또한 제품 단위로 구성된 모듈별 API는 Client, 객체 및 구조체 정보는 Model 패키지에 모여 있어 보다 효율적이고 편리하게 사용할 수 있습니다.
카카오 로그인이 필요한 API 사용 시 주의 사항
최신 버전 SDK 사용 시, 카카오 로그인으로 발급받은 액세스 토큰을 전달해야 하는 API를 사용하려면 user 모듈에서 제공하는 카카오 로그인 기능을 함께 구현해야 합니다.
Android SDK v1
AndroidManifest.xml 에 네이티브 앱 키 설정
KakaoSDK로 초기화 함수 호출
com.kakao.util 패키지의 Utility로 키 해시 구하기 함수 호출
최신 버전
이름 Android SDK v1 Android SDK v2 초기화 init() init() 키 해시 구하기 getKeyHash() getKeyHash()
Android SDK v1
카카오 로그인 API는 LoginActivity로 호출
액세스 토큰 정보 조회 API는 AuthService로 호출
동의항목 추가 동의 요청 API는 Session으로 호출
로그아웃, 연결 해제, 사용자 정보 조회, 사용자 프로퍼티 저장 API는 UserManagement로 호출
최신 버전
카카오 로그인 API는 v2-user 모듈의 UserApiClient로 호출
토큰 존재 여부 조회 API는 AuthApiClient로 호출
이름 Android SDK v1 Android SDK v2 카카오톡으로 로그인 - loginWithKakaoTalk(context) 카카오계정으로 로그인 - loginWithKakaoAccount(context) 로그아웃 requestLogout() logout() 연결 해제 requestUnlink() unlink() 사용자 정보 조회 me() me() 사용자 프로퍼티 저장 requestUpdateProfile(properties) updateProfile() 동의항목 추가 동의 요청 updateScopes(scopes) loginWithNewScopes(context, scopes) 카카오톡 실행 가능 여부 조회 - isKakaoTalkLoginAvailable() 액세스 토큰 정보 조회 requestAccessTokenInfo() accessTokenInfo() 토큰 존재 여부 조회 isOpened() hasToken()
Android SDK v1: KakaoTalkService로 API 호출
최신 버전 : v2-talk 모듈의 TalkApiClient로 API 호출
이름 Android SDK v1 Android SDK v2 카카오톡 프로필 조회 requestProfile() profile() 카카오톡 친구 목록 조회 requestAppFriends() friends()
Android SDK v1
KakaoLinkService로 API 호출
사용자 기기에 카카오톡 미설치 시 내부적으로 웹뷰로 메시지 전달됨
최신 버전
v2-share 모듈의 ShareClient로 API 호출
메시지 발송 API는 context 전달 필요
사용자 기기에 카카오톡 미설치 시 웹뷰 또는 기본 브라우저로 공유되도록 구현 필요
이름 Android SDK v1 Android SDK v2 카카오톡 앱으로 공유 가능 여부 확인하기 - isKakaoTalkSharingAvailable() 기본 메시지 발송 sendDefault(template) shareDefault(context, defaultTemplate) 스크랩 메시지 발송 sendScrapWithURL(url) shareScrap(context, url) 사용자 정의 메시지 발송 sendCustomWithTemplateId(templateId) shareCustom(context, templateId) 이미지 업로드 uploadImage(imageFile) uploadImage(file) 이미지 스크랩 scrapImage(imageUrl) scrapImage(url)
Android SDK v1: KakaoTalkService로 API 호출
최신 버전 : v2-talk 모듈의 TalkApiClient로 API 호출
이름 Android SDK v1 Android SDK v2 나에게 기본 메시지 발송 requestSendMemo(template) sendDefaultMemo(template) 나에게 스크랩 메시지 발송 requestSendMemo(url) sendScrapMemo(url) 나에게 사용자 정의 메시지 발송 requestSendMemo() sendCustomMemo(templateId) 친구에게 기본 메시지 발송 sendMessageToFriends(template, uuids) sendDefaultMessage(template, receiverUuids) 친구에게 스크랩 메시지 발송 sendMessageToFriend(url, uuids) sendScrapMessage(url, receiverUuids) 친구에게 사용자 정의 메시지 발송 sendMessageToFriends(templateId, uuids) sendCustomMessage(templateId, receiverUuids)
Android SDK v1
카카오톡 채널 추가, 카카오톡 채널 채팅 API는 PlusFriendService로 호출
카카오톡 채널 관계 조회 API는 KakaoTalkService로 호출
최신 버전
카카오톡 채널 추가, 카카오톡 채널 채팅 API는 v2-talk 모듈의 TalkApiClient로 호출
카카오톡 채널 관계 조회 API는 카카오 로그인 구현 필요
이름 Android SDK v1 Android SDK v2 카카오톡 채널 추가 addFriend(plusFriendId) addChannelUrl(channelPublicId) 카카오톡 채널 채팅 chat(plusFriendId) channelChatUrl(channelPublicId) 카카오톡 채널 관계 조회 requestPlusFriends() channels()
Android SDK v1
배송지 조회, 서비스 약관 동의 내역 조회 API는 UserManagement로 호출
서비스 약관 선택해 동의 요청 API는 LoginActivity로 호출
최신 버전: 배송지 조회 , 서비스 약관 동의 내역 조회 , 서비스 약관 선택해 동의 요청 API 모두 v2-user 모듈의 UserApiClient로 API 호출
이름 Android SDK v1 Android SDK v2 배송지 조회 shippingAddresses() shippingAddresses() 서비스 약관 동의 내역 조회 serviceTerms() serviceTerms() 서비스 약관 선택해 동의 요청 - loginWithKakaoTalk(context, serviceTerms) loginWithKakaoAccount(context, serviceTerms)
Android SDK v1
KakaoNaviService로 API 호출
파라미터 설정은 각 클래스 newBuilder()와 setNaviOptions() 메소드 사용
최신 버전
v2-navi 모듈의 NaviClient로 API 호출
파라미터 설정은 각 클래스 생성자 사용
이름 Android SDK v1 Android SDK v2 길 안내 navigate(destination) navigateIntent(location, naviOption) 목적지 공유 shareDestination(destination) shareDestinationIntent(location, naviOption) 길 안내 조건 설정 newBuilder() setNaviOptions(options) NaviOption() 목적지 정보 설정 newBuilder() setNaviOptions(options) Location()
Android SDK v1: PushService로 API 호출
최신 버전: 푸시 알림 API 미지원, REST API 사용 가능
이름 Android SDK v1 Android SDK v2 푸시 토큰 등록 registerPushToken(pushToken, deviceId) - 푸시 토큰 조회 getPushTokens() - 푸시 토큰 삭제 deregisterPushToken(deviceId) -