Skip to main content

Notification Module Planning

이 문서는 Vivid AI의 서비스 내 알림함(Notification Module) 기획 기준을 정의합니다.

알림은 사용자가 놓치면 안 되는 주요 이벤트를 기록하고, 필요한 경우 관련 화면으로 이동할 수 있게 하는 기능입니다. 실시간 진행률, 단순 로딩 상태, 일시적인 토스트 메시지와는 분리하며, 사용자가 나중에 다시 확인할 수 있는 확정된 이벤트를 중심으로 제공합니다.

초기 버전에서는 댓글, 좋아요, 팔로우, 멘션 등 소셜 알림은 제외합니다.

1. 목적

알림 모듈의 핵심 목적은 다음과 같습니다.

  • 생성 작업의 최종 결과를 사용자가 놓치지 않게 합니다.
  • 결제, 충전, 크레딧 사용, 환불처럼 사용자 자산과 관련된 이벤트를 명확히 전달합니다.
  • 정책 위반, 기능 제한, 계정 제한처럼 중요한 계정 상태 변화를 사용자에게 고지합니다.
  • 공지, 점검, 장애처럼 운영 커뮤니케이션이 필요한 정보를 서비스 내에서 전달합니다.
  • 사용자가 알림을 클릭했을 때 관련 화면으로 바로 이동할 수 있게 합니다.

2. 초기 알림 범위

초기 알림은 다음 네 가지 성격을 우선합니다.

범위설명
작업 결과이미지/비디오 생성 완료, 생성 실패, 후처리 실패
자산 이벤트결제, 충전, 크레딧 사용, 자동 환불, 보너스, 관리자 조정
운영 커뮤니케이션공지, 패치노트, 점검, 장애 발생/복구
정책/안전정책 경고, 생성물 삭제, 기능 제한, 계정 정지

3. 초기 제외 범위

다음 항목은 초기 버전에서 제외합니다.

  • 댓글 알림
  • 좋아요 알림
  • 팔로우 알림
  • 멘션 알림
  • 마케팅성 푸시 알림
  • 생성 진행률 단계별 알림
  • 단순 토스트성 안내

소셜 알림은 커뮤니티 기능이 안정화된 뒤 별도 카테고리로 확장합니다.

4. 알림 타입 목록

4.1. 생성 알림

항목내용
이름생성 완료
내부 타입GENERATION_COMPLETED
발생 기준이미지 또는 비디오 생성이 최종 완료되었을 때
사용자 메시지 예시생성이 완료되었습니다.
CTA결과물 보기
이동 화면생성물 상세 화면
중요도성공
항목내용
이름생성 실패
내부 타입GENERATION_FAILED
발생 기준생성 또는 후처리가 최종 실패했을 때
사용자 메시지 예시생성에 실패했습니다. 사용된 Credits는 자동 환불되었습니다.
CTA작업 상세 보기
이동 화면생성물 상세 또는 생성 히스토리
중요도오류

4.2. 결제 알림

항목내용
이름충전 성공
내부 타입PAYMENT_CHARGE_SUCCEEDED
발생 기준결제 검증, 결제 내역 저장, 지갑 충전이 모두 성공했을 때
사용자 메시지 예시50 Credits가 충전되었습니다.
CTA지갑 내역 보기
이동 화면지갑/거래 내역
중요도성공
항목내용
이름충전 실패
내부 타입PAYMENT_CHARGE_FAILED
발생 기준온체인 검증 실패, 금액 불일치, 중복 트랜잭션 등으로 충전 실패가 확정되었을 때
사용자 메시지 예시결제 검증에 실패했습니다.
CTA결제 내역 보기
이동 화면지갑/거래 내역
중요도오류

4.3. 크레딧 알림

