yandexads-flutter
103 строки · 2.2 Кб
1import 'package:flutter/foundation.dart';
2import 'package:flutter/material.dart';
3import 'package:flutter_yandex_ads/pigeons/banner.dart';
4
5class YandexAdsBannerComponent {
6YandexAdsBannerComponent({
7Key? key,
8Function? onAdLoaded,
9Function? onAdFailedToLoad,
10Function? onImpression,
11Function? onAdClicked,
12Function? onLeftApplication,
13Function? onReturnedToApplication,
14required this.id,
15required this.width,
16required this.height,
17}) {
18banner = YandexAdsBanner();
19
20banner.make(id, width, height);
21
22if (onAdLoaded != null) {
23_onAdLoaded(id, onAdLoaded);
24}
25
26if (onAdFailedToLoad != null) {
27_onAdFailedToLoad(id, onAdFailedToLoad);
28}
29
30if (onImpression != null) {
31_onImpression(id, onImpression);
32}
33
34if (onAdClicked != null) {
35_onAdClicked(id, onAdClicked);
36}
37
38if (onLeftApplication != null) {
39_onLeftApplication(id, onLeftApplication);
40}
41
42if (onReturnedToApplication != null) {
43_onReturnedToApplication(id, onReturnedToApplication);
44}
45}
46
47final String id;
48final int width;
49final int height;
50late YandexAdsBanner banner;
51
52void _onAdLoaded(String id, Function callback) {
53banner.onAdLoaded(id).then((value) {
54_onAdLoaded(id, callback);
55
56callback();
57});
58}
59
60void _onAdFailedToLoad(String id, Function callback) {
61banner.onAdFailedToLoad(id).then((value) {
62_onAdFailedToLoad(id, callback);
63
64callback(value);
65});
66}
67
68void _onImpression(String id, Function callback) {
69banner.onImpression(id).then((value) {
70_onImpression(id, callback);
71
72callback(value);
73});
74}
75
76void _onAdClicked(String id, Function callback) {
77banner.onAdClicked(id).then((value) {
78_onAdClicked(id, callback);
79
80callback();
81});
82}
83
84void _onLeftApplication(String id, Function callback) {
85banner.onLeftApplication(id).then((value) {
86_onLeftApplication(id, callback);
87
88callback();
89});
90}
91
92void _onReturnedToApplication(String id, Function callback) {
93banner.onReturnedToApplication(id).then((value) {
94_onReturnedToApplication(id, callback);
95
96callback();
97});
98}
99
100void load() {
101banner.load(id);
102}
103}
104