Files
bowlingManager/docs/subscription_requirements_flow.md
2025-08-01 16:45:26 +09:00

7.4 KiB

볼링 매니저 구독 및 인앱 결제 요구사항 및 사용자 플로우

1. 요구사항

1.1 기능적 요구사항

구독 관리

  • 사용자는 다양한 구독 플랜(기본, 프리미엄, 프로) 중에서 선택할 수 있어야 함
  • 사용자는 월간 또는 연간 구독 옵션을 선택할 수 있어야 함
  • 사용자는 현재 구독 상태를 확인할 수 있어야 함
  • 사용자는 구독을 업그레이드/다운그레이드할 수 있어야 함
  • 사용자는 자동 갱신 설정을 변경할 수 있어야 함
  • 사용자는 이전에 구매한 구독을 복원할 수 있어야 함

인앱 결제

  • 앱은 플랫폼별(iOS, Android) 인앱 결제를 지원해야 함
  • 결제 과정은 안전하고 사용자 친화적이어야 함
  • 결제 오류 발생 시 적절한 피드백을 제공해야 함
  • 결제 완료 후 즉시 구독 상태가 업데이트되어야 함

기능 제한

  • 구독 플랜에 따라 사용 가능한 기능이 차등 적용되어야 함
  • 무료 사용자는 기본 기능만 사용할 수 있어야 함
  • 구독 만료 시 접근 가능한 기능이 제한되어야 함
  • 제한된 기능 접근 시 업그레이드 안내가 표시되어야 함

백엔드 연동

  • 구독 정보는 서버에 안전하게 저장되어야 함
  • 인앱 결제 영수증은 서버에서 검증되어야 함
  • 구독 상태는 여러 기기에서 동기화되어야 함
  • 구독 만료 및 갱신은 서버에서 처리되어야 함

1.2 비기능적 요구사항

보안

  • 결제 정보는 안전하게 처리되어야 함
  • 영수증 검증은 서버 측에서 수행되어야 함
  • 사용자 인증 및 권한 관리가 적절히 구현되어야 함

성능

  • 구독 상태 확인은 빠르게 이루어져야 함
  • 결제 처리는 최소한의 지연으로 완료되어야 함
  • 오프라인 상태에서도 기본적인 기능은 사용 가능해야 함

사용성

  • 구독 및 결제 UI는 직관적이고 사용하기 쉬워야 함
  • 오류 메시지는 명확하고 이해하기 쉬워야 함
  • 구독 혜택 및 제한 사항이 명확하게 표시되어야 함

확장성

  • 새로운 구독 플랜 추가가 용이해야 함
  • 새로운 기능 및 제한 사항 추가가 용이해야 함
  • 다양한 결제 방식 추가가 가능해야 함

2. 사용자 플로우

2.1 구독 구매 플로우

  1. 구독 화면 접근

    • 사용자가 앱에서 '구독' 또는 '프리미엄' 메뉴를 탭함
    • 또는 제한된 기능 접근 시 표시되는 업그레이드 안내에서 '구독하기' 버튼을 탭함
  2. 구독 플랜 선택

    • 사용 가능한 구독 플랜(기본, 프리미엄, 프로) 목록이 표시됨
    • 각 플랜의 가격, 기능, 제한 사항 등이 표시됨
    • 사용자가 원하는 플랜을 선택함
  3. 월간/연간 선택

    • 선택한 플랜의 월간 또는 연간 구독 옵션이 표시됨
    • 사용자가 원하는 구독 기간을 선택함
  4. 결제 진행

    • 플랫폼별 인앱 결제 다이얼로그가 표시됨
    • 사용자가 결제 정보를 입력하고 결제를 확인함
    • 결제 진행 중 로딩 표시가 나타남
  5. 결제 완료

    • 결제가 성공적으로 완료되면 성공 메시지가 표시됨
    • 구독 정보가 업데이트되고 구독 상세 화면으로 이동함
    • 결제 실패 시 오류 메시지가 표시되고 재시도 옵션이 제공됨

