yandexads-flutter

Форк
0
111 строк · 2.7 Кб
1
import 'package:flutter_yandex_ads/pigeons/rewarded.dart';
2
import 'package:flutter_yandex_ads/yandex.dart';
3

4
class YandexAdsRewardedComponent {
5
  YandexAdsRewardedComponent({
6
    Function? onAdLoaded,
7
    Function? onAdFailedToLoad,
8
    Function? onAdFailedToShow,
9
    Function? onImpression,
10
    Function? onAdClicked,
11
    Function? onAdShown,
12
    Function? onAdDismissed,
13
    Function? onRewarded,
14
    required this.id,
15
  }) {
16
    rewarded = YandexAdsRewarded();
17

18
    FlutterYandexAds.addRewarded(
19
      id,
20
      YandexAdsRewardedCallbacks(
21
        onAdLoaded: onAdLoaded,
22
        onAdFailedToLoad: onAdFailedToLoad,
23
        onAdFailedToShow: onAdFailedToShow,
24
        onImpression: onImpression,
25
        onAdClicked: onAdClicked,
26
        onAdShown: onAdShown,
27
        onAdDismissed: onAdDismissed,
28
        onReward: onRewarded,
29
      ),
30
    );
31

32
    rewarded.make(id);
33
  }
34

35
  final String id;
36
  late YandexAdsRewarded rewarded;
37

38
  void load() {
39
    rewarded.load(id);
40
  }
41

42
  void show() {
43
    rewarded.show(id);
44
  }
45
}
46

47
class FlutterYandexAdsRewardedCallbacks implements FlutterYandexAdsRewarded {
48
  @override
49
  void onAdClicked(String id) {
50
    final callbacks = FlutterYandexAds.getRewarded(id);
51
    if (callbacks?.onAdClicked != null) {
52
      callbacks?.onAdClicked!();
53
    }
54
  }
55

56
  @override
57
  void onAdDismissed(String id) {
58
    final callbacks = FlutterYandexAds.getRewarded(id);
59
    if (callbacks?.onAdDismissed != null) {
60
      callbacks?.onAdDismissed!();
61
    }
62
  }
63

64
  @override
65
  void onAdFailedToLoad(String id, RewardedError err) {
66
    final callbacks = FlutterYandexAds.getRewarded(id);
67
    if (callbacks?.onAdFailedToLoad != null) {
68
      callbacks?.onAdFailedToLoad!(err);
69
    }
70
  }
71

72
  @override
73
  void onAdFailedToShow(String id, RewardedError err) {
74
    final callbacks = FlutterYandexAds.getRewarded(id);
75
    if (callbacks?.onAdFailedToShow != null) {
76
      callbacks?.onAdFailedToShow!(err);
77
    }
78
  }
79

80
  @override
81
  void onAdLoaded(String id) {
82
    final callbacks = FlutterYandexAds.getRewarded(id);
83
    if (callbacks?.onAdLoaded != null) {
84
      callbacks?.onAdLoaded!();
85
    }
86
  }
87

88
  @override
89
  void onAdShown(String id) {
90
    final callbacks = FlutterYandexAds.getRewarded(id);
91
    if (callbacks?.onAdShown != null) {
92
      callbacks?.onAdShown!();
93
    }
94
  }
95

96
  @override
97
  void onImpression(String id, RewardedImpression data) {
98
    final callbacks = FlutterYandexAds.getRewarded(id);
99
    if (callbacks?.onImpression != null) {
100
      callbacks?.onImpression!(data);
101
    }
102
  }
103

104
  @override
105
  void onRewarded(String id, RewardedEvent reward) {
106
    final callbacks = FlutterYandexAds.getRewarded(id);
107
    if (callbacks?.onImpression != null) {
108
      callbacks?.onReward!(reward);
109
    }
110
  }
111
}
112

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.