항목내용
이름크레딧 사용
내부 타입CREDIT_USED
발생 기준생성 요청으로 Credits가 차감되었을 때
사용자 메시지 예시생성 요청으로 5 Credits가 사용되었습니다.
CTA지갑 내역 보기
이동 화면지갑/거래 내역
중요도일반
비고알림 피로도가 생길 수 있으므로 초기에는 별도 알림보다 생성 알림 본문에 포함하는 방식도 고려합니다.
항목내용
이름자동 환불
내부 타입CREDIT_REFUNDED
발생 기준생성 실패, 작업 타임아웃, 워커 응답 없음 등으로 Credits가 자동 환불되었을 때
사용자 메시지 예시생성 실패로 5 Credits가 자동 환불되었습니다.
CTA지갑 내역 보기
이동 화면지갑/거래 내역
중요도성공
항목내용
이름보너스 지급
내부 타입CREDIT_BONUS_GRANTED
발생 기준이벤트, 추천, 프로모션 등으로 보너스 Credits가 지급되었을 때
사용자 메시지 예시이벤트 보너스 20 Credits가 지급되었습니다.
CTA지갑 내역 보기
이동 화면지갑/거래 내역
중요도성공
항목내용
이름관리자 조정
내부 타입CREDIT_ADMIN_ADJUSTED
발생 기준운영자가 사용자 Credits를 수동으로 지급하거나 회수했을 때
사용자 메시지 예시운영자 조정으로 Credits 잔액이 변경되었습니다.
CTA지갑 내역 보기
이동 화면지갑/거래 내역
중요도일반 또는 주의

4.4. 공지 알림

항목내용
이름일반 공지
내부 타입ANNOUNCEMENT_NOTICE
발생 기준운영자가 일반 공지 또는 안내사항을 발행했을 때
사용자 메시지 예시새로운 공지사항이 등록되었습니다.
CTA공지 보기
이동 화면공지 상세
중요도일반
항목내용
이름패치노트
내부 타입ANNOUNCEMENT_PATCH_NOTE
발생 기준기능 업데이트 또는 패치노트가 발행되었을 때
사용자 메시지 예시새로운 업데이트 내역을 확인해보세요.
CTA패치노트 보기
이동 화면패치노트 상세
중요도일반
항목내용
이름점검 안내
내부 타입ANNOUNCEMENT_MAINTENANCE
발생 기준서비스 점검 예정, 점검 진행, 점검 완료 안내가 필요할 때
사용자 메시지 예시서비스 점검이 예정되어 있습니다.
CTA공지 보기
이동 화면공지 상세
중요도주의

4.5. 정책 알림

항목내용
이름정책 경고
내부 타입POLICY_WARNING
발생 기준정책 위반 1차 경고, 생성물 삭제 안내 등이 발생했을 때
사용자 메시지 예시정책 위반으로 생성물이 삭제되었습니다.
CTA정책 확인
이동 화면계정/정책 안내 화면
중요도주의
항목내용
이름기능 제한
내부 타입POLICY_RESTRICTION
발생 기준24시간 생성 차단 등 기능 제한이 확정되었을 때
사용자 메시지 예시정책 위반으로 생성 기능이 일시 제한되었습니다.
CTA제한 사유 보기
이동 화면계정/정책 안내 화면
중요도오류
항목내용
이름계정 정지
내부 타입POLICY_ACCOUNT_BANNED
발생 기준계정 정지 또는 영구 정지가 확정되었을 때
사용자 메시지 예시정책 위반으로 계정 이용이 제한되었습니다.
CTA계정 상태 보기
이동 화면계정/정책 안내 화면
중요도긴급

4.6. 시스템 알림

항목내용
이름장애 발생
내부 타입SYSTEM_INCIDENT
발생 기준생성, 결제, 스토리지 등 사용자에게 영향을 주는 장애가 발생했을 때
사용자 메시지 예시현재 생성 기능에 지연이 발생하고 있습니다.
CTA상태 확인
이동 화면상태 페이지 또는 공지 상세
중요도오류
항목내용
이름장애 복구
내부 타입SYSTEM_RECOVERED
발생 기준기존 장애가 복구되었을 때
사용자 메시지 예시서비스 장애가 복구되었습니다.
CTA상태 확인
이동 화면상태 페이지 또는 공지 상세
중요도일반

4.7. 저장공간/만료 알림

항목내용
이름만료 예정
내부 타입STORAGE_EXPIRING_SOON
발생 기준결과물 또는 파일의 보관 기간 만료가 가까워졌을 때
사용자 메시지 예시일부 결과물의 보관 기간이 곧 만료됩니다.
CTA결과물 보기
이동 화면생성물 상세 또는 갤러리
중요도주의
항목내용
이름만료 완료
내부 타입STORAGE_EXPIRED
발생 기준보관 정책에 따라 결과물이 삭제되었거나 접근 제한되었을 때
사용자 메시지 예시보관 기간이 만료된 결과물이 정리되었습니다.
CTA갤러리 보기
이동 화면갤러리
중요도일반

5. 우선순위

P0: 초기 버전에 반드시 포함

  • 생성 완료
  • 생성 실패
  • 충전 성공
  • 충전 실패
  • 자동 환불
  • 중요 공지
  • 정책 경고
  • 기능 제한
  • 계정 정지