2.2 구독 관리 플로우

  1. 구독 정보 확인

    • 사용자가 '내 구독' 또는 '계정' 메뉴를 탭함
    • 현재 구독 상태, 플랜, 시작일, 만료일, 자동 갱신 상태 등이 표시됨
  2. 플랜 변경

    • 사용자가 '플랜 변경' 버튼을 탭함
    • 사용 가능한 다른 플랜 목록이 표시됨
    • 사용자가 새 플랜을 선택하고 확인함
    • 플랜 변경이 처리되고 구독 정보가 업데이트됨
  3. 자동 갱신 설정

    • 사용자가 '자동 갱신' 토글 버튼을 탭함
    • 설정 변경 확인 다이얼로그가 표시됨
    • 사용자가 확인하면 설정이 변경되고 구독 정보가 업데이트됨
  4. 구독 취소

    • 사용자가 '구독 취소' 버튼을 탭함
    • 취소 확인 다이얼로그가 표시됨
    • 사용자가 확인하면 구독이 취소되고 만료일까지 사용 가능함을 안내함

2.3 구독 복원 플로우

  1. 복원 시작

    • 사용자가 '구독 복원' 버튼을 탭함
    • 복원 진행 중 로딩 표시가 나타남
  2. 복원 결과

    • 복원 가능한 구독이 있으면 구독이 복원되고 성공 메시지가 표시됨
    • 구독 정보가 업데이트되고 구독 상세 화면으로 이동함
    • 복원할 구독이 없으면 안내 메시지가 표시됨

2.4 제한된 기능 접근 플로우

  1. 기능 접근 시도

    • 사용자가 현재 구독 플랜에서 제한된 기능에 접근을 시도함
  2. 업그레이드 안내

    • 해당 기능에 접근하기 위해 필요한 구독 플랜 정보가 포함된 대화상자가 표시됨
    • '구독하기' 버튼과 '취소' 버튼이 제공됨
  3. 사용자 선택

    • 사용자가 '구독하기'를 선택하면 구독 화면으로 이동함
    • 사용자가 '취소'를 선택하면 이전 화면으로 돌아감

3. 구독 플랜 및 기능

3.1 무료 플랜

  • 기능:
    • 기본 볼링 점수 추적
    • 최대 10명의 회원 관리
    • 최대 5개의 이벤트 관리

3.2 기본 플랜

  • 기능:
    • 모든 무료 기능
    • 최대 30명의 회원 관리
    • 최대 10개의 이벤트 관리
    • 기본 통계 분석

3.3 프리미엄 플랜

  • 기능:
    • 모든 기본 기능
    • 최대 100명의 회원 관리
    • 최대 50개의 이벤트 관리
    • 고급 통계 분석
    • 커스터마이징 옵션

3.4 프로 플랜

  • 기능:
    • 모든 프리미엄 기능
    • 최대 500명의 회원 관리
    • 최대 200개의 이벤트 관리
    • 우선 지원
    • 모든 고급 기능 접근

4. 오류 처리 시나리오

4.1 결제 오류

  • 시나리오: 사용자가 결제를 시도했으나 결제가 실패함
  • 처리:
    • 오류 원인에 따른 명확한 메시지 표시
    • 재시도 옵션 제공
    • 문제 해결을 위한 안내 제공

4.2 네트워크 오류

  • 시나리오: 구독 정보 로드 또는 결제 중 네트워크 연결이 끊김
  • 처리:
    • 네트워크 오류 메시지 표시
    • 자동 재연결 시도
    • 오프라인 모드로 전환 (가능한 경우)

4.3 서버 오류

  • 시나리오: 서버에서 구독 정보 처리 중 오류 발생
  • 처리:
    • 서버 오류 메시지 표시
    • 관리자에게 오류 보고
    • 재시도 옵션 제공

4.4 영수증 검증 오류

  • 시나리오: 인앱 결제는 성공했으나 영수증 검증에 실패함
  • 처리:
    • 검증 오류 메시지 표시
    • 자동 재검증 시도
    • 수동 복원 옵션 제공

5. 배포 및 유지보수 계획

5.1 배포 준비

  • App Store 및 Google Play에 인앱 결제 상품 등록
  • 스토어 설명 및 스크린샷에 구독 정보 포함
  • 개인정보 처리방침 및 이용 약관 업데이트

5.2 모니터링 및 분석

  • 구독 전환율 모니터링
  • 구독 취소율 및 원인 분석
  • 플랜별 사용자 행동 분석

5.3 향후 개선 계획

  • 사용자 피드백에 기반한 구독 플랜 조정
  • 새로운 프리미엄 기능 추가
  • 추가 결제 방식 통합 검토