이 문서는 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');
}