125 lines
8.3 KiB
Markdown
125 lines
8.3 KiB
Markdown
# 돈돼지 가계부 — Play 스토어 첫 출시 진행 상황
|
||
|
||
> 최종 업데이트: 2026-06-28. 첫 정식 출시(무료 앱) 준비 로그 + 남은 로드맵.
|
||
> 관련 문서: [play-store-listing.md](play-store-listing.md) · [production-access-draft.md](production-access-draft.md)
|
||
|
||
---
|
||
|
||
## ✅ 완료된 작업
|
||
|
||
### 출시 전략 결정
|
||
- **무료 앱**으로 첫 출시 (수익화 기능은 순차 도입)
|
||
- 첫 출시 기능 플래그 (`src/config/features.js`, 전부 `false`):
|
||
- `BILLING_ENABLED=false` — 인앱결제 스텁이라 결제 없이 프리미엄 부여되는 악용 차단
|
||
- `ADS_ENABLED=false` — 애드핏 미승인 + 데이터 안전 양식 단순화(광고 식별자 미수집)
|
||
- `CARD_NOTIF_ENABLED=false` — NotificationListenerService 정책 심사 회피
|
||
- 패키지명 `kr.sblog.slimbudget` **유지**(출시 후 영구 고정. 사용자 비노출이라 무방)
|
||
|
||
### 인프라 / 정책 페이지
|
||
- **www.sblog.kr** 도메인 + 인증서 확장 (app.sblog.kr와 동일 dist 서빙)
|
||
- 공개 URL: `/privacy`, `/terms`, `/account-deletion` (모두 200 확인)
|
||
- 개인정보처리방침 광고 문구 → "현재 광고 없음 + 향후 도입 가능" 미래형으로 정합화
|
||
|
||
### 빌드 / 서명
|
||
- **AAB**: `android/app/build/outputs/bundle/release/app-release.aab`
|
||
- targetSdk 36, versionCode 1, versionName 1.0
|
||
- 업로드 키(CN=Don Dwaeji) 서명 확인 (디버그 아님)
|
||
- 결제·광고·카드알림 전부 OFF 클린 (NotificationListener 권한 없음 검증)
|
||
- 키스토어: `android/upload-keystore.jks` + `android/key.properties` (gitignore, **이 PC에만 존재 — 분실 시 업데이트 불가, 반드시 백업**)
|
||
|
||
### 스토어 그래픽 (`brand/store/`)
|
||
- `icon-512.png` (512×512 불투명)
|
||
- `feature-1024x500.png` / `feature-1024x500-text.png` (피처그래픽, 택1)
|
||
- 생성기 `brand/gen-store-assets.mjs` + 마스터 `brand/logo-1024.png`
|
||
|
||
### 스크린샷 (`brand/screenshots/`, 7컷, 실기기 1080×2340)
|
||
- shot0 홈 대시보드(리드) / shot1 가계부 내역 / shot2 통계 / shot3 고정지출 / shot4 계좌 / shot5 게시판 / shot6 게시글 상세
|
||
|
||
### 등록 문서
|
||
- `brand/play-store-listing.md` — 등록정보(제목·설명)·데이터안전 양식·콘텐츠등급 답안
|
||
- `brand/production-access-draft.md` — 프로덕션 액세스 신청서 초안(4문항)
|
||
|
||
### 코드 수정 (배포 완료)
|
||
- 인앱결제 진입점 비활성화 (UpgradeView "곧 출시 예정", AccountInfoView 정기결제 카드 숨김)
|
||
- 광고 비활성화 (AdBanner + App.vue 게이팅, 하단 광고 여백 제거)
|
||
- 둘러보기(데모) 모드 메뉴 접근 버그 수정 (AppHeader 햄버거 `demo.on` 노출)
|
||
- 계정삭제 공개 페이지 추가
|
||
|
||
### 테스트 데이터 (캡처용, `sb_bt/scripts/`, gitignore 로컬 전용)
|
||
- 테스트 계정 `kenneth73510@gmail.com` (DB로 PREMIUM 부여)
|
||
- `seed-test-kenneth.sql`(계정+가계부), `seed-test-board.sql`(게시판 더미)
|
||
- `cleanup-test-board.sql`(게시판 더미 삭제 — **캡처 후 정리 완료**)
|
||
|
||
---
|
||
|
||
## 🚧 현재 상태 (블로커)
|
||
- **개인 개발자 계정 신원확인 대기 중** — 앱 생성 버튼 잠김
|
||
- 주소 증빙서류 제출 이슈: 한국 서류 이름 마스킹/주소 미표기 → 도시가스/카드/은행창구 등 무마스킹 서류 확보 중
|
||
- 승인 소요: 보통 2~3 영업일, 길면 1~2주
|
||
|
||
---
|
||
|
||
## 📋 남은 로드맵
|
||
|
||
1. **신원확인 승인** (대기) → "앱 만들기" 활성화
|
||
2. **앱 만들기** — 이름 "돈돼지 가계부", 한국어, 무료
|
||
3. **익명 셋업** (아래 체크리스트)
|
||
4. **필수 설정** — 데이터안전·콘텐츠등급·앱액세스(둘러보기 안내)·광고 없음·금융기능 선언·방침 URL (자료: play-store-listing.md)
|
||
5. **스토어 등록정보** — 문구 + 아이콘512·피처·스크린샷7
|
||
6. **비공개 테스트 트랙** — AAB 업로드 + **테스터 12명 opt-in**
|
||
7. **14일 연속** 12명 유지 → **프로덕션 액세스 신청** (자료: production-access-draft.md)
|
||
8. 승인 → **프로덕션 출시**
|
||
|
||
### ⚠️ 폐쇄 테스트 의무 (개인 계정 + 2023-11-13 이후 개설)
|
||
- **테스터 12명 이상 · 14일 연속** 폐쇄 테스트 후 프로덕션 신청 가능
|
||
- 실기기·실계정 필수 (에뮬·봇·중복 불인정)
|
||
- 14일 카운트 = "릴리스 승인 + 12명 opt-in" 둘 다 충족 시점부터
|
||
- 테스터 확보: 지인 비공개 방침 → 품앗이 커뮤니티(무료·안전) 또는 평판 좋은 유료 서비스(실사용 보장형만)
|
||
|
||
### 익명 셋업 체크리스트
|
||
- [ ] 전용 Gmail 생성 (개발자 연락처 + 품앗이용)
|
||
- [ ] 공개 개발자 이름 → 브랜드명 (법적이름은 구글 내부 전용, 비공개)
|
||
- [ ] 연락처 이메일(계정+앱) → 전용 메일
|
||
- [ ] 거래자 상태 → **비거래자(Non-trader)** (주소 비공개)
|
||
- [ ] 품앗이 노출은 전용 Gmail로만
|
||
|
||
---
|
||
|
||
## 💡 출시 전 다듬기 후보 (대기 시간 활용, 선택)
|
||
신규(빈손) 유저 경험 위주 — 저위험·고효율 순:
|
||
1. ✅ **빈 상태 → 행동 유도** (완료) — 홈 '시작하기' 카드 + 가계부내역/계좌 빈 상태 CTA. 데이터 0 계정에서만 노출
|
||
2. ✅ **오프라인·네트워크 오류 배너** (완료) — http net:error 이벤트 + App.vue 상단 고정 배너(오프라인/서버연결실패, 새로고침 버튼)
|
||
3. ✅ **앱 잠금(PIN)** (완료) — 자체 구현(해시 저장, 기본 OFF), 시작·복귀 시 잠금, 설정 토글+PIN설정 모달, 'PIN 분실→로그아웃' 갇힘 방지. 생체는 추후(네이티브 플러그인 필요)
|
||
4. ✅ **전역 에러 폴백** (완료) — errorHandler + onErrorCaptured → 흰 화면 대신 '문제 발생 + 새로고침'
|
||
5. ✅ **안드로이드 뒤로가기 개선** (완료) — 오버레이 닫기 우선 → 화면 뒤로 → 최상위 '한 번 더 누르면 종료' 토스트
|
||
6. 첫 실행 온보딩(1번과 중복이라 보류) / Play 인앱 리뷰(플러그인 필요, 출시 후) / 생체인증(출시 후)
|
||
|
||
> ⚠️ 앱 잠금은 시작 흐름을 가로채는 기능이라 **실기기 검증 권장**: 설정→앱잠금 ON→PIN 설정→백그라운드 후 복귀→잠금화면 확인→PIN 해제. (현재 설치 APK엔 미반영 — 재빌드·재설치 필요)
|
||
|
||
---
|
||
|
||
## 📌 출시 후 업데이트 백로그 (나중에 진행)
|
||
> 첫 출시엔 미포함. 정식 출시 후 업데이트로 진행할 항목.
|
||
|
||
1. **앱 업데이트 안내 메시지** — 새 버전 있을 때 안내 + 구글플레이 바로가기(스토어 페이지로 이동)
|
||
2. **관리자 신고글 목록 페이지** — 관리자가 게시판 신고된 글 목록을 확인하는 화면
|
||
3. **가계부 작성 포인트** — 가계부 내역 작성 시 건당 10포인트, **일 50포인트 제한**
|
||
4. **게시판 포인트 정책 개편**
|
||
1) 게시글 작성 30 → **50포인트**, **도배성 게시물은 적립 제외**
|
||
2) 게시글 등록 **키워드 필터링**
|
||
3) **추천 +5 / 비추 -1** (일일 최대 적립 50포인트)
|
||
4) 다른 사용자 글에 **추천 누르면 +1** (일일 10 제한), 추천 **취소 시 -1**
|
||
5. ✅ **[수정완료] 분류 화면 순서변경 보호** — 기본 drag 잠금 + '순서변경' 토글로만 가능. (v2 포함)
|
||
|
||
8. ✅ **[기능완료] 외화 입/지출 입력** — 통화 선택+환율 자동조회(open.er-api.com 무료)→원화 환산. `account_entry`에 currency/original_amount/exchange_rate 추가, `amount`는 환산 원화 유지(통계·예산 무변경). 백엔드+프론트 배포됨. (테스터 반영은 v3 빌드 필요)
|
||
|
||
> **v2 빌드 완료(versionCode 2, versionName 1.0.1, 2026-06-29)** — #5·#6 + 다듬기. 비공개 테스트 업로드 대기.
|
||
> **다음 빌드 v3 후보**: #8 외화 결제 (+ 이후 백로그). 모아서 versionCode 3으로 빌드.
|
||
6. ✅ **[버그·수정완료] 앱 잠금이 카메라/갤러리 복귀 시 오작동** — appLock.suppressLock() 추가, 파일선택은 App.vue 전역 리스너, 카메라/공유는 호출부에서 suppress. (코드 배포됨 — 테스터에게 반영하려면 versionCode 2로 AAB 재빌드 업로드 필요)
|
||
|
||
---
|
||
|
||
## 다음 세션 재개 지점
|
||
**신원확인 승인 여부 확인** → 승인됐으면 "앱 만들기 → 익명 셋업 → 필수설정/등록정보 입력" 진행.
|
||
대기 중이면 **테스터 12명 Gmail 확보** + **출시 전 다듬기(빈 상태/오프라인)** 진행 권장.
|