본문으로 건너뛰기

share

시스템 공유 시트를 통해 텍스트 메시지를 공유합니다. 사용자가 메신저, 이메일, 메모장 등 원하는 앱으로 내용을 전달할 수 있습니다.

시그니처

import { share } from '@apps-in-toss/web-framework';

declare function share(message: { message: string }): Promise<void>;

파라미터

이름타입필수설명
message.messagestring공유할 텍스트. URL을 포함할 수 있으며, 공유 대상 앱이 링크를 자동 감지해 미리보기를 표시합니다.

반환값

  • Promise<void> — 공유 시트가 열리면 resolve. 사용자가 공유를 취소하더라도 reject되지 않습니다.
  • devtools mock 환경에서 navigator.share가 지원되면 표준 API를 통해 공유 시트를 엽니다. 미지원 환경에서는 콘솔에 메시지를 로그합니다.

권한

권한이 필요하지 않습니다.

예제

최소 예제

import { share } from '@apps-in-toss/web-framework';

await share({ message: '이 앱 추천해요! https://example.com' });

실전 예제 — 초대 코드 공유 버튼

import { share } from '@apps-in-toss/web-framework';
import { getTossShareLink } from '@apps-in-toss/web-framework';

export function InviteButton({ inviteCode }: { inviteCode: string }) {
async function handleShare() {
const link = await getTossShareLink(`/invite/${inviteCode}`);
await share({
message: `친구와 함께 사용해 보세요! 초대 코드: ${inviteCode}\n${link}`,
});
}

return (
<button type="button" onClick={handleShare}>
친구 초대하기
</button>
);
}

직접 실행해 보기

sdk-example의 Navigation 페이지에서 share 카드를 실행해 결과를 확인할 수 있습니다.

sdk-example에서 실행해 보기

관련 API

관련 가이드

외부 참조