Flutter 보상형 광고
0 단계: 콘솔에서 광고 유닛 등록하기
1 단계: (선택 사항) 이벤트 리스너 선언하기
2단계: 보상형 광고 노출하기
Ad type
Ad unit ID
보상형 광고 Dispose
적용 확인하기
Last updated


Last updated
final AdropRewardedListener listener = AdropRewardedListener(
onAdReceived: (ad) =>
debugPrint('Adrop Rewarded Ad loaded with unitId ${ad.unitId}!'),
onAdFailedToReceive: (ad, errorCode) =>
debugPrint('error in ${ad.unitId} while loading: $errorCode'),
onAdFailedToShowFullScreen: (ad, errorCode) =>
debugPrint('error in ${ad.unitId} while showing: $errorCode'),
onAdEarnRewardHandler: (ad, type, amount) {
debugPrint('Adrop Rewarded Ad earn rewards: ${ad.unitId}, $type, $amount');
// implement your actions with rewards
},
...
);class YourComponent extends StatefulWidget {
const YourComponent({super.key});
@override
State<StatefulWidget> createState() => _YourComponentState();
}
class _YourComponentState extends State<YourComponent> {
final AdropRewardedAd rewardedAd = AdropRewardedAd(
// 0 단계에서 복사한 UNIT_ID를 입력해주세요. 테스트를 원한다면, 가이드 위의 테스트 유닛 아이디를 사용해 주세요.
unitId: 'YOUR_UNIT_ID or TEST_UNIT_ID',
listener: listener,
);
@override
void initState() {
super.initState();
rewardedAd.load();
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: TextButton(
onPressed: () {
final isLoaded = rewardedAd?.isLoaded ?? false;
if (isLoaded) {
rewardedAd.show();
} else {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('rewarded ad is loading...'))
);
}
},
child: const Text('display ad'),
),
),
);
}
}@override
void dispose() {
super.dispose();
rewardedAd.dispose();
}