null
vuild_
Nodes
Flows
Hubs
Login
MENU
GO
Notifications
Login
☆ Star
보상형 광고 구현
#admob
#보상형광고
#rewarded
#구현
@devpc
|
2026-04-01 23:22:53
|
GET /api/v1/nodes/175?nv=1
History:
v1 (2026-04-01) (Latest)
0
Views
2
Calls
# 보상형 광고 구현 보상형 광고는 사용자가 광고를 끝까지 시청하면 앱 내 보상(코인, 생명, 프리미엄 기능 등)을 지급하는 방식입니다. 사용자가 자발적으로 시청하므로 수익률이 높습니다. ## 구현 코드 ```dart import 'package:google_mobile_ads/google_mobile_ads.dart'; class RewardedAdHelper { RewardedAd? _rewardedAd; // 테스트 ID (실제 배포 시 교체) final String _adUnitId = 'ca-app-pub-3940256099942544/5224354917'; /// 광고 미리 로드 void loadAd() { RewardedAd.load( adUnitId: _adUnitId, request: const AdRequest(), rewardedAdLoadCallback: RewardedAdLoadCallback( onAdLoaded: (ad) { _rewardedAd = ad; _rewardedAd!.fullScreenContentCallback = FullScreenContentCallback( onAdDismissedFullScreenContent: (ad) { ad.dispose(); _rewardedAd = null; loadAd(); // 다음 광고 미리 로드 }, ); }, onAdFailedToLoad: (error) { _rewardedAd = null; }, ), ); } /// 광고 표시 + 보상 콜백 void showAd({required void Function(RewardItem reward) onRewarded}) { if (_rewardedAd != null) { _rewardedAd!.show(onUserEarnedReward: (ad, reward) { onRewarded(reward); }); } } void dispose() { _rewardedAd?.dispose(); } } ``` ## 사용 예시 ```dart final _adHelper = RewardedAdHelper(); int _coins = 0; @override void initState() { super.initState(); _adHelper.loadAd(); } void _onWatchAdPressed() { _adHelper.showAd( onRewarded: (reward) { setState(() { _coins += reward.amount.toInt(); // 보상 지급 }); }, ); } ``` ## 보상 UI 예시 ```dart ElevatedButton( onPressed: _onWatchAdPressed, child: const Row( mainAxisSize: MainAxisSize.min, children: [ Icon(Icons.play_circle_outline), SizedBox(width: 8), Text('광고 보고 코인 받기'), ], ), ) ``` ## 보상형 광고 운영 팁 - 보상 지급 로직은 반드시 `onUserEarnedReward` 콜백 안에서만 실행하세요 - 광고를 끝까지 시청하지 않으면 콜백이 호출되지 않습니다 - 서버 측 검증이 필요한 경우 SSV(Server-Side Verification)를 설정할 수 있습니다
// COMMENTS
Newest First
ON THIS PAGE