yandexads-flutter

Форк
0
/
YandexAdsBannerViewFactory.swift 
41 строка · 1.1 Кб
1
import Flutter
2
import UIKit
3
import YandexMobileAds
4

5
class YandexAdsBannerViewFactory: NSObject, FlutterPlatformViewFactory {
6
    private var api: YandexAdsBannerComponent
7

8
    init(api: YandexAdsBannerComponent) {
9
        self.api = api
10
        super.init()
11
    }
12

13
    func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> FlutterPlatformView {
14
        let params = args as! [String: Any]
15
        let id = params["id"] as! String
16
        
17
        let banner = api.banners[id]
18
        
19
        return BannerView(
20
                frame: frame,
21
                viewIdentifier: viewId,
22
                banner: banner)
23
    }
24

25
    public func createArgsCodec() -> FlutterMessageCodec & NSObjectProtocol {
26
        return FlutterStandardMessageCodec.sharedInstance()
27
    }
28
}
29

30
class BannerView: NSObject, FlutterPlatformView {
31
    private var banner: BannerData!
32

33
    init(frame: CGRect, viewIdentifier viewId: Int64, banner: BannerData?) {
34
        super.init()
35
        self.banner = banner
36
    }
37

38
    func view() -> UIView {
39
        return banner.view
40
    }
41
}
42

43

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

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

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

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