사이드 메뉴
시작하기
로그인
커뮤니케이션
광고
Flutter
이 문서는 Flutter SDK(Kakao SDK for Flutter)를 사용한 카카오톡 소셜 API 구현 방법을 안내합니다.
| 레퍼런스 | 앱 설정 |
|---|---|
profile()TalkProfile | 설치 초기화 |
로그인한 사용자의 카카오계정에 연결된 카카오톡 프로필 정보를 조회합니다.
카카오 API로 조회 가능한 사용자의 프로필 종류와 차이점은 사용자 프로필에서 확인할 수 있습니다.
profile()을 호출합니다.
요청 성공 시, 사용자의 카카오톡 프로필 정보를 담은 TalkProfile 객체가 반환됩니다.
try {TalkProfile profile = await TalkApi.instance.profile();print('카카오톡 프로필 받기 성공''\n닉네임: ${profile.nickname}''\n프로필사진: ${profile.thumbnailUrl}');} catch (error) {print('카카오톡 프로필 받기 실패 $error');}
| 레퍼런스 | 앱 설정 |
|---|---|
selectFriend()SelectedUsersPickerFriendRequestParams | 설치 초기화 하이브리드 앱 가이드: 리다이렉트 방식 사용 시 |
친구 피커를 띄우고, 사용자가 선택한 카카오톡 친구 정보를 전달합니다.
selectFriend() 호출 시, 함께 전달하는 파라미터에 따라 친구 피커의 친구 선택 유형을 선택할 수 있습니다.
멀티 피커를 사용하려면 enableMulti를 true로, 싱글 피커를 사용하려면 enableMulti를 false로 지정합니다. 미설정 시, 멀티 피커가 적용됩니다.
이 외에 피커의 화면 방향, 검색 기능 등 세부적인 설정은 PickerFriendRequestParams를 지정해 수정할 수 있습니다. 자세한 파라미터 정보는 레퍼런스를 참고합니다.
피커의 구성 요소는 파라미터를 사용해 선택적으로 지정할 수 있습니다.
웹 페이지에서 친구 피커를 호출할 경우, 리다이렉트 방식을 사용할 수 있습니다.
사용자가 피커 화면에서 친구 선택을 완료하면 SelectedUsers 객체가 반환됩니다. 해당 객체는 선택된 각 친구의 정보를 SelectedUser 객체의 배열로 포함합니다. 요청에 실패했거나 문제가 발생한 경우 에러 코드에서 원인을 확인합니다.
// 파라미터 설정final params = PickerFriendRequestParams(title: '싱글 피커', // 피커 이름enableSearch: true, // 검색 기능 사용 여부showFavorite: true, // 즐겨찾기 친구 표시 여부enableBackButton: true, // 뒤로 가기 버튼 사용 여부, 리다이렉트 방식 웹 또는 네이티브 앱에서만 사용 가능);// 피커 호출try {final SelectedUsers users = await PickerApi.instance.selectFriend(context: context, params: params, enableMulti: false);print('친구 선택 성공: ${users.users!.length}');} catch(error) {print('친구 선택 실패: $error');}
네이티브 앱에서는 사용할 수 없는 기능입니다.
리다이렉트 방식으로 피커를 호출합니다. 리다이렉트 방식 사용 시, 현재 창에서 피커로 이동합니다.
returnUrl 파라미터로 응답을 전달받을 서비스 서버의 URL을 지정해야 합니다. returnUrl은 앱 관리 페이지의 [앱] > [플랫폼 키] > [JavaScript 키] > [JavaScript SDK 도메인]에 등록된 도메인만 허용됩니다. enableBackButton 파라미터로 뒤로가기 버튼 사용 여부를 설정할 수 있습니다.
사용자가 선택을 완료하면, 서비스 서버의 returnUrl로 리다이렉트(HTTP 302 Redirect) 되면서 응답이 URL 인코딩된 쿼리 문자열로 전달됩니다.
// 웹, 리다이렉트 방식// 파라미터 설정final PickerFriendRequestParams params = PickerFriendRequestParams(title: '멀티 피커', // 피커 이름enableSearch: true, // 검색 기능 사용 여부showFavorite: true, // 즐겨찾기 친구 표시 여부showPickedFriend: true, // 선택한 친구 표시 여부, 멀티 피커에만 사용 가능maxPickableCount: 5, // 선택 가능한 최대 대상 수minPickableCount: 1, // 선택 가능한 최소 대상 수returnUrl: 'https://developers.kakao.com', // 친구 정보를 받을 URL, 리다이렉트 방식 웹 사용 시 필수enableBackButton: true, // 뒤로 가기 버튼 사용 여부, 리다이렉트 방식 웹 또는 네이티브 앱에서만 사용 가능);// 피커 호출// 친구 선택 성공: ${returnUrl}?selected=${SelectedUsers}// 친구 선택 실패: ${returnUrl}?error=${Error}await PickerApi.instance.selectFriend(context: context, params: params, enableMulti: true);
로그인한 사용자의 카카오계정에 연결된 카카오톡 친구 정보를 조회합니다.
친구 정보 제공 조건에 대한 이용 정책을 확인한 후 사용해야 합니다.
friends()를 호출합니다.
요청 성공 시, 친구의 수와 각 친구의 정보를 담은 Friends 객체가 반환됩니다. 해당 객체의 프로퍼티인 elements 하위에 각 친구의 정보가 Friend 객체로 포함됩니다. Friend 하위의 uuid 값은 카카오톡 메시지 전송에 사용됩니다.
try {Friends friends = await TalkApi.instance.friends();print('카카오톡 친구 목록 조회 성공''\n${friends.elements?.map((friend) => friend.profileNickname).join('\n')}');} catch (error) {print('카카오톡 친구 목록 조회 실패 $error');}