For the complete documentation index, see llms.txt. This page is also available as Markdown.

Notification.requestAgreement

함수형 API requestNotificationAgreement로도 같은 기능을 쓸 수 있어요.

기능 설명

알림 동의 화면을 요청하고, 동의 결과를 onEvent 콜백으로 전달해요. 토스앱 Android/iOS 5.255.0 이상에서 사용할 수 있어요.

options.templateCode에는 앱인토스 콘솔 > 미니앱 > 스마트발송에서 작성한 템플릿 코드를 넣어주세요.

이벤트 스타일로 동작하며, 반환값으로 앱브릿지 콜백을 해제하는 함수를 받아요. 결과가 오면 꼭 해제해 주세요.

호출 전에 Notification.requestAgreement.isSupported()로 지원 여부를 확인할 수 있어요. 미지원 버전에서 호출하면 UNSUPPORTED_APP_VERSION 에러가 발생해요. 함수형 API requestNotificationAgreement는 버전과 무관하게 구독을 시도해요.

타입

Notification.requestAgreement(params: RequestNotificationAgreementOptions): () => void;

Params

interface RequestNotificationAgreementOptions {
  options: { templateCode: string };
  onEvent: (result: { type: NotificationAgreementResult }) => void;
  onError: (error: unknown) => void | Promise<void>;
}

type NotificationAgreementResult =
  "newAgreement" | "alreadyAgreed" | "agreementRejected";

Response

앱브릿지 콜백을 해제하는 cleanup 함수를 반환해요.

에러

에러 코드는 onError로 받거나 호출을 감싼 try/catch에서 잡은 에러의 error.code 값이에요.

코드
설명

UNSUPPORTED_APP_VERSION

실행 중인 토스앱 버전이 이 기능을 지원하지 않으면 호출 즉시 발생해요. Notification.requestAgreement.isSupported()로 사전 확인하고, 발생 시 error.message(업데이트 안내 문구)를 사용자에게 보여주세요.

예시 코드

도움이 되었나요?