Skip to content

Apple / Google 앱 등록 가이드

Apple Developer + Google Play Developer 계정 등록 완료 (2026-04-29).

진행 상태 (2026-04-30)

  • ✅ Apple Developer App ID com.dartbrief.app 등록 (Capabilities: Push, Sign In with Apple, IAP)
  • ✅ App Store Connect 신규 앱 — 이름 공시한입, SKU dartbrief-ios, 한국어 기본
  • ✅ Google Play Console 신규 앱 — 이름 공시한입 (ko-KR 기본 등록정보 입력)
  • Apple Team ID: 36QL8R22FZ
  • 미완료: 스크린샷, 개인정보처리방침 URL, IAP 상품 등록 (디자인·기능 안정화 후)
  • IAP 테스트는 자동갱신 구독 2종 — dartbrief.pro.monthly ₩1,000 / dartbrief.max.monthly ₩2,000 (PRO/MAX, 같은 구독 그룹). 일회성 ad_free_pass/슬롯 결제는 폐기 — policies/monetization

공통 정보

항목
Bundle ID (iOS)com.dartbrief.app (prod) / com.dartbrief.app.dev (dev)
Package Name (Android)com.dartbrief.app
앱 이름공시한입
카테고리Finance + News
출시 지역한국 우선

🍎 Apple 단계

  1. Apple Developer Account → Identifiers → App IDs → com.dartbrief.app 등록 (Capabilities: IAP, Push, Sign In with Apple)
  2. App Store Connect → My Apps → New App (Bundle ID 선택)
  3. App Information / Privacy / Pricing 입력
  4. Features → Subscriptions → 구독 그룹 1개 생성 → 그 안에 자동갱신 구독 2개 (그룹 내에서 업/다운그레이드 proration 처리)
    • dartbrief.pro.monthly (Auto-Renewable, ₩1,000/월)
    • dartbrief.max.monthly (Auto-Renewable, ₩2,000/월)
  5. Sandbox Testers 등록 (실 결제 X)
  6. App Store Server Notifications V2 URL 설정 → backend webhook (아래 Webhook 절)
  7. Sign In with Apple capability ON (iOS 심사 시 Apple Login 필수)

🤖 Google 단계

  1. Play Console → Create App → 정보 입력
  2. Main store listing (스크린샷, 아이콘 512×512, feature graphic)
  3. Categorization, Contact, Privacy policy URL
  4. App Bundle (AAB) 업로드 (Internal testing 트랙)
    • Keystore 생성 필요: mobile/android/app/upload-keystore.jks
  5. Monetize → Subscriptions → 자동갱신 구독 등록 (한 base plan 그룹에 2개)
    • dartbrief.pro.monthly (월 자동갱신) ₩1,000
    • dartbrief.max.monthly (월 자동갱신) ₩2,000
    • 상품 ID 는 Apple/Google 통일 → 백엔드 단순화
  6. License Testers 등록 (실 결제 X)
  7. Real-time Developer Notifications 설정
    • Google Cloud → Pub/Sub topic 생성
    • Push subscription → backend webhook URL
    • Play Console 에 topic 입력

AdMob SSV 콜백 URL 등록 (배포 후 필수)

prod 배포 완료 후 AdMob 콘솔에서 각 광고 단위마다 SSV URL 설정:

  1. AdMob 콘솔 → 앱 선택 → 광고 단위
  2. dartbrief-ios 리워드 광고 단위 → 서버 측 인증 → URL: https://api.dartbrief.com/api/v1/admob/ssv
  3. dartbrief-aos 리워드 광고 단위 → 동일하게 설정

미등록 시 SSV 콜백이 발생하지 않아 prod에서 광고 보상이 전혀 지급되지 않음.

상품 라인업 (확정 — 2026-05-25)

  • 구독 2티어 (유일 IAP, 같은 구독 그룹):
    • dartbrief.pro.monthly ₩1,000/월 — 주간 분석 60 + 관심종목 30
    • dartbrief.max.monthly ₩2,000/월 — 주간 분석 200 + 관심종목 100
  • 일회성 슬롯/광고제거 상품 폐기 — 도메인/정책 룰: domain-subscription · policies/monetization

Webhook

API 명세는 api/subscription. 둘 다 backend 라우트 추가 필요 (현재 미존재).

  • Apple ASSN V2: POST https://api.dartbrief.com/internal/appstore-notifications (signed payload JWS 서명 검증)
  • Google Play RTDN: POST https://api.dartbrief.com/internal/play-rtdn (Pub/Sub push, base64 RTDN payload)

만료/환불 처리 (구독 다운그레이드)

  • webhook(또는 verify refresh) 수신 → premium_until 회수 → 무료로 강등
  • capacity 가 새 티어 상한(무료 3 / PRO 30) 복귀, 초과 종목은 첫 접속 alert → 하락 시각 +7d(만료/환불/MAX→PRO 다운그레이드가 적용된 시점 기준) 경과 시 새 상한만 남기고 자동 정리. ⚠️ premium_until 기준 금지 — MAX→PRO 하향은 premium_until 이 미래로 유지돼 정리가 한 주기 이상 지연됨
  • 상세 규칙: domain-subscription 다운그레이드 절