Appearance
[앱/웹] 알림 종류 on/off (taxonomy + 푸시 권한) PRD
Backlog grooming 단계의 산출물. 무엇을 만들지·왜 만들지·핵심 비즈니스 룰을 정의한다. 화면별 디테일(컴포넌트·상태·인터랙션)은 spec.md로.
Status: draft Created: 2026-06-10 Last updated: 2026-06-10 Linear Project: [앱/웹] 알림 종류 on/off (taxonomy + 푸시 권한)Author: agent (prd-writer) 앱/웹/스튜디오: 앱 / 웹
Reversal Risk Summary
| Layer | R-level | Review focus |
|---|---|---|
| Policy / Rule | R2 | 카테고리 taxonomy 경계(그룹·항목 묶음)와 발송 게이팅 룰은 출시 전 합의 필요. 되돌릴 수 있으나 consent 의미·FCM 토픽 재정의가 따라옴 |
| Data / Backend | R2 | 카테고리별 consent 저장 단위·스냅샷·토픽 매핑. 출시 후 카테고리 추가/병합 시 마이그레이션 비용 |
| User-facing Surface | R1 | 설정 화면 내 카테고리 배치·진입점·그룹 순서는 출시 후 조정 가능. 기본값 제안 후 진행 |
| Copy / Visual Presentation | R1 | 카테고리 라벨·설명 문구는 출시 후 빠르게 조정 가능 |
- R1 Low: 출시 후 빠르게 조정 가능. 기본값 제안 후 진행.
- R2 Medium: 되돌릴 수 있으나 개발/데이터/운영 재작업 필요. 근거·대안 기록.
- R3 High: 되돌림 비용 큼 / 정산·신뢰·정합성 영향. 별도 싱크 필요.
1. 목표 및 배경
1.1 문제
- 사용자 정의: 푸시 알림을 받는 로그인 유저. 특히 소셜 활동(작품·댓글)이 활발해 좋아요·댓글 알림을 다량 수신하는 유저.
- 상황: 푸시 알림의 종류와 양이 늘어나는데, 사용자는 알림을 의미 단위로 골라 끌 수 없다. 현재는 사실상 전체 ON / 전체 OFF에 가깝다.
- 미충족 needs: 필요한 알림과 불필요한 알림을 분리하고 싶다. 예) 좋아요 알림은 고볼륨이고 메시지 자체의 중요도는 낮다. 반면 댓글은 내용 자체가 중요하다. 종류 구분 없이 알림이 쌓이면, 피로한 유저는 푸시를 통째로 꺼버리고 그 결과 정작 중요한 알림(댓글·답글 등)도 놓친다.
1.2 근거
- 현재 다수의 푸시 카테고리가 이미 운영 중이다(팔로우한 디렉터 새 에피소드, 댓글 좋아요, 댓글 스레드 새 댓글, 크레딧/스타 만료, 첫 씬 생성 nudge, 이어보기, 출석/마케팅 등). 그러나 유저가 종류별로 제어할 수단이 없다.
UserNotificationSetting이 user-level 알림 consent의 SOT로 이미 존재하며, consent 변경 시 스냅샷 append와 FCM 토픽 구독/해지가 가능하다 → 카테고리 토글을 얹을 자리가 있다.- 선행 맥락: 출시 당시 [마이]>[메뉴]>[알림 설정]은 OS 푸시 권한 + 마케팅 + 야간 혜택 토글만 다뤘고, 소셜/공지/출석 토글은 당시 실제 미연동이라 의도적으로 제외됐다. 본 PRD는 그 비어 있던 소셜·콘텐츠성 알림 제어를 채운다.
1.3 아이디어 (해결 방향)
알림을 의미 단위(댓글·좋아요·팔로우·디렉터 소식)로 묶은 푸시 발송 카테고리 taxonomy를 도입하고, 유저가 카테고리별로 앱 밖 모바일 푸시 발송 여부를 on/off 한다. 피로도가 높은 좋아요·반응은 눈에 잘 띄고 쉽게 끌 수 있게 배치한다(별도 토글 가치가 높음). 필수 고지성 알림과 OS 권한은 카테고리 토글보다 상위 정책으로 둔다. 알림센터 적재 여부는 이 on/off와 독립된 별도 정책이다.
1.4 가설
- 종류별 토글을 제공하면, 알림 피로로 인한 전체 푸시 권한 OFF 비율이 감소한다.
- 좋아요·반응 카테고리 OFF가 활발히 사용되어, 유저는 피로를 줄이면서도 핵심 알림(댓글·답글) 수신은 유지한다.
- 핵심 알림 수신이 유지되면, 알림을 통한 재방문/상세 진입이 유지 또는 개선된다.
1.5 성공 지표
| 지표 | 현재 | 목표 | 측정 방법 |
|---|---|---|---|
| 전체 푸시 권한 OFF 비율 | (출시 직전 측정) | 감소 | OS 권한 상태 |
| 좋아요·반응 카테고리 OFF 사용률 | — | 유의미한 사용 | 카테고리 토글 로깅 |
| 댓글 푸시 → 상세 진입률 | (출시 직전 측정) | 유지 이상 | receive→click 로깅 |
- 메인 지표: 전체 푸시 권한 OFF 비율 감소.
- 가드레일: 핵심 알림(댓글·답글) 수신·진입률이 악화되지 않을 것.
- 베이스라인 수치는 출시 직전 PM/데이터 담당자가 확정한다(정책은 본 PRD에서 확정, 수치 갱신만 분리).
2. 타깃 사용자
2.1 주요 사용자
- 푸시 알림을 받는 로그인 유저 전체.
- 특히 작품·댓글 소셜 활동이 활발해 좋아요·댓글 알림을 다량 수신하는 유저에게 가치가 크다.
- 디렉터를 팔로우해 디렉터 소식(새 작품·게시글)을 받는 유저.
2.2 핵심 시나리오
- 좋아요 알림이 너무 많아 피곤한 유저가, 알림 설정에서 좋아요·반응만 끄고 댓글·답글 알림은 그대로 받는다.
- 디렉터 소식만 받고 싶은 유저가, 소셜 알림은 끄고 디렉터 소식 카테고리만 켜 둔다.
- OS 푸시 권한을 꺼 둔 유저가 나중에 권한을 다시 켰을 때, 이전에 설정한 카테고리 선호가 그대로 적용된다.
3. 핵심 기능 요구사항
3-1. 클라이언트 (앱/웹)
알림 카테고리 on/off
주요 동작: 알림 설정 화면에서 알림을 카테고리 단위로 켜고 끈다.
MVP taxonomy (그룹 4개):
그룹 항목 비고 1. 댓글/답글 내 작품에 새 댓글 / 내 댓글에 답글·새 thread 댓글 내용 자체가 중요 → 핵심 알림 2. 좋아요·반응 내 작품 좋아요 / 내 댓글 좋아요 고볼륨·저중요도. 분리 토글 가치 높음 3. 팔로우 새 팔로워 4. 디렉터 소식 팔로우한 디렉터의 새 작품 / 새 게시글 새 캐릭터(=소울)는 future scope, 현재 푸시 없음 비즈니스 룰:
- 기본값은 MVP 전 카테고리 ON. 좋아요·반응도 default OFF가 아니라 ON으로 두되, 눈에 잘 띄고 쉽게 끌 수 있게 배치한다.
- 카테고리 토글 변경은 user-level 알림 consent(
UserNotificationSetting)에 반영된다(스냅샷 누적 + FCM 토픽 구독/해지). 구현 방식은 spec/개발 설계 영역. - 그룹 내 항목(예: 좋아요·반응의 '작품 좋아요'와 '댓글 좋아요')을 하나의 토글로 묶을지 항목별로 분리할지는 §7 Open Question.
- 디렉터 새 캐릭터(소울) 알림은 현재 푸시가 없으므로 토글 대상에서 제외(future).
발송 게이팅 룰:
- 카테고리가 OFF면 해당 종류의 푸시를 발송하지 않는다.
- OS 푸시 권한 OFF 시: 앱 레벨 카테고리 선호도는 저장하되, 실제 발송은 OS 권한이 ON이 되기 전까지 blocked로 처리한다. 권한을 다시 켜면 저장된 카테고리 선호가 그대로 적용된다.
- 필수 고지성 알림과 OS 권한은 카테고리 토글보다 상위 정책이다. 카테고리 off로 필수 고지성 알림을 끌 수 없으며, 필수 고지성 알림의 정의/범위 자체는 본 PRD 범위 밖(상위 정책).
Notification Center와의 관계:
- Notification Center는 푸시와 별개의 표면이다. 일부 알림 이벤트는 알림센터에도 누적될 수 있으나, 본 PRD는 모바일 앱 밖으로 푸시를 보낼지 말지만 다룬다.
- 푸시 카테고리 OFF는 알림센터 적재 여부에 영향을 주지 않는다. 어떤 알림 이벤트가 알림센터에 쌓이기로 정의되어 있다면, 해당 카테고리 푸시가 OFF여도 알림센터에는 동일하게 쌓여야 한다.
- 알림센터 적재 대상은 push on/off taxonomy가 아니라 알림센터 별도 정책/이벤트 속성으로 판단한다. 본 PRD는 알림센터 IA/read state를 정의하지 않는다.
상태별 동작:
- 로그인: 알림 설정 진입 가능.
- 비로그인: 알림 설정 해당 없음(진입 동선 밖).
- OS 권한 OFF: 토글 조작·저장은 가능하되 발송 blocked 상태임을 안내(§4).
3-5. Scope
포함 (In scope)
- MVP taxonomy 4개 그룹(댓글/답글, 좋아요·반응, 팔로우, 디렉터 소식)의 카테고리 on/off.
- 카테고리별 기본값 정책(전 카테고리 ON, 좋아요·반응 prominent).
- OS 푸시 권한 OFF 시 선호 저장 + 발송 blocked 동작.
- 푸시 on/off와 알림센터 적재 여부의 독립 원칙: 푸시 OFF여도 알림센터 적재 대상 알림은 그대로 쌓인다.
제외 (Out of scope)
- 마케팅/혜택 알림.
- 보상/스타 관련 알림.
- 추천/리텐션/이어하기(Continue Play) 알림.
- Chat/DM/선톡 알림 — 개인화·proactive message·과금 정책으로 범위가 급팽창할 수 있어 명시적으로 제외(필요 시 §7로 검토).
- Notification Center IA / read state / 히스토리 동작.
- 디렉터 새 캐릭터(소울) 푸시(현재 미존재, future).
- 필수 고지성 알림의 정의·범위(상위 정책).
4. 에러 처리 및 예외 상황
| 상황 | 처리 방향 |
|---|---|
| OS 푸시 권한 OFF 상태에서 카테고리 토글 조작 | 선호는 저장하되, "OS 권한이 꺼져 있어 발송되지 않음"을 안내하고 권한 설정으로 유도 |
| OS 권한을 나중에 다시 켬 | 저장돼 있던 카테고리 선호를 그대로 적용(초기화 금지) |
| 카테고리 OFF인데 모바일 푸시 발송 시도 | 앱 밖 모바일 푸시는 발송하지 않음(게이팅). 단, 해당 이벤트가 알림센터 적재 대상이면 알림센터에는 그대로 기록 |
| consent 저장 네트워크 오류 | 재시도 가능하게, 실패 시 토글 상태 롤백/재안내 |
5. 데이터 분석
5.1 핵심 지표
- 전체 푸시 권한 OFF 비율: 메인 지표. 카테고리 도입 후 통째 OFF가 줄어드는가.
- 좋아요·반응 카테고리 OFF 사용률: 분리 토글이 실제로 피로 해소에 쓰이는가.
- 댓글 푸시 → 상세 진입률: 핵심 알림 가치 유지 가드레일(receive 대비 click).
5.2 로깅 이벤트
컨벤션·기존 이벤트: https://event-docs.frontia.dev/ —
snake_case, 동사_명사. 기존 재사용 우선 → 없으면 신규(🆕). 아래 receive/click 푸시 계열은 기존 푸시 수신/클릭 이벤트로 cover되는지 먼저 확인 후 재사용 우선. 카테고리 토글 계열은 신규 후보.
| 타입 | 이름 | 용도 | 파라미터 | 그룹 | 상태 |
|---|---|---|---|---|---|
| Event | view_notification_settings | 알림 설정 화면 진입 | — | notification-settings | 🆕 신규 (기존 설정 이벤트 재사용 가능 시 대체) |
| Event | click_notification_category_toggle | 카테고리 on/off 조작 | category, value(on/off) | notification-settings | 🆕 신규 |
| Event | receive_push | 푸시 수신 | category | (기존 push 그룹) | 기존 재사용 검토 |
| Event | click_push | 푸시 클릭 → 진입 | category | (기존 push 그룹) | 기존 재사용 검토 |
Property 상세(Required/Type)는 spec §7에서 확정. 본 §5.2는 재사용/신규 판단과 그룹 분류까지 책임.
6. Ubiquitous Language
| Term | Korean | Definition | Do Not Confuse With | Primary Domain | 상태 |
|---|---|---|---|---|---|
| Notification Category | 알림 카테고리 | 앱 밖 모바일 푸시 발송 여부를 의미 단위로 on/off 제어하는 분류 단위 (댓글/답글, 좋아요·반응, 팔로우, 디렉터 소식) | OS 푸시 권한 / 알림센터 적재 정책 | Notification | 신규 |
| UserNotificationSetting | 유저 알림 설정 | user-level 알림 consent의 SOT. 변경 시 스냅샷 누적 + FCM 토픽 구독/해지 | 화면상 알림 설정 메뉴 | Notification | 기존 |
| Notification Center | 알림센터 | 푸시와 별개의, 알림 히스토리를 보여주는 표면 | 푸시 발송 채널 | Notification | 기존 |
| Soul (캐릭터) | 소울 | 디렉터가 만든 캐릭터. 디렉터 소식의 future 항목(현재 푸시 없음) | 작품/에피소드 | Content | 기존 |
7. Open Questions
- [ ] 좋아요·반응 그룹을 단일 토글로 묶을지, '작품 좋아요'/'댓글 좋아요' 항목별로 분리할지 — 누구에게: PM/디자이너 (피로 해소 효과 vs 설정 복잡도 트레이드오프)
- [ ] 디렉터 소식을 '새 작품'/'새 게시글' 항목별로 분리할지, 그룹 단일 토글로 둘지 — PM/디자이너
- [ ] Chat/DM/선톡 알림을 후속 범위로 가져갈지, 가져간다면 어떤 게이팅(과금·proactive 정책)과 함께 다룰지 — PM
- [ ] 마케팅/혜택·보상/스타·추천 알림을 향후 같은 taxonomy에 편입할지 — PM (현 알림 설정의 마케팅/야간 토글과의 통합 여부)
- [ ] 필수 고지성 알림의 정의·범위 — PM/정책 (카테고리 상위 정책으로 어디까지 포함되는가)
- [ ] 알림센터 적재 대상 이벤트 목록이 DEE-76 기준으로 확정되어 있는지 — PM/엔지니어 (푸시 on/off와 독립 적용되는 별도 정책으로 확인)
- [ ] receive_push / click_push에 category 파라미터를 추가/재사용할 기존 이벤트가 있는지 — 엔지니어/데이터 (event-docs 확인)
부록: 메타 정보
Required artifacts
- [x] Spec (
needs-spec) — 알림 설정 화면 카테고리 토글·OS 권한 OFF 상태·안내 - [x] Design (
needs-design) — 알림 설정 화면 시안(카테고리 그룹·좋아요 prominence) - [ ] QA scenarios (
needs-qa-scenarios) — Sprint planning에서 작성 - [ ] Migration plan (
needs-migration) — consent 카테고리 저장 단위 변경 시 (개발 설계에서 판단) - [x] Tracking events (
needs-tracking) — 카테고리 토글 이벤트 신규 정의 필요 - [ ] 기타:
Size & Risks
T-shirt Size
- Size: M
- Confidence: medium
- 추정 근거: 기존
UserNotificationSettingconsent + FCM 토픽 인프라 재사용 가능. 카테고리 taxonomy 정의·발송 게이팅·설정 화면 추가가 주 작업.
주요 위험 요소
| 위험 | 영향 | 대응 |
|---|---|---|
| 카테고리 taxonomy 경계가 출시 후 바뀌면 consent/토픽 재정의 | 데이터 마이그레이션·재작업 | 출시 전 그룹·항목 묶음 합의(§7) |
| OS 권한 OFF와 앱 카테고리 선호의 이중 상태 혼동 | 유저가 "켰는데 안 옴"으로 오해 | 권한 OFF 시 명확한 안내(§4) |
의존성
- 다른 작업: Notification Center IA(별도, 본 PRD 무관).
- 외부 요인: FCM 토픽 구독/해지,
UserNotificationSettingconsent 스냅샷.
References
- 관련 위키 문서: frontia-wiki Notification capabilities (
UserNotificationSettingconsent SOT) - 선행 맥락: 출시 당시 [마이]>[메뉴]>[알림 설정] (OS 권한 + 마케팅 + 야간 토글) — 소셜/공지/출석 토글 미연동으로 제외됐던 predecessor
- 로깅 컨벤션: https://event-docs.frontia.dev/
- Linear Project: [앱/웹] 알림 종류 on/off (taxonomy + 푸시 권한)
- Linear Issue: DEE-41