yandexads-flutter

Форк
0
92 строки · 2.3 Кб
1
import 'package:flutter_yandex_ads/pigeons/appopen.dart';
2
import 'package:flutter_yandex_ads/yandex.dart';
3

4
class YandexAdsAppOpenComponent {
5
  YandexAdsAppOpenComponent({
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
    appopen = YandexAdsAppOpen();
16

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

29
    appopen.make(id);
30
  }
31

32
  final String id;
33
  late YandexAdsAppOpen appopen;
34
}
35

36
class FlutterYandexAdsAppOpenCallbacks implements FlutterYandexAdsAppOpen {
37
  @override
38
  void onAdClicked(String id) {
39
    final callbacks = FlutterYandexAds.getAppOpen(id);
40
    if (callbacks?.onAdClicked != null) {
41
      callbacks?.onAdClicked!();
42
    }
43
  }
44

45
  @override
46
  void onAdDismissed(String id) {
47
    final callbacks = FlutterYandexAds.getAppOpen(id);
48
    if (callbacks?.onAdDismissed != null) {
49
      callbacks?.onAdDismissed!();
50
    }
51
  }
52

53
  @override
54
  void onAdFailedToLoad(String id, AppOpenError err) {
55
    final callbacks = FlutterYandexAds.getAppOpen(id);
56
    if (callbacks?.onAdFailedToLoad != null) {
57
      callbacks?.onAdFailedToLoad!(err);
58
    }
59
  }
60

61
  @override
62
  void onAdFailedToShow(String id, AppOpenError err) {
63
    final callbacks = FlutterYandexAds.getAppOpen(id);
64
    if (callbacks?.onAdFailedToShow != null) {
65
      callbacks?.onAdFailedToShow!(err);
66
    }
67
  }
68

69
  @override
70
  void onAdLoaded(String id) {
71
    final callbacks = FlutterYandexAds.getAppOpen(id);
72
    if (callbacks?.onAdLoaded != null) {
73
      callbacks?.onAdLoaded!();
74
    }
75
  }
76

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

85
  @override
86
  void onImpression(String id, AppOpenImpression data) {
87
    final callbacks = FlutterYandexAds.getAppOpen(id);
88
    if (callbacks?.onImpression != null) {
89
      callbacks?.onImpression!();
90
    }
91
  }
92
}
93

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

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

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

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