페이지 이동경로
  • 문서>
  • 카카오톡 소셜>
  • Flutter

카카오톡 소셜

Flutter

이 문서는 Kakao SDK for Flutter(이하 Flutter SDK)를 사용한 카카오톡 소셜 API 구현 방법을 안내합니다.

프로필 가져오기

기본 정보
레퍼런스 앱 설정
profile()
TalkProfile
설치
초기화
권한 사전 설정 카카오 로그인 동의항목
- 플랫폼 등록
카카오 로그인 활성화
동의항목
필요 필요:
프로필 정보(닉네임/프로필 사진)
닉네임
프로필 사진

현재 로그인한 사용자의 카카오계정에 연결된 카카오톡 프로필 정보를 불러옵니다. 프로필 정보 제공 기준에 대한 이용 정책을 확인한 후 사용해야 합니다.

요청

profile()을 호출합니다.

응답

요청 성공 시, 사용자의 카카오톡 프로필 정보를 담은 TalkProfile 객체가 반환됩니다.

예제

try {
    TalkProfile profile = await TalkApi.instance.profile();
    print('카카오톡 프로필 받기 성공'
        '\n닉네임: ${profile.nickname}'
        '\n프로필사진: ${profile.thumbnailUrl}');
} catch (error) {
    print('카카오톡 프로필 받기 실패 $error');
}

피커: 친구 선택하기

기본 정보
레퍼런스 앱 설정
selectFriend()
selectFriends()
SelectedUsers
설치
초기화
하이브리드 앱 가이드: 리다이렉트, 팝업 방식 사용 시
권한 사전 설정 카카오 로그인 동의항목
필요:
사용 권한
플랫폼 등록
카카오 로그인 활성화
동의항목
필요 필요:
카카오 서비스 내 친구목록(프로필사진, 닉네임, 즐겨찾기 포함)

사용자가 카카오톡 친구를 선택할 수 있는 친구 피커를 호출합니다.

요청

선택 유형에 따라 호출해야 할 함수가 다르므로, 서비스의 필요에 맞는 함수를 선택해 사용합니다.

선택 유형 함수
싱글 피커 selectFriend()
멀티 피커 selectFriends()

피커의 구성 요소는 파라미터를 사용해 선택적으로 지정할 수 있습니다.

Android 또는 iOS 네이티브 앱에서 친구 피커를 호출할 경우, 피커 호출 함수의 인수로 BuildContext 객체를 context 파라미터에 전달해야 합니다.

웹 페이지에서 친구 피커를 호출할 경우, 리다이렉트 방식팝업 방식을 사용할 수 있습니다.

응답

사용자가 피커 화면에서 친구 선택을 완료하면 SelectedUsers 객체가 반환됩니다. 해당 객체는 선택된 각 친구의 정보를 SelectedUser 객체의 배열로 포함합니다. 요청에 실패했거나 문제가 발생한 경우 문제 해결에서 원인을 확인합니다.

예제

싱글 피커
멀티 피커
// 네이티브 앱
// 파라미터 설정
var params = PickerFriendRequestParams(
    title: '싱글 피커', // 피커 이름
    enableSearch: true, // 검색 기능 사용 여부
    showFavorite: true, // 즐겨찾기 친구 표시 여부
    enableBackButton: true, // 뒤로 가기 버튼 사용 여부, 리다이렉트 방식 웹 또는 네이티브 앱에서만 사용 가능
);

// 피커 호출
try {
    SelectedUsers users = await PickerApi.instance.selectFriend(params: params, context: context);
    print('친구 선택 성공: ${users.users!.length}');
} catch(e) {
    print('친구 선택 실패: $e');
}
// 네이티브 앱
// 파라미터 설정
var params = PickerFriendRequestParams(
    title: '멀티 피커', // 피커 이름
    enableSearch: true, // 검색 기능 사용 여부
    showFavorite: true, // 즐겨찾기 친구 표시 여부
    showPickedFriend: true, // 선택한 친구 표시 여부, 멀티 피커에만 사용 가능
    maxPickableCount: 5, // 선택 가능한 최대 대상 수
    minPickableCount: 1, // 선택 가능한 최소 대상 수
    enableBackButton: true, // 뒤로 가기 버튼 사용 여부, 리다이렉트 방식 웹 또는 네이티브 앱에서만 사용 가능
);

// 피커 호출
try {
    SelectedUsers users = await PickerApi.instance.selectFriends(params: params, context: context);
    print('친구 선택 성공: ${users.users!.length}');
} catch(e) {
    print('친구 선택 실패: $e');
}

추가 기능

리다이렉트 방식

네이티브 앱에서는 사용할 수 없는 기능입니다.

리다이렉트 방식으로 피커를 호출합니다. 리다이렉트 방식 사용 시, 현재 창에서 피커로 이동합니다.

returnUrl 파라미터로 응답을 전달받을 서비스 서버의 URL을 지정해야 합니다. returnUrl은 [내 애플리케이션] > [플랫폼] > [Web]에 등록된 사이트 도메인만 허용됩니다. enableBackButton 파라미터로 뒤로가기 버튼 사용 여부를 설정할 수 있습니다.

사용자가 선택을 완료하면, 서비스 서버의 returnUrl로 리다이렉트(HTTP 302 Redirect) 되면서 응답이 URL 인코딩된 쿼리 스트링으로 전달됩니다.

// 웹, 리다이렉트 방식
// 파라미터 설정
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.selectFriends(params: params);

팝업 방식

네이티브 앱에서는 사용할 수 없는 기능입니다.

친구 피커가 팝업에서 열리도록 호출합니다. 이 경우, context 파라미터를 사용하지 않습니다.

사용자가 선택을 완료하면, 선택한 친구 정보를 Future로 전달합니다.

// 웹, 팝업 방식
// 파라미터 설정
PickerFriendRequestParams params = PickerFriendRequestParams(
    title: '멀티 피커', // 피커 이름
    enableSearch: true, // 검색 기능 사용 여부
    showFavorite: true, // 즐겨찾기 친구 표시 여부
    showPickedFriend: true, // 선택한 친구 표시 여부, 멀티 피커에만 사용 가능
    maxPickableCount: 5, // 선택 가능한 최대 대상 수
    minPickableCount: 1, // 선택 가능한 최소 대상 수
);

// 피커 호출
try {
    SelectedUsers users = await PickerApi.instance.selectFriends(params: params);
    print('친구 선택 성공: ${users.users!.length}'):
} catch(e) {
    print('친구 선택 실패: $e');
}

친구 목록 가져오기

기본 정보
레퍼런스 앱 설정
friends()
Friends
설치
초기화
권한 사전 설정 카카오 로그인 동의항목
필요:
사용 권한
플랫폼 등록
카카오 로그인 활성화
동의항목
필요 필요:
카카오 서비스 내 친구목록(프로필사진, 닉네임, 즐겨찾기 포함)

현재 로그인한 사용자의 카카오톡 친구 목록을 불러옵니다. 친구 정보 제공 조건에 대한 이용 정책을 확인한 후 사용해야 합니다.

요청

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');
}