사이드 메뉴
시작하기
로그인
커뮤니케이션
광고
Android
이 문서는 Android SDK(Kakao SDK for Android)를 사용한 카카오톡 소셜 API 구현 방법을 안내합니다.
로그인한 사용자의 카카오계정에 연결된 카카오톡 프로필 정보를 조회합니다.
카카오 API로 조회 가능한 사용자의 프로필 종류와 차이점은 사용자 프로필에서 확인할 수 있습니다.
TalkApiClient의 profile() API를 호출합니다.
요청이 성공하면 TalkProfile 객체로 카카오톡 프로필 정보를 받습니다. 카카오톡 프로필 정보의 구성은 REST API를 함께 참고합니다.
// 카카오톡 프로필 조회TalkApiClient.instance.profile { profile, error ->if (error != null) {Log.e(TAG, "카카오톡 프로필 조회 실패", error)}else if (profile != null) {Log.i(TAG, "카카오톡 프로필 조회 성공" +"\n닉네임: ${profile.nickname}" +"\n프로필사진: ${profile.thumbnailUrl}")}}
친구 피커를 표시하고, 사용자가 선택한 카카오톡 친구 정보를 전달합니다.
selectFriend()를 호출해 친구 피커를 표시합니다.
viewType으로 화면 표시 형태를 풀 스크린(FULL) 또는 팝업 뷰(POPUP)로 지정할 수 있습니다.
친구 피커의 종류(SelectionMode)와 선택 가능 대상 수(minPickableCount, maxPickableCount)는 설정 객체인 SelectParams를 생성해 selectParams에 지정합니다.
mode가 SINGLE(싱글 피커)인 경우 최소, 최대 선택 수는 1로 고정됩니다. mode가 MULTIPLE(멀티 피커)인 경우 선택 가능 대상의 설정 범위는 최소 1, 최대 100(기본값: 최소 1, 최대 30)입니다. SelectParams 생성 방법을 함께 참고합니다.
이 외에 피커의 화면 방향, 검색 기능 등 세부적인 설정은 OpenPickerFriendRequestParams를 지정해 수정할 수 있습니다. 자세한 파라미터 정보는 레퍼런스와 친구 피커 커스텀 요소에서 확인할 수 있습니다.
Android 친구 피커의 SelectParams는 헬퍼 메서드를 사용해 생성해야 합니다. selectParams에 friend() 메서드로 생성한 값을 전달합니다. 메서드 사용 시 미지정된 선택 파라미터에는 기본 값이 적용됩니다. 예제를 함께 참고합니다.
사용자가 친구 피커에서 친구 선택을 완료하면 선택한 친구 수와 친구 정보가 담긴 SelectedUsers 객체가 반환됩니다. 이 객체는 선택된 각 친구의 정보를 담은 SelectedUser 객체의 배열입니다.
요청에 실패했거나 문제가 발생한 경우 에러 코드에서 원인을 확인합니다.
// 파라미터 설정val openPickerFriendRequestParams = OpenPickerFriendRequestParams(title = "싱글 피커", // 피커 이름friendFilter = PickerFriendFilter.REGISTERED, // 친구 목록 필터링 설정viewAppearance = ViewAppearance.AUTO, // 피커 화면 모드orientation = PickerOrientation.PORTRAIT, // 피커 화면 방향selectParams = SelectParams.friend(mode = SelectionMode.SINGLESINGLE: 싱글 피커, MULTIPLE: 멀티 피커))PickerClient.instance.selectFriend(context = context!!,params = openPickerFriendRequestParams,viewType = ViewType.FULL,FULL: 전체 화면, POPUP: 팝업 뷰) { selectedUsers, error ->if (error != null) {Log.e(TAG, "친구 선택 실패", error)} else {Log.d(TAG, "친구 선택 성공 $selectedUsers")}}
로그인한 사용자의 카카오계정에 연결된 카카오톡 친구 정보를 조회합니다.
friends() API를 호출합니다. 요청 시 친구 목록의 정렬 순서, 한 페이지당 친구 수를 선택적으로 지정할 수 있습니다. 파라미터 없이 요청 시 기본 설정대로 요청이 전송됩니다.
요청 성공 시 Friends 객체를 응답으로 받습니다. Friends 객체는 각 친구의 정보를 담은 Friend 객체의 리스트(List)로 구성되어 있습니다. 자세한 카카오톡 친구 정보 구성은 REST API를 함께 참고합니다.
만약 사용자가 카카오톡 친구 목록 제공에 동의하지 않아 요청이 실패한 경우, 아래 내용을 참고해 사용자 동의를 받은 후 다시 요청합니다.
- 동의항목에 [카카오 서비스 내 친구목록]을 사용하도록 설정했는지 확인합니다.
- 동의항목 추가 동의 요청 API로 '카카오 서비스 내 친구목록'의 사용자 동의를 받습니다.
// 카카오톡 친구 목록 조회 (기본)TalkApiClient.instance.friends { friends, error ->if (error != null) {Log.e(TAG, "카카오톡 친구 목록 조회 실패", error)}else if (friends != null) {Log.i(TAG, "카카오톡 친구 목록 조회 성공 \n${friends.elements.joinToString("\n")}")// 친구의 UUID 로 메시지 발송 가능}}