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