yandexads-flutter
41 строка · 1.1 Кб
1import Flutter
2import UIKit
3import YandexMobileAds
4
5class YandexAdsBannerViewFactory: NSObject, FlutterPlatformViewFactory {
6private var api: YandexAdsBannerComponent
7
8init(api: YandexAdsBannerComponent) {
9self.api = api
10super.init()
11}
12
13func create(withFrame frame: CGRect, viewIdentifier viewId: Int64, arguments args: Any?) -> FlutterPlatformView {
14let params = args as! [String: Any]
15let id = params["id"] as! String
16
17let banner = api.banners[id]
18
19return BannerView(
20frame: frame,
21viewIdentifier: viewId,
22banner: banner)
23}
24
25public func createArgsCodec() -> FlutterMessageCodec & NSObjectProtocol {
26return FlutterStandardMessageCodec.sharedInstance()
27}
28}
29
30class BannerView: NSObject, FlutterPlatformView {
31private var banner: BannerData!
32
33init(frame: CGRect, viewIdentifier viewId: Int64, banner: BannerData?) {
34super.init()
35self.banner = banner
36}
37
38func view() -> UIView {
39return banner.view
40}
41}
42
43