yandexads-flutter
111 строк · 2.7 Кб
1import 'package:flutter_yandex_ads/pigeons/rewarded.dart';
2import 'package:flutter_yandex_ads/yandex.dart';
3
4class YandexAdsRewardedComponent {
5YandexAdsRewardedComponent({
6Function? onAdLoaded,
7Function? onAdFailedToLoad,
8Function? onAdFailedToShow,
9Function? onImpression,
10Function? onAdClicked,
11Function? onAdShown,
12Function? onAdDismissed,
13Function? onRewarded,
14required this.id,
15}) {
16rewarded = YandexAdsRewarded();
17
18FlutterYandexAds.addRewarded(
19id,
20YandexAdsRewardedCallbacks(
21onAdLoaded: onAdLoaded,
22onAdFailedToLoad: onAdFailedToLoad,
23onAdFailedToShow: onAdFailedToShow,
24onImpression: onImpression,
25onAdClicked: onAdClicked,
26onAdShown: onAdShown,
27onAdDismissed: onAdDismissed,
28onReward: onRewarded,
29),
30);
31
32rewarded.make(id);
33}
34
35final String id;
36late YandexAdsRewarded rewarded;
37
38void load() {
39rewarded.load(id);
40}
41
42void show() {
43rewarded.show(id);
44}
45}
46
47class FlutterYandexAdsRewardedCallbacks implements FlutterYandexAdsRewarded {
48@override
49void onAdClicked(String id) {
50final callbacks = FlutterYandexAds.getRewarded(id);
51if (callbacks?.onAdClicked != null) {
52callbacks?.onAdClicked!();
53}
54}
55
56@override
57void onAdDismissed(String id) {
58final callbacks = FlutterYandexAds.getRewarded(id);
59if (callbacks?.onAdDismissed != null) {
60callbacks?.onAdDismissed!();
61}
62}
63
64@override
65void onAdFailedToLoad(String id, RewardedError err) {
66final callbacks = FlutterYandexAds.getRewarded(id);
67if (callbacks?.onAdFailedToLoad != null) {
68callbacks?.onAdFailedToLoad!(err);
69}
70}
71
72@override
73void onAdFailedToShow(String id, RewardedError err) {
74final callbacks = FlutterYandexAds.getRewarded(id);
75if (callbacks?.onAdFailedToShow != null) {
76callbacks?.onAdFailedToShow!(err);
77}
78}
79
80@override
81void onAdLoaded(String id) {
82final callbacks = FlutterYandexAds.getRewarded(id);
83if (callbacks?.onAdLoaded != null) {
84callbacks?.onAdLoaded!();
85}
86}
87
88@override
89void onAdShown(String id) {
90final callbacks = FlutterYandexAds.getRewarded(id);
91if (callbacks?.onAdShown != null) {
92callbacks?.onAdShown!();
93}
94}
95
96@override
97void onImpression(String id, RewardedImpression data) {
98final callbacks = FlutterYandexAds.getRewarded(id);
99if (callbacks?.onImpression != null) {
100callbacks?.onImpression!(data);
101}
102}
103
104@override
105void onRewarded(String id, RewardedEvent reward) {
106final callbacks = FlutterYandexAds.getRewarded(id);
107if (callbacks?.onImpression != null) {
108callbacks?.onReward!(reward);
109}
110}
111}
112