본문으로 건너뛰기

카카오 공유 시작하기

시작하기 전에​

Core패키지에 대한 의존성을 설치하고 관련 플랫폼별 설정을 완료해야 합니다.

시작하기​

share 패키지는 카카오톡 공유와 메시지 발송 기능을 제공합니다.

share*Template과 send*TemplateToMe는 Android·iOS·웹에서 Promise<void>를 반환합니다. 성공 시 반환값은 없습니다. 공유 함수는 공유 화면을 여는 요청을 처리하며, 사용자가 메시지를 발송했는지 반환하지 않습니다. 친구 메시지 함수는 수신자별 발송 결과를 반환합니다.

공식 문서를 참고하세요.

image

팁

위 이미지는 카카오톡이 설치되지 않은 환경에서 웹 브라우저로 공유하는 화면입니다.

카카오톡이 설치된 기기에서는 카카오톡으로 공유합니다.

설치하기​

npm install --save @react-native-kakao/core @react-native-kakao/share

share는 core와 함께 설치합니다. 앱에서 카카오 로그인을 처리하려면 user 패키지를, 발송할 친구를 선택하려면 social 패키지를 추가합니다.

콘솔 설정하기​

카카오 공유와 카카오 메시지를 구현하기 전에 카카오 개발자 콘솔에서 추가 설정을 해야 합니다.

공식 문서를 참고하세요.

카카오톡 공유 가능 여부​

SDK를 초기화한 뒤 isKakaoTalkSharingAvailable()로 기기에서 카카오톡 공유를 실행할 수 있는지 조회합니다. 조회만 하며 카카오톡이나 브라우저를 열지 않습니다.

import { isKakaoTalkSharingAvailable } from '@react-native-kakao/share';

const isAvailable = await isKakaoTalkSharingAvailable();

Android와 iOS는 카카오 SDK의 확인 결과를 반환합니다. iOS에는 공통 iOS 설정의 앱 조회 스킴이 필요합니다. 웹은 기기의 앱 설치 여부를 확인할 수 없어 false를 반환합니다. 웹 공유 기능은 기존 공유 API로 사용할 수 있습니다.

공유 대상 선택 화면 설정​

모든 share*Template 함수에 pickerSettings를 전달할 수 있습니다. 이 옵션은 카카오톡의 수신자 선택 목록과 최대 선택 수를 지정합니다. send*TemplateToMe와 send*TemplateToFriends에는 적용하지 않습니다.

import { shareTextTemplate } from '@react-native-kakao/share';

await shareTextTemplate({
template: {
text: '공유할 내용',
link: { webUrl: 'https://example.com' },
},
pickerSettings: { type: 'chat', limit: 2 },
});
옵션허용 값생략 시 동작
typedefault: 친구와 채팅방, friend: 친구, chat: 채팅방친구와 채팅방을 모두 표시합니다.
limit1~10의 정수최대 10개를 선택할 수 있습니다.

허용하지 않는 값은 SDK를 호출하기 전에 오류로 거부합니다. chat 목록의 그룹 채팅방 선택 수는 카카오 정책에 따라 최대 5개입니다.

웹에서는 JavaScript SDK 2.8.0 이상과 카카오톡 26.2.0 이상이 필요합니다. 친구나 채팅방만 표시하려면 앱에 설정 권한이 있어야 하며, 권한이 없으면 카카오의 기본 설정을 사용합니다.

Android와 iOS에서는 SDK의 공개 shareType·limit 매개변수로 전달합니다. 다만 카카오 공식 가이드는 네이티브 지원을 아직 예정으로 안내하므로, 네이티브 카카오톡 화면에 옵션이 적용된다고 보장하지 않습니다. 카카오톡이 없어 네이티브 브라우저 공유로 전환되면 SDK의 URL 생성 API가 이 옵션을 지원하지 않아 기본 선택 화면을 사용합니다.