Deployed privacy-policy.html and app-ads.txt to block-seasons.web.app (gru.farm root is an external site builder, not the NAS, so app-ads.txt could not live there). Updated phase7 guide with the live URLs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
9.8 KiB
Phase 7 — 스토어 제출 가이드 (오너 셀프 진행용)
이 문서 하나만 위에서부터 따라가면 Google Play + Apple App Store 제출까지 끝납니다. 코드/빌드/카피/개인정보처리방침은 모두 준비돼 있습니다. 여기 적힌 답변·문구를 그대로 복붙하세요. 막히면 Claude에게 "이 단계 막혔어" 하고 화면을 보여주면 됩니다.
마지막 업데이트: 2026-06-14
✅ 지금까지 완료된 것
Google Play
- 앱 생성: Block Seasons (
com.airkjw.blockseasons) - AAB 업로드: 내부 테스트 트랙에
1 (1.0.0)게시됨 - 테스터 목록 설정 (
0614 테스트) - 판매자(결제) 프로필 설정 완료
remove_ads인앱상품 생성 + 활성 (173개 지역, "이전 버전과의 호환성" ✔)
Apple App Store
- App ID
com.airkjw.blockseasons등록, App Store Connect에 앱 생성 remove_ads비소모성 IAP 생성 + 가격 설정 (상태: 메타데이터 누락 → 아래 5단계에서 마무리)
공통 자산 (이미 만들어 둠)
- 앱 아이콘 512px:
docs/store/play_icon_512.png - 피처 그래픽 1024×500:
docs/store/feature_graphic.png - ✅ 개인정보처리방침 호스팅 완료:
https://block-seasons.web.app/privacy-policy.html - ✅ app-ads.txt 호스팅 완료:
https://block-seasons.web.app/app-ads.txt - 스토어 카피 EN/KO:
docs/store/store-listing.md - ✅ 스크린샷 (각 3장: 홈·플레이·점수전):
- iOS 6.7"(1290×2796):
docs/store/screenshots/ios/ - Android 폰(1080×1920):
docs/store/screenshots/android/ - (시즌 여정 맵 컷은 추후 추가 예정 — 현재 3장으로 제출 충분)
- iOS 6.7"(1290×2796):
0단계 — 먼저 해둘 3가지 (양 스토어 공통 전제)
0-1. 🔑 안드로이드 서명키 백업 (가장 중요, 분실 시 영구 업데이트 불가)
- 파일
BlockSeasons/android/app/upload-keystore.jks를 2곳 이상(클라우드+외장 등)에 백업 - 비밀번호
35f52bb88a79b4279d3acce7935c33c9(aliasupload)을 비밀번호 관리자에 저장 - (Play 앱 서명을 쓰므로 이건 "업로드 키"지만 그래도 백업 필수)
0-2. ✅ 개인정보처리방침 + app-ads.txt 호스팅 — 완료 (Firebase Hosting)
두 파일을 이미 살아있는 Firebase Hosting(block-seasons.web.app)에 배포 완료. 아래 URL을 스토어 폼에 그대로 복붙하세요.
| 항목 | 스토어에 넣을 값 |
|---|---|
| 개인정보처리방침 URL | https://block-seasons.web.app/privacy-policy.html |
| app-ads.txt | https://block-seasons.web.app/app-ads.txt (live, text/plain ✔) |
| 개발자 웹사이트 / 마케팅 URL | https://block-seasons.web.app |
⚠️ AdMob이 app-ads.txt를 인식하려면 스토어의 "웹사이트/마케팅 URL"을 반드시
https://block-seasons.web.app로 적어야 합니다(여기 루트의 app-ads.txt를 크롤링).web.app은 그 자체가 독립 루트 도메인이라 인식에 문제없음. 참고:gru.farm루트는 NAS가 아니라 외부 사이트빌더(아임웹)라서 app-ads.txt를 못 올림 → Firebase로 호스팅함. 재배포 방법(파일 수정 시):docs/store/의 원본을deploy/로 복사 후firebase deploy --only hosting --project block-seasons.
0-3. 결제 계약 확인
- Google: 판매자 프로필 완료됨 ✔ (이미 했음)
- Apple: 아래 App Store 5-④ 유료 앱 계약을 완료해야 IAP 판매·심사 가능 (세금/뱅킹 — 본인이 입력)
A. GOOGLE PLAY — 남은 순서
위치: Play Console → Block Seasons → 대시보드 → "앱 설정" 항목을 위에서부터 채우면 됩니다. (내부 테스트 빌드는 이미 올라가 있으니, 아래는 프로덕션 출시에 필요한 정책/리스팅 작성입니다.)
A-1. 앱 액세스 권한
→ "모든 기능을 제한 없이 사용할 수 있습니다" 선택 (로그인 없음).
A-2. 광고
→ "예, 앱에 광고가 있습니다."
A-3. 콘텐츠 등급 (설문)
- 이메일 입력 → 카테고리 "게임"
- 폭력/성적/언어/약물/도박 등 전부 아니요 (단순 블록 퍼즐)
- 결과: 전체이용가 / Everyone / PEGI 3 예상
A-4. 타겟층 및 콘텐츠
- 대상 연령: 만 13세 이상(13
15, 1617, 18세 이상) 선택 권장 — 만 13세 미만은 선택하지 말 것 (아동 대상이 되면 'Designed for Families' 정책 + 아동 개인정보 의무가 생겨 광고 단가에 불리) - "앱이 아동의 관심을 끌도록 디자인되었나요?" → 아니요
A-5. 데이터 보안 (Data safety) — 아래 값 그대로
- 데이터 수집·공유: 예
- 기기 또는 기타 ID (광고 ID): 수집함 · 목적 광고 또는 마케팅 · Google과 공유함 · 사용자 연결 안 함
- 앱 활동 / 앱 상호작용: 수집함 · 목적 분석 · 공유 안 함 · 사용자 연결 안 함
- 전송 중 암호화: 예
- 사용자가 데이터 삭제 요청 가능: 개인정보처리방침 문의 이메일 기재로 충족
- ⚠️ "아동 대상 앱" → 아니요
A-6. 기타 선언
- 정부 앱 / 금융 기능 / 건강 앱 → 전부 아니요
- 뉴스 앱 → 아니요. 콘텐츠 가이드라인·미국 수출법 → 동의
A-7. 메인 스토어 등록정보
docs/store/store-listing.md에서 복붙:
- 앱 이름:
Block Seasons - 간단한 설명 (≤80): KO
블록을 놓아 줄을 지우고, 몇 주마다 새 테마 시즌을 즐기세요. 광고 강요 없는 편안한 퍼즐. - 자세한 설명 (≤4000): store-listing.md의 KO(또는 EN) 본문
- 앱 아이콘 (512×512):
docs/store/play_icon_512.png - 그래픽 이미지 (1024×500):
docs/store/feature_graphic.png - 휴대전화 스크린샷 (최소 2장):
docs/store/screenshots/android/(3장) - 카테고리: 게임 → 퍼즐 · 태그: 퍼즐/캐주얼
- 개인정보처리방침 URL:
https://block-seasons.web.app/privacy-policy.html - 웹사이트(선택):
https://block-seasons.web.app← app-ads.txt 인식용으로 이 주소 권장 - 연락처 이메일:
airkjw@gmail.com
A-8. 프로덕션 출시
- 테스트 및 출시 → 프로덕션 → 새 버전 만들기
- 내부 테스트의 빌드를 **"라이브러리에서 추가"**로 가져오거나 AAB 재업로드(같은
app-release.aab) - 출시명/노트 입력 → 검토 → 출시 시작(심사 제출)
- ⚠️ 신규 개인 개발자 계정은 "비공개 테스트 20명 × 14일" 후에야 프로덕션 가능 규정이 있습니다.
- 너는 이미 출시된 앱(복지앱)이 있어 해당 없을 가능성이 높음. 프로덕션에서 막히면 알려줘 — 비공개 테스트로 우회 안내할게.
A-9. (출시 후) 샌드박스 결제 테스트
- 설정 → 라이선스 테스트에 본인 Google 계정 추가 → 내부 테스트 앱에서
remove_ads구매가 실제 청구 없이 테스트됨.
B. APPLE APP STORE — 남은 순서
위치: App Store Connect → Block Seasons
B-1. 빌드 업로드 (Xcode 권장 — CLI는 경로 공백 이슈 회피)
- Xcode로
ios/Runner.xcworkspace열기 - 상단 기기 선택을 "Any iOS Device (arm64)"
- 메뉴 Product ▸ Archive (서명은 Xcode 자동 서명)
- Organizer 창 → Distribute App ▸ App Store Connect ▸ Upload
- 처리에 수십 분 → App Store Connect → TestFlight에 빌드가 나타남
Claude가 대신 IPA를 만들기 어려운 이유: iOS 서명은 너의 Apple 인증서가 필요해서 Xcode에서 해야 안전함. 막히면 단계별로 안내할게.
B-2. 앱 정보 / 버전 정보
- 카테고리: 게임 → 퍼즐, 연령 등급 설문 → 4+
- 부제(≤30): KO
시즌마다 새로워지는 블록 퍼즐 - 프로모션 텍스트·설명·키워드:
docs/store/store-listing.md에서 복붙 - 개인정보처리방침 URL:
https://block-seasons.web.app/privacy-policy.html - 스크린샷:
docs/store/screenshots/ios/(1290×2796=6.7", 3장). 6.5"는 같은 컷 재업로드 또는 생략 가능
B-3. 앱 개인정보 (App Privacy) — 아래 값 그대로
| 데이터 | 수집 | 목적 | 사용자 연결 | 추적 |
|---|---|---|---|---|
| 기기 ID(광고 식별자) | 예 | 제3자 광고 | 아니요 | 예 |
| 사용 데이터(제품 상호작용) | 예 | 분석, 앱 기능 | 아니요 | 아니요 |
- 추적 사용 이유(ATT) 문구 예: "비맞춤형 대신 맞춤형 광고를 제공하기 위해 사용합니다."
B-4. IAP 마무리 (remove_ads)
- 표시 이름: EN
Remove Ads/ KO광고 제거 - 설명:
배너·전면 광고를 영구히 제거합니다. 보상형 영상은 그대로 사용할 수 있어요. - 리뷰용 스크린샷: 앱 설정 화면(광고 제거 버튼 보이는 캡처) 1장 첨부
- ⚠️ 첫 IAP는 앱 버전과 함께 제출해야 함 (버전 화면에서 IAP 포함시켜 제출)
B-5. 계약 / 제출
- ④ 유료 앱 계약(Paid Apps): 비즈니스 → 계약/세금/뱅킹 완료 (본인 입력) — IAP 판매·심사 전제
- 앱 심사 정보: 로그인 없음 → 데모 계정 불필요, 비고에 "No login required" 정도
- 심사 제출
권장 진행 순서 (최단 경로)
- 0-1 키스토어 백업 (5분, 지금)
- ✅ 0-2 개인정보처리방침 + app-ads.txt 호스팅 완료 (
block-seasons.web.app— 스토어 폼에 URL 복붙만 하면 됨) - 스크린샷 준비됨 ✅ (
docs/store/screenshots/) — 리스팅에 바로 업로드 - Apple B-1 빌드 업로드 시작 (처리에 시간 걸리니 먼저 걸어두기)
- Play A-1
A-7 + Apple B-2B-4 문항 채우기 (대부분 위 표 복붙) - Apple B-5 유료앱 계약 → 양쪽 심사 제출
문항별로 막히면 그 화면만 보여줘 — 그 부분만 같이 풀자.