Files
BlockSeasons/docs/monetization-setup-guide.md
T
airkjw b31228d987 docs: AdMob + IAP real-id setup guide for owner (Phase 5 finalize)
Step-by-step owner guide to register the AdMob apps + 6 ad units, create the
remove_ads IAP in both stores, and the exact values to send back so the
TODO_REAL_* ad ids and native AdMob app ids get swapped in.
2026-06-13 18:31:20 +09:00

5.1 KiB

AdMob + IAP 실제 ID 준비 가이드 (오너용)

코드(Phase 5)는 이미 완성돼 있고 Google 테스트 광고로 동작합니다. 이 문서대로 각 콘솔에서 앱/광고단위/상품을 만들고, 마지막 "Claude에게 보낼 값" 목록을 알려주시면 제가 실제 ID로 교체해 마무리합니다.

공통 정보:

  • 번들 ID(앱 식별자): com.airkjw.blockseasons (iOS·Android 동일)
  • 앱 이름: Block Seasons

1. AdMob — 앱 2개 + 광고단위 6개 (약 15분)

https://apps.admob.com → 좌측 앱 추가.

iOS 앱 등록

  1. 플랫폼: iOS.
  2. "앱이 앱 스토어에 등록되어 있나요?" → 아직이면 아니요 선택 후 수동 등록 (앱 이름 Block Seasons 입력). 나중에 스토어 출시 후 연결 가능.
  3. 생성되면 그 앱의 앱 ID(ca-app-pub-...~... 형식)를 적어둡니다 → iOS 앱 ID.
  4. 그 앱 안에서 광고 단위 3개 생성:
    • 전면(Interstitial) — 이름 예: ios_interstitial
    • 보상형(Rewarded) — 이름 예: ios_rewarded
    • 배너(Banner) — 이름 예: ios_banner 각 광고 단위 ID(ca-app-pub-.../... 형식)를 적어둡니다.

Android 앱 등록

  1. 플랫폼: Android, 같은 방식으로 등록 → Android 앱 ID 기록.
  2. 광고 단위 3개 생성: android_interstitial, android_rewarded, android_banner → 각 ID 기록.

광고 형식 설정은 기본값으로 둬도 됩니다. (보상형은 보상 금액/이름을 물어보면 임의로 1 / "reward"로 두세요 — 우리 코드는 금액을 쓰지 않습니다.)

⚠️ 본인 광고를 직접 클릭하지 마세요 (AdMob 무효 트래픽 정책). 실기기 테스트는 디버그 빌드(자동으로 테스트 광고)로 하거나, AdMob 설정 → 테스트 기기에 본인 기기 광고 ID를 등록하세요.


2. App Store Connect — 앱 + remove_ads IAP (약 10분)

https://appstoreconnect.apple.com

  1. 앱 → + → 새 앱 생성: 플랫폼 iOS, 이름 Block Seasons, 번들 ID com.airkjw.blockseasons(Apple Developer에서 먼저 App ID 등록 필요), SKU 임의(예: blockseasons01).
  2. 좌측 수익화 → 앱 내 구입 → +:
    • 유형: 비소모성(Non-Consumable)
    • 제품 ID: remove_ads ← 코드가 이 값을 그대로 찾습니다. 반드시 동일하게.
    • 참조 이름: Remove Ads, 가격: 원하는 등급(예: ₩1,500 / $0.99) 선택.
    • 현지화(영문/한글) 표시 이름·설명 입력 후 저장.
  3. Sandbox 테스터 계정을 만들어두면(사용자 및 액세스 → Sandbox) 결제 테스트 가능.

3. Google Play Console — 앱 + remove_ads 상품 (약 10분)

https://play.google.com/console

  1. 앱 만들기: 이름 Block Seasons, 게임/무료 선택.
  2. 먼저 내부 테스트 트랙에 서명된 빌드(AAB) 1개를 업로드해야 인앱 상품을 만들 수 있습니다 (Play 제약). 이 빌드는 Phase 7에서 제가 만들어 드립니다 — 지금은 1~2단계만 해두고, 상품 생성은 그 빌드 업로드 후 진행해도 됩니다.
  3. 수익 창출 → 제품 → 인앱 상품 → 상품 만들기:
    • 제품 ID: remove_ads ← iOS와 동일하게.
    • 이름 Remove Ads, 가격 설정, 활성화.
  4. 라이선스 테스터(설정 → 라이선스 테스트)에 본인 Google 계정을 넣으면 샌드박스 결제 가능.

4. (Phase 7) app-ads.txt — 광고 수익 인증

AdMob이 광고 인벤토리 판매를 인증하려면, 스토어 리스팅의 "개발자 웹사이트" 도메인 루트에 app-ads.txt가 있어야 합니다. 내용 한 줄:

google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0

(pub-XXXX...는 AdMob 게시자 ID — AdMob 설정에 표시됨.) GitHub Pages 무료 사이트면 충분합니다. 이건 Phase 7에서 함께 처리하니 지금은 게시자 ID만 같이 적어주세요.


Claude에게 보낼 값 (이것만 주시면 코드 교체 끝)

AdMob 게시자 ID:        pub-________________
AdMob iOS 앱 ID:        ca-app-pub-________~________
AdMob Android 앱 ID:    ca-app-pub-________~________

iOS 전면 광고단위:       ca-app-pub-________/________
iOS 보상형 광고단위:     ca-app-pub-________/________
iOS 배너 광고단위:       ca-app-pub-________/________
Android 전면 광고단위:   ca-app-pub-________/________
Android 보상형 광고단위: ca-app-pub-________/________
Android 배너 광고단위:   ca-app-pub-________/________

IAP 제품 ID:            remove_ads  (그대로면 OK / 다르게 만들었으면 알려주세요)

이 값을 받으면 제가:

  1. lib/services/ad_config.dart_real* 6개 광고단위 ID 교체
  2. ios/Runner/Info.plistGADApplicationIdentifier → iOS 앱 ID로 교체
  3. android/app/src/main/AndroidManifest.xmlAPPLICATION_ID → Android 앱 ID로 교체
  4. (Phase 7) app-ads.txt 생성

까지 처리하고, 릴리스 빌드가 실제 광고를 띄우도록 마무리합니다. (IAP 제품 ID가 remove_ads면 IAP 코드는 변경 불필요.)