다음 기능을 지원합니다:
- 기기 정보를 노티플라이에 등록하여 웹 푸시 알림 수신 및 웹 팝업 노출
- 이벤트 및 유저 정보를 노티플라이와 연동하여 캠페인 타깃팅 및 분석 활용
- 유저 행동 데이터를 기반으로 한 이벤트 로깅 및 성과 측정
시작하기 전에
- VAPID 키 생성: 웹 푸시 발송/수신을 위해 VAPID Key를 생성합니다. 콘솔 설정 → SDK 설정 → 웹사이트 설정에서 생성할 수 있습니다. (웹 푸시를 사용할 경우에만 필요한 단계입니다.)
- HTTPS 환경 권장(브라우저 권한 정책) 권장 환경: 최신 Chrome/Edge/Safari, ES2017+, 빌드 툴(Webpack/Vite/Rollup 등) 사용 시 Service Worker 파일이 번들에 의해 누락되지 않도록 설정
1. 기본 설정
1. Service Worker 등록
브라우저 백그라운드에서 푸시 수신을 처리할 수 있도록, 루트 디렉토리에 Service Worker 파일을 생성합니다.- React
- Vanilla JS
notifly-service-worker.js 내용:
Service Worker의 파일명/경로는 임의 지정 가능합니다. 대신 초기화 옵션의
serviceWorkerPath와 반드시 일치시켜야 합니다.2. SDK 초기화
노티플라이 프로젝트 ID
프로젝트 유저 이름
프로젝트 유저 비밀번호
세션 유지시간(초). 최소 300, 기본 1800. 2.5.0 이상은 콘솔에서 설정값이 반영
웹 푸시 옵션. 2.5.0 이상은 콘솔 설정값 사용
3. 푸시 알림 권한 요청
콘솔의 권한 요청 팝업(askPermission)을 켜면, 방문 시 상단 안내 → 브라우저 권한 요청 순서로 동작합니다. 권한 요청은 다음 규칙을 따릅니다.- 유저가 아직 알림 권한을 설정하지 않은 경우 → 안내 팝업을 보여준 뒤 브라우저 권한을 요청합니다.
- 유저가 이미 “허용”한 경우 → 더 이상 팝업을 띄우거나 권한을 다시 묻지 않습니다.
- 유저가 “차단(거부)”한 경우 → 다시 요청하지 않습니다. 팝업도 노출되지 않습니다.

- 팝업의 스타일(텍스트, 색상 등)을 브랜드에 맞게 바꾸고 싶다면 권한 팝업 커스터마이징 을 참고하세요.
- 완전히 커스텀 UI를 쓰고 싶다면:
- SDK 2.5.0 이상: 노티플라이 콘솔에서 “자동 노출”을 꺼주세요.
- SDK 2.5.0 미만: SDK 초기화 시 askPermission: false로 설정하세요.
- 그 후 원하는 UI에서 직접 권한 요청을 구현할 수 있습니다.
MDN Web Docs - Notification: requestPermission을 참고해 주세요.
지원 언어
SDK가 표시하는 권한 요청 팝업은 다음 언어를 지원합니다.- SDK 버전 2.8.0 이상
- ko (한국어)
- en (영어)
- ja (일본어)
- zh (중국어)
- SDK 버전 2.8.0 미만
- 한국어, 영어만 지원됩니다.
수동 호출
- SDK 버전은 2.7.0 이상이어야 합니다.
- 콘솔에서 “권한 팝업 자동 노출”이 비활성화되어 있어야 합니다. (노티플라이 콘솔 → 설정 → SDK 설정 → 웹사이트)
- language 파라미터를 전달한 경우 → 그 언어 코드로 팝업을 시도합니다.
- 전달하지 않았거나 지원되지 않는 언어 코드인 경우 → a. 브라우저 언어가 지원 언어에 포함되면 그 언어를 사용합니다. b. 브라우저 언어도 지원되지 않으면 “기본 노출 언어”를 사용합니다. (아래 참고)
기본 노출 언어
이 설정은 노티플라이 JavaScript SDK 2.8.0 이상에서 지원됩니다. 2.8.0 미만 버전에서는 기본 언어가 항상 한국어(
ko)입니다.- 브라우저에 선호 언어가 설정되어 있지 않은 경우
- 브라우저 언어가 SDK에서 지원하지 않는 경우
팝업 커스터마이즈
노티플라이 콘솔에서 설정 → SDK 설정 → 웹사이트 설정 → 권한 요청 팝업 설정 으로 이동합니다. “디자인 설정”을 클릭해 팝업의 텍스트/스타일을 수정합니다.

2. SDK 설치 & 초기화
최신 버전은 아래와 같습니다:1. 패키지 매니저 (npm/yarn/pnpm)
- npm
- yarn
- pnpm
초기화 예시 (v2.5.0 이상)
projectId, username, password만 코드에서 지정합니다. 그 외 웹 푸시 관련 옵션은 콘솔 설정값을 자동 반영합니다.
- v2.5.0 이상
- v2.4.0 이하
2. CDN
<body> 내에 스크립트를 추가합니다. 로드 후 window.notifly로 접근합니다.
- IIFE (v2.7.4+ 권장)
- UMD (v2.5.0+)
- UMD (v2.4.0 이하)
3. 유저 정보 등록
노티플라이는 유저 식별자(userId)와 유저 프로퍼티(userProperties)를 기반으로 개인화 마케팅 캠페인을 수행합니다.등록된 유저 정보는 세그먼트 분류, 푸시 발송, 이메일 및 카카오 알림톡 등의 타깃팅에 활용됩니다.
1. 유저 ID 등록
Parameters
로그인 유저 ID. 로그아웃 시
null로 설정하여 해제- React
- Vanilla JS
2. 유저 속성 설정
Parameters
업데이트 할 유저 속성값들
- React
- Vanilla JS
setUserProperties
예약/표준 속성 키(Reserved Keys):
$email, $phone_number 등 채널 발송/개인화에 사용되는 키는 반드시 지정된 이름으로 설정하세요.4. 이벤트 로깅
유저 행동을 기록하여 캠페인 트리거, 세그먼트 조건, 성과 분석 등에 활용할 수 있습니다.예를 들어 버튼 클릭, 페이지 진입, 구매 완료 같은 유저 행동을 이벤트로 수집합니다.
Parameters
이벤트 이름 (예: “click_button”, “purchase_completed”)
이벤트에 대한 추가 속성. 예: “plan”: “premium”, “duration”: 120
세그먼트 분류 시 기준으로 사용할 키 목록 (최대 1개까지 지원)
segmentationEventParamKeys를 활용하여 이벤트 변수 (eventParams)를 발송 대상 설정 등에 활용할 수 있습니다. 최대 1개의 Key만 지정할 수 있습니다.- React
- Vanilla JS
trackEvent
5. 웹 팝업에서 커스텀 이벤트 로깅 (선택)
웹 팝업 HTML에서 유저 정의 이벤트를 기록하려면 ≥ 2.17.2 및 다음 옵션이 필요합니다.6. 연동 테스트
SDK 설치 후 아래 페이지에서 실제 이벤트 및 푸시 수신 여부를 테스트하세요.👉 SDK 연동 Test

