★★★★★
#결제·광고 · claude-code
인앱결제 — 원스토어 (flavor)
프로젝트: {{appName}}
#원스토어#flavor#Delegation 패턴
변수 3개 — 여기 채우면 아래 프롬프트에 바로 들어가요
프로젝트: {{appName}}
제품 ID: {{productId}}
원스토어 라이선스 키: {{onestoreLicenseKey}}
원스토어 인앱결제를 추가해야 해. Google Play와 동시 지원하려면 Delegation 패턴 (prayer_app 참조).
단계:
1. pubspec.yaml: `flutter_onestore_inapp: ^0.4.2`
2. 아키텍처:
```
PurchaseService (facade) → PurchaseDelegate (abstract)
├─ GooglePlayDelegate (in_app_purchase)
└─ OneStoreDelegate (flutter_onestore_inapp)
```
3. android/app/build.gradle.kts:
```kotlin
flavorDimensions += "store"
productFlavors {
create("googleplay") { dimension = "store" }
create("onestore") { dimension = "store" }
}
```
4. android/build.gradle.kts에 원스토어 maven:
```kotlin
maven { url = uri("https://repo.onestore.net/repository/onestore-sdk-public") }
```
5. AndroidManifest.xml에 intent-filter 추가 (원스토어 통신)
6. OneStoreDelegate 구현:
- `PurchaseClientManager.instance.initialize({{onestoreLicenseKey}})`
- 구매 후 3일 이내 `acknowledgePurchase()` 필수
빌드:
```bash
# Google Play
flutter build appbundle --flavor googleplay --dart-define=STORE_FLAVOR=googleplay
# 원스토어 (APK만 지원)
flutter build apk --flavor onestore --dart-define=STORE_FLAVOR=onestore
```
검증: 양쪽 스토어에서 구매 테스트 성공
쓰는 법 — 위 칸에 본인 값을 채우면 아래 프롬프트에 바로 반영돼요. 복사 버튼을 누르면 채워진 그대로 클립보드에 담기니까, claude-code(또는 본인이 쓰는 AI)에 붙여넣기만 하면 됩니다. 변수가 없으면 그냥 복사해서 쓰세요.

