# 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.plist`의 `GADApplicationIdentifier` → iOS 앱 ID로 교체
3. `android/app/src/main/AndroidManifest.xml`의 `APPLICATION_ID` → Android 앱 ID로 교체
4. (Phase 7) app-ads.txt 생성

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