P1: 초기 버전에 포함하면 좋은 항목

  • 크레딧 사용
  • 보너스 지급
  • 관리자 조정
  • 시스템 장애 발생
  • 시스템 장애 복구

P2: 정책 확정 후 적용 권장

  • 패치노트
  • 일반 공지
  • 점검 안내
  • 저장공간 만료 예정
  • 저장공간 만료 완료

저장공간/만료 알림은 보관 기간, 삭제 정책, 등급별 저장 정책이 확정된 뒤 실제 발행 기준을 구체화합니다.

6. 화면 구성 방향

6.1. 알림 진입점

  • 상단 헤더에 알림 아이콘을 제공합니다.
  • 미읽음 알림이 있을 경우 배지를 표시합니다.
  • 배지는 숫자 또는 점 형태로 표시할 수 있습니다.
  • 모바일에서는 하단 내비게이션 또는 헤더 영역에서 접근 가능하도록 고려합니다.

6.2. 알림함 리스트

  • 최신 알림이 상단에 표시됩니다.
  • 읽음/미읽음 상태가 명확히 구분되어야 합니다.
  • 각 알림은 타입별 아이콘, 제목, 본문, 발생 시간, 읽음 상태를 포함합니다.
  • 클릭 시 관련 화면으로 이동합니다.
  • 초기 필터는 전체, 미읽음 정도만 제공합니다.

6.3. 알림 상세

  • 공지, 정책, 장애 알림처럼 본문이 긴 경우 상세 화면을 제공합니다.
  • 생성, 결제, 크레딧 알림은 상세 화면보다 관련 화면으로 바로 이동하는 방식을 우선합니다.

7. 타입별 아이콘 방향

타입아이콘 방향
생성이미지, 비디오, sparkle 계열
결제카드, 지갑, 영수증 계열
크레딧코인, 토큰, 플러스/마이너스 계열
공지스피커, 문서, 메가폰 계열
정책방패, 경고, 금지 계열
시스템서버, 경고, 상태 표시 계열
저장공간폴더, 클라우드, 시계 계열

8. 중요도 기준

중요도사용 기준
일반단순 안내, 패치노트, 일반 공지
성공생성 완료, 충전 성공, 환불 완료, 보너스 지급
주의점검 예정, 저장공간 만료 예정, 정책 경고
오류생성 실패, 결제 실패, 기능 제한, 장애 발생
긴급계정 정지, 중대한 정책 위반

9. UX 주의사항

  • 진행률 단계별 알림은 만들지 않습니다.
  • 사용자가 놓치면 안 되는 확정 이벤트만 알림으로 남깁니다.
  • 결제, 환불, 정책 알림은 삭제보다 읽음 처리 중심으로 설계합니다.
  • 크레딧 사용 알림은 빈도가 높을 수 있으므로 기본 노출 여부를 신중히 결정합니다.
  • 공지와 패치노트는 알림함에 요약만 보여주고, 상세 페이지에서 전체 내용을 확인하게 합니다.
  • 생성 실패와 자동 환불은 별도 이벤트지만 사용자 화면에서는 함께 이해되도록 문구를 구성합니다.

10. 구현 참고 기준

초기 구현 시 알림 데이터에는 다음 정보가 필요합니다.

필드설명
type알림 타입
category생성, 결제, 크레딧, 공지, 정책, 시스템, 저장공간 등 상위 분류
severity일반, 성공, 주의, 오류, 긴급
recipientUserId개인 알림 대상 사용자
title알림 제목
body알림 본문
targetUrl클릭 시 이동할 화면
metadatacreationId, paymentId, creditTransactionId, announcementId 등 참조 데이터
dedupeKey중복 알림 생성을 방지하기 위한 키
readAt읽음 처리 시각
expiresAt만료형 알림에만 사용하는 만료 시각

공지, 패치노트, 점검 안내는 모든 사용자에게 알림 row를 즉시 대량 생성하기보다, 별도의 공지 데이터와 사용자별 읽음 상태를 분리하는 구조를 우선 고려합니다. 중요 공지만 알림함에 노출하는 방식이 초기 운영 부담을 줄입니다.

11. 핵심 방향

초기 알림 모듈의 핵심은 작업 결과, 돈, 정책, 장애를 정확하게 전달하는 것입니다.

소셜 알림은 서비스 이용량이 늘고 커뮤니티 기능이 안정화된 뒤 별도 카테고리로 확장합니다.