yandexads-flutter

Форк
0
103 строки · 2.2 Кб
1
import 'package:flutter/foundation.dart';
2
import 'package:flutter/material.dart';
3
import 'package:flutter_yandex_ads/pigeons/banner.dart';
4

5
class YandexAdsBannerComponent {
6
  YandexAdsBannerComponent({
7
    Key? key,
8
    Function? onAdLoaded,
9
    Function? onAdFailedToLoad,
10
    Function? onImpression,
11
    Function? onAdClicked,
12
    Function? onLeftApplication,
13
    Function? onReturnedToApplication,
14
    required this.id,
15
    required this.width,
16
    required this.height,
17
  }) {
18
    banner = YandexAdsBanner();
19

20
    banner.make(id, width, height);
21

22
    if (onAdLoaded != null) {
23
      _onAdLoaded(id, onAdLoaded);
24
    }
25

26
    if (onAdFailedToLoad != null) {
27
      _onAdFailedToLoad(id, onAdFailedToLoad);
28
    }
29

30
    if (onImpression != null) {
31
      _onImpression(id, onImpression);
32
    }
33

34
    if (onAdClicked != null) {
35
      _onAdClicked(id, onAdClicked);
36
    }
37

38
    if (onLeftApplication != null) {
39
      _onLeftApplication(id, onLeftApplication);
40
    }
41

42
    if (onReturnedToApplication != null) {
43
      _onReturnedToApplication(id, onReturnedToApplication);
44
    }
45
  }
46

47
  final String id;
48
  final int width;
49
  final int height;
50
  late YandexAdsBanner banner;
51

52
  void _onAdLoaded(String id, Function callback) {
53
    banner.onAdLoaded(id).then((value) {
54
      _onAdLoaded(id, callback);
55

56
      callback();
57
    });
58
  }
59

60
  void _onAdFailedToLoad(String id, Function callback) {
61
    banner.onAdFailedToLoad(id).then((value) {
62
      _onAdFailedToLoad(id, callback);
63

64
      callback(value);
65
    });
66
  }
67

68
  void _onImpression(String id, Function callback) {
69
    banner.onImpression(id).then((value) {
70
      _onImpression(id, callback);
71

72
      callback(value);
73
    });
74
  }
75

76
  void _onAdClicked(String id, Function callback) {
77
    banner.onAdClicked(id).then((value) {
78
      _onAdClicked(id, callback);
79

80
      callback();
81
    });
82
  }
83

84
  void _onLeftApplication(String id, Function callback) {
85
    banner.onLeftApplication(id).then((value) {
86
      _onLeftApplication(id, callback);
87

88
      callback();
89
    });
90
  }
91

92
  void _onReturnedToApplication(String id, Function callback) {
93
    banner.onReturnedToApplication(id).then((value) {
94
      _onReturnedToApplication(id, callback);
95

96
      callback();
97
    });
98
  }
99

100
  void load() {
101
    banner.load(id);
102
  }
103
}
104

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

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

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

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