★★★★★
#앱별 실전 패턴 · claude-code
게임 보상형 광고 (AdMob Rewarded Ads)
{{GAME_NAME}}에서 광고를 시청하면 게임 내 아이템·코인을 주는 보상형 광고(we_are_tonged 패턴)를 추가하려고 해.
#admob#rewarded-ads#monetization#gaming
변수 1개 — 여기 채우면 아래 프롬프트에 바로 들어가요
{{GAME_NAME}}에서 광고를 시청하면 게임 내 아이템·코인을 주는 보상형 광고(we_are_tonged 패턴)를 추가하려고 해.
구조:
```dart
// Ad 로드
await _rewardedAd = RewardedAd.load(...,
adUnitId: 'ca-app-pub-3940256099942544/5224354917', // 테스트 광고 ID (출시 시 본인 광고 단위 ID로 교체)
request: const AdRequest(),
rewardedAdLoadCallback: RewardedAdLoadCallback(
onAdLoaded: (ad) => setState(() => _rewardedAd = ad),
),
);
// 광고 표시
_rewardedAd?.show(
onUserEarnedReward: (ad, reward) {
// 보상 지급 (코인 +100)
setState(() => coins += 100);
},
);
```
주의사항:
- 사용자가 광고 중간에 닫으면 보상 지급 안 함 (onUserEarnedReward 호출 안 됨)
- 광고 로드 실패 시 fallback UI 필요
- 빈번한 광고 노출은 사용자 이탈 원인
추적:
- Google Analytics로 "광고 시청 횟수" 기록
- AdMob: 일간 RPM (Revenue Per Mille)
심사 주의사항:
- 클릭 조작(자동 클릭) 금지
- 광고 품질 기준 (격한 콘텐츠 등)
- 스토어 심사 중 광고 비활성화 (글로벌 #6 참고)
A/B 테스트:
- 광고 시청 유도 텍스트 변경
- 보상 금액 조정
- 광고 위치 변경 (시작 vs 게임 오버)
수익 최대화, 사용자 경험 vs 광고 균형까지 알려줄래?
쓰는 법 — 위 칸에 본인 값을 채우면 아래 프롬프트에 바로 반영돼요. 복사 버튼을 누르면 채워진 그대로 클립보드에 담기니까, claude-code(또는 본인이 쓰는 AI)에 붙여넣기만 하면 됩니다. 변수가 없으면 그냥 복사해서 쓰세요.

