yandexads-flutter

Форк
0
/
interstitial.dart 
101 строка · 2.5 Кб
1
import 'package:flutter_yandex_ads/pigeons/interstitial.dart';
2
import 'package:flutter_yandex_ads/yandex.dart';
3

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

17
    FlutterYandexAds.addInterstitial(
18
      id,
19
      YandexAdsInterstitialCallbacks(
20
        onAdLoaded: onAdLoaded,
21
        onAdFailedToLoad: onAdFailedToLoad,
22
        onAdFailedToShow: onAdFailedToShow,
23
        onImpression: onImpression,
24
        onAdClicked: onAdClicked,
25
        onAdShown: onAdShown,
26
        onAdDismissed: onAdDismissed,
27
      ),
28
    );
29

30
    interstitial.make(id);
31
  }
32

33
  final String id;
34
  late YandexAdsInterstitial interstitial;
35

36
  void load() {
37
    interstitial.load(id);
38
  }
39

40
  void show() {
41
    interstitial.show(id);
42
  }
43
}
44

45
class FlutterYandexAdsInterstitialCallbacks implements FlutterYandexAdsInterstitial {
46
  @override
47
  void onAdClicked(String id) {
48
    final callbacks = FlutterYandexAds.getInterstitial(id);
49
    if (callbacks?.onAdClicked != null) {
50
      callbacks?.onAdClicked!();
51
    }
52
  }
53

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

62
  @override
63
  void onAdFailedToLoad(String id, InterstitialError err) {
64
    final callbacks = FlutterYandexAds.getInterstitial(id);
65
    if (callbacks?.onAdFailedToLoad != null) {
66
      callbacks?.onAdFailedToLoad!(err);
67
    }
68
  }
69

70
  @override
71
  void onAdFailedToShow(String id, InterstitialError err) {
72
    final callbacks = FlutterYandexAds.getInterstitial(id);
73
    if (callbacks?.onAdFailedToShow != null) {
74
      callbacks?.onAdFailedToShow!(err);
75
    }
76
  }
77

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

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

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

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

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

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

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