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(업데이트 안내 문구)를 사용자에게 보여주세요.
예시 코드
도움이 되었나요?