diff --git a/packages/interactive_media_ads/CHANGELOG.md b/packages/interactive_media_ads/CHANGELOG.md index 6da27d96328..af8606dce33 100644 --- a/packages/interactive_media_ads/CHANGELOG.md +++ b/packages/interactive_media_ads/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.2.2+3 + +* Adds internal wrapper for iOS native `IMAFriendlyObstruction`. + ## 0.2.2+2 * Adds internal wrapper for Android native `AdsRenderingSettings`. diff --git a/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt b/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt index d8c7b41b294..74c520939af 100644 --- a/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt +++ b/packages/interactive_media_ads/android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt @@ -21,7 +21,7 @@ class AdsRequestProxyApi(override val pigeonRegistrar: ProxyApiRegistrar) : * * This must match the version in pubspec.yaml. */ - const val pluginVersion = "0.2.2+2" + const val pluginVersion = "0.2.2+3" } override fun setAdTagUrl(pigeon_instance: AdsRequest, adTagUrl: String) { diff --git a/packages/interactive_media_ads/example/ios/Runner.xcodeproj/project.pbxproj b/packages/interactive_media_ads/example/ios/Runner.xcodeproj/project.pbxproj index 65f90052507..76decbfe670 100644 --- a/packages/interactive_media_ads/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/interactive_media_ads/example/ios/Runner.xcodeproj/project.pbxproj @@ -26,6 +26,7 @@ 8F977DD72C2C89A600A90D4B /* AdEventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F977DD62C2C89A600A90D4B /* AdEventTests.swift */; }; 8F977DD92C2C8C6A00A90D4B /* AdLoadingErrorDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F977DD82C2C8C6A00A90D4B /* AdLoadingErrorDataTests.swift */; }; 8F977DDB2C2C8D2E00A90D4B /* AdsLoadedDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8F977DDA2C2C8D2E00A90D4B /* AdsLoadedDataTests.swift */; }; + 8FC919922CA5D86F00188068 /* FriendlyObstructionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FC919912CA5D86F00188068 /* FriendlyObstructionTests.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -83,6 +84,7 @@ 8F977DD62C2C89A600A90D4B /* AdEventTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdEventTests.swift; sourceTree = ""; }; 8F977DD82C2C8C6A00A90D4B /* AdLoadingErrorDataTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdLoadingErrorDataTests.swift; sourceTree = ""; }; 8F977DDA2C2C8D2E00A90D4B /* AdsLoadedDataTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdsLoadedDataTests.swift; sourceTree = ""; }; + 8FC919912CA5D86F00188068 /* FriendlyObstructionTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FriendlyObstructionTests.swift; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -116,6 +118,7 @@ 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( + 8FC919912CA5D86F00188068 /* FriendlyObstructionTests.swift */, 8F977DCE2C2B99C600A90D4B /* AdDisplayContainerTests.swift */, 8F977DD22C2BA15100A90D4B /* TestProxyApiRegistrar.swift */, 8F977DD42C2C777600A90D4B /* AdErrorTests.swift */, @@ -408,6 +411,7 @@ buildActionMask = 2147483647; files = ( 8F599BBF2C3335B40090A0DF /* ViewControllerTests.swift in Sources */, + 8FC919922CA5D86F00188068 /* FriendlyObstructionTests.swift in Sources */, 8F977DD92C2C8C6A00A90D4B /* AdLoadingErrorDataTests.swift in Sources */, 8F599BB32C2DD87D0090A0DF /* AdsLoaderTests.swift in Sources */, 8F977DD72C2C89A600A90D4B /* AdEventTests.swift in Sources */, diff --git a/packages/interactive_media_ads/example/ios/RunnerTests/FriendlyObstructionTests.swift b/packages/interactive_media_ads/example/ios/RunnerTests/FriendlyObstructionTests.swift new file mode 100644 index 00000000000..7fab9c42f83 --- /dev/null +++ b/packages/interactive_media_ads/example/ios/RunnerTests/FriendlyObstructionTests.swift @@ -0,0 +1,66 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import Flutter +import GoogleInteractiveMediaAds +import UIKit +import XCTest + +@testable import interactive_media_ads + +class FriendlyObstructionProxyApiTests: XCTestCase { + func testPigeonDefaultConstructor() { + let registrar = TestProxyApiRegistrar() + let api = registrar.apiDelegate.pigeonApiIMAFriendlyObstruction(registrar) + + let instance = try? api.pigeonDelegate.pigeonDefaultConstructor( + pigeonApi: api, view: UIView(), purpose: .mediaControls, detailedReason: "myString") + XCTAssertNotNil(instance) + } + + func testPigeonDefaultConstructorWithUnknownPurpose() { + let registrar = TestProxyApiRegistrar() + let api = registrar.apiDelegate.pigeonApiIMAFriendlyObstruction(registrar) + + XCTAssertThrowsError( + try api.pigeonDelegate.pigeonDefaultConstructor( + pigeonApi: api, view: UIView(), purpose: .unknown, detailedReason: "myString") + ) { error in + XCTAssertTrue(error is PigeonError) + } + } + + func testView() { + let registrar = TestProxyApiRegistrar() + let api = registrar.apiDelegate.pigeonApiIMAFriendlyObstruction(registrar) + + let instance = IMAFriendlyObstruction( + view: UIView(), purpose: IMAFriendlyObstructionPurpose.closeAd, detailedReason: "reason") + let value = try? api.pigeonDelegate.view(pigeonApi: api, pigeonInstance: instance) + + XCTAssertEqual(value, instance.view) + } + + func testPurpose() { + let registrar = TestProxyApiRegistrar() + let api = registrar.apiDelegate.pigeonApiIMAFriendlyObstruction(registrar) + + let instance = IMAFriendlyObstruction( + view: UIView(), purpose: IMAFriendlyObstructionPurpose.closeAd, detailedReason: "reason") + let value = try? api.pigeonDelegate.purpose(pigeonApi: api, pigeonInstance: instance) + + XCTAssertEqual(value, FriendlyObstructionPurpose.closeAd) + } + + func testDetailedReason() { + let registrar = TestProxyApiRegistrar() + let api = registrar.apiDelegate.pigeonApiIMAFriendlyObstruction(registrar) + + let instance = IMAFriendlyObstruction( + view: UIView(), purpose: IMAFriendlyObstructionPurpose.closeAd, detailedReason: "reason") + let value = try? api.pigeonDelegate.detailedReason(pigeonApi: api, pigeonInstance: instance) + + XCTAssertEqual(value, instance.detailedReason) + } +} diff --git a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift index 50a4dcd4e30..e3588525018 100644 --- a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift +++ b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift @@ -13,7 +13,7 @@ class AdsRequestProxyAPIDelegate: PigeonApiDelegateIMAAdsRequest { /// The current version of the `interactive_media_ads` plugin. /// /// This must match the version in pubspec.yaml. - static let pluginVersion = "0.2.2+2" + static let pluginVersion = "0.2.2+3" func pigeonDefaultConstructor( pigeonApi: PigeonApiIMAAdsRequest, adTagUrl: String, adDisplayContainer: IMAAdDisplayContainer, diff --git a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/FriendlyObstructionAPIDelegate.swift b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/FriendlyObstructionAPIDelegate.swift new file mode 100644 index 00000000000..e03843bc299 --- /dev/null +++ b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/FriendlyObstructionAPIDelegate.swift @@ -0,0 +1,64 @@ +// Copyright 2013 The Flutter Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import Foundation +import GoogleInteractiveMediaAds +import UIKit + +/// ProxyApi implementation for [IMAFriendlyObstruction]. +/// +/// This class may handle instantiating native object instances that are attached to a Dart instance +/// or handle method calls on the associated native class or an instance of that class. +class FriendlyObstructionProxyAPIDelegate: PigeonApiDelegateIMAFriendlyObstruction { + func pigeonDefaultConstructor( + pigeonApi: PigeonApiIMAFriendlyObstruction, view: UIView, purpose: FriendlyObstructionPurpose, + detailedReason: String? + ) throws -> IMAFriendlyObstruction { + var nativePurpose: IMAFriendlyObstructionPurpose + switch purpose { + case .mediaControls: + nativePurpose = IMAFriendlyObstructionPurpose.mediaControls + case .closeAd: + nativePurpose = IMAFriendlyObstructionPurpose.closeAd + case .notVisible: + nativePurpose = IMAFriendlyObstructionPurpose.notVisible + case .other: + nativePurpose = IMAFriendlyObstructionPurpose.other + case .unknown: + throw (pigeonApi.pigeonRegistrar.apiDelegate as! ProxyApiDelegate).createUnknownEnumError( + withEnum: purpose) + } + return IMAFriendlyObstruction( + view: view, purpose: nativePurpose, detailedReason: detailedReason) + } + + func view(pigeonApi: PigeonApiIMAFriendlyObstruction, pigeonInstance: IMAFriendlyObstruction) + throws -> UIView + { + return pigeonInstance.view + } + + func purpose(pigeonApi: PigeonApiIMAFriendlyObstruction, pigeonInstance: IMAFriendlyObstruction) + throws -> FriendlyObstructionPurpose + { + switch pigeonInstance.purpose { + case .mediaControls: + return .mediaControls + case .closeAd: + return .closeAd + case .notVisible: + return .notVisible + case .other: + return .other + @unknown default: + return .unknown + } + } + + func detailedReason( + pigeonApi: PigeonApiIMAFriendlyObstruction, pigeonInstance: IMAFriendlyObstruction + ) throws -> String? { + return pigeonInstance.detailedReason + } +} diff --git a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/InteractiveMediaAdsLibrary.g.swift b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/InteractiveMediaAdsLibrary.g.swift index 4ceb8ad3380..a80d27d8bb9 100644 --- a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/InteractiveMediaAdsLibrary.g.swift +++ b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/InteractiveMediaAdsLibrary.g.swift @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v21.2.0), do not edit directly. +// Autogenerated from Pigeon (v22.5.0), do not edit directly. // See also: https://pub.dev/packages/pigeon import Foundation @@ -75,30 +75,32 @@ private func nilOrValue(_ value: Any?) -> T? { return value as! T? } /// Handles the callback when an object is deallocated. -protocol InteractiveMediaAdsLibraryPigeonFinalizerDelegate: AnyObject { +protocol InteractiveMediaAdsLibraryPigeonInternalFinalizerDelegate: AnyObject { /// Invoked when the strong reference of an object is deallocated in an `InstanceManager`. func onDeinit(identifier: Int64) } // Attaches to an object to receive a callback when the object is deallocated. -internal final class InteractiveMediaAdsLibraryPigeonFinalizer { +internal final class InteractiveMediaAdsLibraryPigeonInternalFinalizer { private static let associatedObjectKey = malloc(1)! private let identifier: Int64 // Reference to the delegate is weak because the callback should be ignored if the // `InstanceManager` is deallocated. - private weak var delegate: InteractiveMediaAdsLibraryPigeonFinalizerDelegate? + private weak var delegate: InteractiveMediaAdsLibraryPigeonInternalFinalizerDelegate? - private init(identifier: Int64, delegate: InteractiveMediaAdsLibraryPigeonFinalizerDelegate) { + private init( + identifier: Int64, delegate: InteractiveMediaAdsLibraryPigeonInternalFinalizerDelegate + ) { self.identifier = identifier self.delegate = delegate } internal static func attach( to instance: AnyObject, identifier: Int64, - delegate: InteractiveMediaAdsLibraryPigeonFinalizerDelegate + delegate: InteractiveMediaAdsLibraryPigeonInternalFinalizerDelegate ) { - let finalizer = InteractiveMediaAdsLibraryPigeonFinalizer( + let finalizer = InteractiveMediaAdsLibraryPigeonInternalFinalizer( identifier: identifier, delegate: delegate) objc_setAssociatedObject(instance, associatedObjectKey, finalizer, .OBJC_ASSOCIATION_RETAIN) } @@ -120,7 +122,7 @@ internal final class InteractiveMediaAdsLibraryPigeonFinalizer { /// When an instance is added with an identifier, either can be used to retrieve the other. /// /// Added instances are added as a weak reference and a strong reference. When the strong -/// reference is removed and the weak reference is deallocated,`InteractiveMediaAdsLibraryPigeonFinalizerDelegate.onDeinit` +/// reference is removed and the weak reference is deallocated,`InteractiveMediaAdsLibraryPigeonInternalFinalizerDelegate.onDeinit` /// is called with the instance's identifier. However, if the strong reference is removed and then the identifier is /// retrieved with the intention to pass the identifier to Dart (e.g. by calling `identifierWithStrongReference`), /// the strong reference to the instance is re-added. The strong reference will then need to be removed manually @@ -141,10 +143,10 @@ final class InteractiveMediaAdsLibraryPigeonInstanceManager { keyOptions: .strongMemory, valueOptions: [.weakMemory, .objectPointerPersonality]) private let strongInstances: NSMapTable = NSMapTable( keyOptions: .strongMemory, valueOptions: [.strongMemory, .objectPointerPersonality]) - private let finalizerDelegate: InteractiveMediaAdsLibraryPigeonFinalizerDelegate + private let finalizerDelegate: InteractiveMediaAdsLibraryPigeonInternalFinalizerDelegate private var nextIdentifier: Int64 = minHostCreatedIdentifier - public init(finalizerDelegate: InteractiveMediaAdsLibraryPigeonFinalizerDelegate) { + public init(finalizerDelegate: InteractiveMediaAdsLibraryPigeonInternalFinalizerDelegate) { self.finalizerDelegate = finalizerDelegate } @@ -215,7 +217,7 @@ final class InteractiveMediaAdsLibraryPigeonInstanceManager { identifiers.setObject(NSNumber(value: identifier), forKey: instance) weakInstances.setObject(instance, forKey: NSNumber(value: identifier)) strongInstances.setObject(instance, forKey: NSNumber(value: identifier)) - InteractiveMediaAdsLibraryPigeonFinalizer.attach( + InteractiveMediaAdsLibraryPigeonInternalFinalizer.attach( to: instance, identifier: identifier, delegate: finalizerDelegate) } @@ -295,7 +297,7 @@ final class InteractiveMediaAdsLibraryPigeonInstanceManager { private class InteractiveMediaAdsLibraryPigeonInstanceManagerApi { /// The codec used for serializing messages. - let codec = FlutterStandardMessageCodec.sharedInstance() + var codec: FlutterStandardMessageCodec { InteractiveMediaAdsLibraryPigeonCodec.shared } /// Handles sending and receiving messages with Dart. unowned let binaryMessenger: FlutterBinaryMessenger @@ -309,15 +311,15 @@ private class InteractiveMediaAdsLibraryPigeonInstanceManagerApi { binaryMessenger: FlutterBinaryMessenger, instanceManager: InteractiveMediaAdsLibraryPigeonInstanceManager? ) { - let codec = FlutterStandardMessageCodec.sharedInstance() + let codec = InteractiveMediaAdsLibraryPigeonCodec.shared let removeStrongReferenceChannel = FlutterBasicMessageChannel( name: - "dev.flutter.pigeon.interactive_media_ads.PigeonInstanceManagerApi.removeStrongReference", + "dev.flutter.pigeon.interactive_media_ads.PigeonInternalInstanceManager.removeStrongReference", binaryMessenger: binaryMessenger, codec: codec) if let instanceManager = instanceManager { removeStrongReferenceChannel.setMessageHandler { message, reply in let args = message as! [Any?] - let identifierArg = args[0] is Int64 ? args[0] as! Int64 : Int64(args[0] as! Int32) + let identifierArg = args[0] as! Int64 do { let _: AnyObject? = try instanceManager.removeInstance(withIdentifier: identifierArg) reply(wrapResult(nil)) @@ -329,7 +331,7 @@ private class InteractiveMediaAdsLibraryPigeonInstanceManagerApi { removeStrongReferenceChannel.setMessageHandler(nil) } let clearChannel = FlutterBasicMessageChannel( - name: "dev.flutter.pigeon.interactive_media_ads.PigeonInstanceManagerApi.clear", + name: "dev.flutter.pigeon.interactive_media_ads.PigeonInternalInstanceManager.clear", binaryMessenger: binaryMessenger, codec: codec) if let instanceManager = instanceManager { clearChannel.setMessageHandler { _, reply in @@ -350,7 +352,7 @@ private class InteractiveMediaAdsLibraryPigeonInstanceManagerApi { identifier identifierArg: Int64, completion: @escaping (Result) -> Void ) { let channelName: String = - "dev.flutter.pigeon.interactive_media_ads.PigeonInstanceManagerApi.removeStrongReference" + "dev.flutter.pigeon.interactive_media_ads.PigeonInternalInstanceManager.removeStrongReference" let channel = FlutterBasicMessageChannel( name: channelName, binaryMessenger: binaryMessenger, codec: codec) channel.sendMessage([identifierArg] as [Any?]) { response in @@ -438,6 +440,11 @@ protocol InteractiveMediaAdsLibraryPigeonProxyApiDelegate { /// `NSObject` to the Dart `InstanceManager` and make calls to Dart. func pigeonApiNSObject(_ registrar: InteractiveMediaAdsLibraryPigeonProxyApiRegistrar) -> PigeonApiNSObject + /// An implementation of [PigeonApiIMAFriendlyObstruction] used to add a new Dart instance of + /// `IMAFriendlyObstruction` to the Dart `InstanceManager` and make calls to Dart. + func pigeonApiIMAFriendlyObstruction( + _ registrar: InteractiveMediaAdsLibraryPigeonProxyApiRegistrar + ) -> PigeonApiIMAFriendlyObstruction } extension InteractiveMediaAdsLibraryPigeonProxyApiDelegate { @@ -469,14 +476,14 @@ open class InteractiveMediaAdsLibraryPigeonProxyApiRegistrar { var codec: FlutterStandardMessageCodec { if _codec == nil { _codec = FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: self)) } return _codec! } private class InstanceManagerApiFinalizerDelegate: - InteractiveMediaAdsLibraryPigeonFinalizerDelegate + InteractiveMediaAdsLibraryPigeonInternalFinalizerDelegate { let api: InteractiveMediaAdsLibraryPigeonInstanceManagerApi @@ -523,6 +530,8 @@ open class InteractiveMediaAdsLibraryPigeonProxyApiRegistrar { binaryMessenger: binaryMessenger, api: apiDelegate.pigeonApiIMAAdsManagerDelegate(self)) PigeonApiIMAAdsRenderingSettings.setUpMessageHandlers( binaryMessenger: binaryMessenger, api: apiDelegate.pigeonApiIMAAdsRenderingSettings(self)) + PigeonApiIMAFriendlyObstruction.setUpMessageHandlers( + binaryMessenger: binaryMessenger, api: apiDelegate.pigeonApiIMAFriendlyObstruction(self)) } func tearDown() { InteractiveMediaAdsLibraryPigeonInstanceManagerApi.setUpMessageHandlers( @@ -537,13 +546,15 @@ open class InteractiveMediaAdsLibraryPigeonProxyApiRegistrar { PigeonApiIMAAdsManagerDelegate.setUpMessageHandlers(binaryMessenger: binaryMessenger, api: nil) PigeonApiIMAAdsRenderingSettings.setUpMessageHandlers( binaryMessenger: binaryMessenger, api: nil) + PigeonApiIMAFriendlyObstruction.setUpMessageHandlers(binaryMessenger: binaryMessenger, api: nil) } } -private class InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter: FlutterStandardReaderWriter +private class InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter: + FlutterStandardReaderWriter { unowned let pigeonRegistrar: InteractiveMediaAdsLibraryPigeonProxyApiRegistrar - private class InteractiveMediaAdsLibraryPigeonProxyApiCodecReader: + private class InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReader: InteractiveMediaAdsLibraryPigeonCodecReader { unowned let pigeonRegistrar: InteractiveMediaAdsLibraryPigeonProxyApiRegistrar @@ -566,7 +577,7 @@ private class InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter: Flutter } } - private class InteractiveMediaAdsLibraryPigeonProxyApiCodecWriter: + private class InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecWriter: InteractiveMediaAdsLibraryPigeonCodecWriter { unowned let pigeonRegistrar: InteractiveMediaAdsLibraryPigeonProxyApiRegistrar @@ -581,7 +592,7 @@ private class InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter: Flutter || value is Double || value is FlutterStandardTypedData || value is Int64 || value is String || value is AdErrorType || value is AdErrorCode || value is AdEventType || value is KeyValueObservingOptions || value is KeyValueChange - || value is KeyValueChangeKey + || value is KeyValueChangeKey || value is FriendlyObstructionPurpose { super.writeValue(value) return @@ -768,6 +779,18 @@ private class InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter: Flutter return } + if let instance = value as? IMAFriendlyObstruction { + pigeonRegistrar.apiDelegate.pigeonApiIMAFriendlyObstruction(pigeonRegistrar) + .pigeonNewInstance( + pigeonInstance: instance + ) { _ in } + super.writeByte(128) + super.writeValue( + pigeonRegistrar.instanceManager.identifierWithStrongReference( + forInstance: instance as AnyObject)!) + return + } + if let instance = value as AnyObject?, pigeonRegistrar.instanceManager.containsInstance(instance) { @@ -776,7 +799,9 @@ private class InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter: Flutter pigeonRegistrar.instanceManager.identifierWithStrongReference(forInstance: instance)!) } else { print("Unsupported value: \(value) of \(type(of: value))") - assert(false, "Unsupported value for InteractiveMediaAdsLibraryPigeonProxyApiCodecWriter") + assert( + false, "Unsupported value for InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecWriter" + ) } } @@ -787,12 +812,12 @@ private class InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter: Flutter } override func reader(with data: Data) -> FlutterStandardReader { - return InteractiveMediaAdsLibraryPigeonProxyApiCodecReader( + return InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReader( data: data, pigeonRegistrar: pigeonRegistrar) } override func writer(with data: NSMutableData) -> FlutterStandardWriter { - return InteractiveMediaAdsLibraryPigeonProxyApiCodecWriter( + return InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecWriter( data: data, pigeonRegistrar: pigeonRegistrar) } } @@ -992,51 +1017,64 @@ enum KeyValueChangeKey: Int { /// The key is not recognized by this wrapper. case unknown = 5 } + +/// A list of purposes for which an obstruction would be registered as friendly. +/// +/// See https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Enums/IMAFriendlyObstructionPurpose.html. +enum FriendlyObstructionPurpose: Int { + case mediaControls = 0 + case closeAd = 1 + case notVisible = 2 + case other = 3 + /// The purpose type is not recognized by this wrapper. + case unknown = 4 +} + private class InteractiveMediaAdsLibraryPigeonCodecReader: FlutterStandardReader { override func readValue(ofType type: UInt8) -> Any? { switch type { case 129: - var enumResult: AdErrorType? = nil - let enumResultAsInt: Int? = nilOrValue(self.readValue() as? Int) + let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?) if let enumResultAsInt = enumResultAsInt { - enumResult = AdErrorType(rawValue: enumResultAsInt) + return AdErrorType(rawValue: enumResultAsInt) } - return enumResult + return nil case 130: - var enumResult: AdErrorCode? = nil - let enumResultAsInt: Int? = nilOrValue(self.readValue() as? Int) + let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?) if let enumResultAsInt = enumResultAsInt { - enumResult = AdErrorCode(rawValue: enumResultAsInt) + return AdErrorCode(rawValue: enumResultAsInt) } - return enumResult + return nil case 131: - var enumResult: AdEventType? = nil - let enumResultAsInt: Int? = nilOrValue(self.readValue() as? Int) + let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?) if let enumResultAsInt = enumResultAsInt { - enumResult = AdEventType(rawValue: enumResultAsInt) + return AdEventType(rawValue: enumResultAsInt) } - return enumResult + return nil case 132: - var enumResult: KeyValueObservingOptions? = nil - let enumResultAsInt: Int? = nilOrValue(self.readValue() as? Int) + let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?) if let enumResultAsInt = enumResultAsInt { - enumResult = KeyValueObservingOptions(rawValue: enumResultAsInt) + return KeyValueObservingOptions(rawValue: enumResultAsInt) } - return enumResult + return nil case 133: - var enumResult: KeyValueChange? = nil - let enumResultAsInt: Int? = nilOrValue(self.readValue() as? Int) + let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?) if let enumResultAsInt = enumResultAsInt { - enumResult = KeyValueChange(rawValue: enumResultAsInt) + return KeyValueChange(rawValue: enumResultAsInt) } - return enumResult + return nil case 134: - var enumResult: KeyValueChangeKey? = nil - let enumResultAsInt: Int? = nilOrValue(self.readValue() as? Int) + let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?) if let enumResultAsInt = enumResultAsInt { - enumResult = KeyValueChangeKey(rawValue: enumResultAsInt) + return KeyValueChangeKey(rawValue: enumResultAsInt) } - return enumResult + return nil + case 135: + let enumResultAsInt: Int? = nilOrValue(self.readValue() as! Int?) + if let enumResultAsInt = enumResultAsInt { + return FriendlyObstructionPurpose(rawValue: enumResultAsInt) + } + return nil default: return super.readValue(ofType: type) } @@ -1063,6 +1101,9 @@ private class InteractiveMediaAdsLibraryPigeonCodecWriter: FlutterStandardWriter } else if let value = value as? KeyValueChangeKey { super.writeByte(134) super.writeValue(value.rawValue) + } else if let value = value as? FriendlyObstructionPurpose { + super.writeByte(135) + super.writeValue(value.rawValue) } else { super.writeValue(value) } @@ -1115,7 +1156,7 @@ final class PigeonApiIMAAdDisplayContainer: PigeonApiProtocolIMAAdDisplayContain let codec: FlutterStandardMessageCodec = api != nil ? FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: api!.pigeonRegistrar)) : FlutterStandardMessageCodec.sharedInstance() let pigeonDefaultConstructorChannel = FlutterBasicMessageChannel( @@ -1125,7 +1166,7 @@ final class PigeonApiIMAAdDisplayContainer: PigeonApiProtocolIMAAdDisplayContain if let api = api { pigeonDefaultConstructorChannel.setMessageHandler { message, reply in let args = message as! [Any?] - let pigeonIdentifierArg = args[0] is Int64 ? args[0] as! Int64 : Int64(args[0] as! Int32) + let pigeonIdentifierArg = args[0] as! Int64 let adContainerArg = args[1] as! UIView let adContainerViewControllerArg: UIViewController? = nilOrValue(args[2]) do { @@ -1283,7 +1324,7 @@ final class PigeonApiUIViewController: PigeonApiProtocolUIViewController { let codec: FlutterStandardMessageCodec = api != nil ? FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: api!.pigeonRegistrar)) : FlutterStandardMessageCodec.sharedInstance() let pigeonDefaultConstructorChannel = FlutterBasicMessageChannel( @@ -1292,7 +1333,7 @@ final class PigeonApiUIViewController: PigeonApiProtocolUIViewController { if let api = api { pigeonDefaultConstructorChannel.setMessageHandler { message, reply in let args = message as! [Any?] - let pigeonIdentifierArg = args[0] is Int64 ? args[0] as! Int64 : Int64(args[0] as! Int32) + let pigeonIdentifierArg = args[0] as! Int64 do { api.pigeonRegistrar.instanceManager.addDartCreatedInstance( try api.pigeonDelegate.pigeonDefaultConstructor(pigeonApi: api), @@ -1312,7 +1353,7 @@ final class PigeonApiUIViewController: PigeonApiProtocolUIViewController { viewChannel.setMessageHandler { message, reply in let args = message as! [Any?] let pigeonInstanceArg = args[0] as! UIViewController - let pigeonIdentifierArg = args[1] is Int64 ? args[1] as! Int64 : Int64(args[1] as! Int32) + let pigeonIdentifierArg = args[1] as! Int64 do { api.pigeonRegistrar.instanceManager.addDartCreatedInstance( try api.pigeonDelegate.view(pigeonApi: api, pigeonInstance: pigeonInstanceArg), @@ -1434,7 +1475,7 @@ final class PigeonApiIMAContentPlayhead: PigeonApiProtocolIMAContentPlayhead { let codec: FlutterStandardMessageCodec = api != nil ? FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: api!.pigeonRegistrar)) : FlutterStandardMessageCodec.sharedInstance() let pigeonDefaultConstructorChannel = FlutterBasicMessageChannel( @@ -1443,7 +1484,7 @@ final class PigeonApiIMAContentPlayhead: PigeonApiProtocolIMAContentPlayhead { if let api = api { pigeonDefaultConstructorChannel.setMessageHandler { message, reply in let args = message as! [Any?] - let pigeonIdentifierArg = args[0] is Int64 ? args[0] as! Int64 : Int64(args[0] as! Int32) + let pigeonIdentifierArg = args[0] as! Int64 do { api.pigeonRegistrar.instanceManager.addDartCreatedInstance( try api.pigeonDelegate.pigeonDefaultConstructor(pigeonApi: api), @@ -1557,7 +1598,7 @@ final class PigeonApiIMAAdsLoader: PigeonApiProtocolIMAAdsLoader { let codec: FlutterStandardMessageCodec = api != nil ? FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: api!.pigeonRegistrar)) : FlutterStandardMessageCodec.sharedInstance() let pigeonDefaultConstructorChannel = FlutterBasicMessageChannel( @@ -1566,7 +1607,7 @@ final class PigeonApiIMAAdsLoader: PigeonApiProtocolIMAAdsLoader { if let api = api { pigeonDefaultConstructorChannel.setMessageHandler { message, reply in let args = message as! [Any?] - let pigeonIdentifierArg = args[0] is Int64 ? args[0] as! Int64 : Int64(args[0] as! Int32) + let pigeonIdentifierArg = args[0] as! Int64 let settingsArg: IMASettings? = nilOrValue(args[1]) do { api.pigeonRegistrar.instanceManager.addDartCreatedInstance( @@ -1771,7 +1812,7 @@ final class PigeonApiIMAAdsRequest: PigeonApiProtocolIMAAdsRequest { let codec: FlutterStandardMessageCodec = api != nil ? FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: api!.pigeonRegistrar)) : FlutterStandardMessageCodec.sharedInstance() let pigeonDefaultConstructorChannel = FlutterBasicMessageChannel( @@ -1780,7 +1821,7 @@ final class PigeonApiIMAAdsRequest: PigeonApiProtocolIMAAdsRequest { if let api = api { pigeonDefaultConstructorChannel.setMessageHandler { message, reply in let args = message as! [Any?] - let pigeonIdentifierArg = args[0] is Int64 ? args[0] as! Int64 : Int64(args[0] as! Int32) + let pigeonIdentifierArg = args[0] as! Int64 let adTagUrlArg = args[1] as! String let adDisplayContainerArg = args[2] as! IMAAdDisplayContainer let contentPlayheadArg: IMAContentPlayhead? = nilOrValue(args[3]) @@ -1879,7 +1920,7 @@ final class PigeonApiIMAAdsLoaderDelegate: PigeonApiProtocolIMAAdsLoaderDelegate let codec: FlutterStandardMessageCodec = api != nil ? FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: api!.pigeonRegistrar)) : FlutterStandardMessageCodec.sharedInstance() let pigeonDefaultConstructorChannel = FlutterBasicMessageChannel( @@ -1889,7 +1930,7 @@ final class PigeonApiIMAAdsLoaderDelegate: PigeonApiProtocolIMAAdsLoaderDelegate if let api = api { pigeonDefaultConstructorChannel.setMessageHandler { message, reply in let args = message as! [Any?] - let pigeonIdentifierArg = args[0] is Int64 ? args[0] as! Int64 : Int64(args[0] as! Int32) + let pigeonIdentifierArg = args[0] as! Int64 do { api.pigeonRegistrar.instanceManager.addDartCreatedInstance( try api.pigeonDelegate.pigeonDefaultConstructor(pigeonApi: api), @@ -2248,7 +2289,7 @@ final class PigeonApiIMAAdsManager: PigeonApiProtocolIMAAdsManager { let codec: FlutterStandardMessageCodec = api != nil ? FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: api!.pigeonRegistrar)) : FlutterStandardMessageCodec.sharedInstance() let setDelegateChannel = FlutterBasicMessageChannel( @@ -2483,7 +2524,7 @@ final class PigeonApiIMAAdsManagerDelegate: PigeonApiProtocolIMAAdsManagerDelega let codec: FlutterStandardMessageCodec = api != nil ? FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: api!.pigeonRegistrar)) : FlutterStandardMessageCodec.sharedInstance() let pigeonDefaultConstructorChannel = FlutterBasicMessageChannel( @@ -2493,7 +2534,7 @@ final class PigeonApiIMAAdsManagerDelegate: PigeonApiProtocolIMAAdsManagerDelega if let api = api { pigeonDefaultConstructorChannel.setMessageHandler { message, reply in let args = message as! [Any?] - let pigeonIdentifierArg = args[0] is Int64 ? args[0] as! Int64 : Int64(args[0] as! Int32) + let pigeonIdentifierArg = args[0] as! Int64 do { api.pigeonRegistrar.instanceManager.addDartCreatedInstance( try api.pigeonDelegate.pigeonDefaultConstructor(pigeonApi: api), @@ -2774,7 +2815,7 @@ final class PigeonApiIMAAdsRenderingSettings: PigeonApiProtocolIMAAdsRenderingSe let codec: FlutterStandardMessageCodec = api != nil ? FlutterStandardMessageCodec( - readerWriter: InteractiveMediaAdsLibraryPigeonProxyApiCodecReaderWriter( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( pigeonRegistrar: api!.pigeonRegistrar)) : FlutterStandardMessageCodec.sharedInstance() let pigeonDefaultConstructorChannel = FlutterBasicMessageChannel( @@ -2784,7 +2825,7 @@ final class PigeonApiIMAAdsRenderingSettings: PigeonApiProtocolIMAAdsRenderingSe if let api = api { pigeonDefaultConstructorChannel.setMessageHandler { message, reply in let args = message as! [Any?] - let pigeonIdentifierArg = args[0] is Int64 ? args[0] as! Int64 : Int64(args[0] as! Int32) + let pigeonIdentifierArg = args[0] as! Int64 do { api.pigeonRegistrar.instanceManager.addDartCreatedInstance( try api.pigeonDelegate.pigeonDefaultConstructor(pigeonApi: api), @@ -2895,3 +2936,119 @@ final class PigeonApiNSObject: PigeonApiProtocolNSObject { } } } +protocol PigeonApiDelegateIMAFriendlyObstruction { + /// Initializes a friendly obstruction. + func pigeonDefaultConstructor( + pigeonApi: PigeonApiIMAFriendlyObstruction, view: UIView, purpose: FriendlyObstructionPurpose, + detailedReason: String? + ) throws -> IMAFriendlyObstruction + /// The view causing the obstruction. + func view(pigeonApi: PigeonApiIMAFriendlyObstruction, pigeonInstance: IMAFriendlyObstruction) + throws -> UIView + /// The purpose for registering the obstruction as friendly. + func purpose(pigeonApi: PigeonApiIMAFriendlyObstruction, pigeonInstance: IMAFriendlyObstruction) + throws -> FriendlyObstructionPurpose + /// Optional, detailed reasoning for registering this obstruction as friendly. + /// + /// If the detailedReason is not null, it must follow the IAB standard by + /// being 50 characters or less and only containing characters A-z, 0-9, or + /// spaces. + func detailedReason( + pigeonApi: PigeonApiIMAFriendlyObstruction, pigeonInstance: IMAFriendlyObstruction + ) throws -> String? +} + +protocol PigeonApiProtocolIMAFriendlyObstruction { +} + +final class PigeonApiIMAFriendlyObstruction: PigeonApiProtocolIMAFriendlyObstruction { + unowned let pigeonRegistrar: InteractiveMediaAdsLibraryPigeonProxyApiRegistrar + let pigeonDelegate: PigeonApiDelegateIMAFriendlyObstruction + init( + pigeonRegistrar: InteractiveMediaAdsLibraryPigeonProxyApiRegistrar, + delegate: PigeonApiDelegateIMAFriendlyObstruction + ) { + self.pigeonRegistrar = pigeonRegistrar + self.pigeonDelegate = delegate + } + static func setUpMessageHandlers( + binaryMessenger: FlutterBinaryMessenger, api: PigeonApiIMAFriendlyObstruction? + ) { + let codec: FlutterStandardMessageCodec = + api != nil + ? FlutterStandardMessageCodec( + readerWriter: InteractiveMediaAdsLibraryPigeonInternalProxyApiCodecReaderWriter( + pigeonRegistrar: api!.pigeonRegistrar)) + : FlutterStandardMessageCodec.sharedInstance() + let pigeonDefaultConstructorChannel = FlutterBasicMessageChannel( + name: + "dev.flutter.pigeon.interactive_media_ads.IMAFriendlyObstruction.pigeon_defaultConstructor", + binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + pigeonDefaultConstructorChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let pigeonIdentifierArg = args[0] as! Int64 + let viewArg = args[1] as! UIView + let purposeArg = args[2] as! FriendlyObstructionPurpose + let detailedReasonArg: String? = nilOrValue(args[3]) + do { + api.pigeonRegistrar.instanceManager.addDartCreatedInstance( + try api.pigeonDelegate.pigeonDefaultConstructor( + pigeonApi: api, view: viewArg, purpose: purposeArg, detailedReason: detailedReasonArg), + withIdentifier: pigeonIdentifierArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + pigeonDefaultConstructorChannel.setMessageHandler(nil) + } + } + + ///Creates a Dart instance of IMAFriendlyObstruction and attaches it to [pigeonInstance]. + func pigeonNewInstance( + pigeonInstance: IMAFriendlyObstruction, + completion: @escaping (Result) -> Void + ) { + if pigeonRegistrar.ignoreCallsToDart { + completion( + .failure( + PigeonError( + code: "ignore-calls-error", + message: "Calls to Dart are being ignored.", details: ""))) + return + } + if pigeonRegistrar.instanceManager.containsInstance(pigeonInstance as AnyObject) { + completion(.success(Void())) + return + } + let pigeonIdentifierArg = pigeonRegistrar.instanceManager.addHostCreatedInstance( + pigeonInstance as AnyObject) + let viewArg = try! pigeonDelegate.view(pigeonApi: self, pigeonInstance: pigeonInstance) + let purposeArg = try! pigeonDelegate.purpose(pigeonApi: self, pigeonInstance: pigeonInstance) + let detailedReasonArg = try! pigeonDelegate.detailedReason( + pigeonApi: self, pigeonInstance: pigeonInstance) + let binaryMessenger = pigeonRegistrar.binaryMessenger + let codec = pigeonRegistrar.codec + let channelName: String = + "dev.flutter.pigeon.interactive_media_ads.IMAFriendlyObstruction.pigeon_newInstance" + let channel = FlutterBasicMessageChannel( + name: channelName, binaryMessenger: binaryMessenger, codec: codec) + channel.sendMessage([pigeonIdentifierArg, viewArg, purposeArg, detailedReasonArg] as [Any?]) { + response in + guard let listResponse = response as? [Any?] else { + completion(.failure(createConnectionError(withChannelName: channelName))) + return + } + if listResponse.count > 1 { + let code: String = listResponse[0] as! String + let message: String? = nilOrValue(listResponse[1]) + let details: String? = nilOrValue(listResponse[2]) + completion(.failure(PigeonError(code: code, message: message, details: details))) + } else { + completion(.success(Void())) + } + } + } +} diff --git a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/ProxyApiDelegate.swift b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/ProxyApiDelegate.swift index fc3a28cc7f7..b20ae2fa9cf 100644 --- a/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/ProxyApiDelegate.swift +++ b/packages/interactive_media_ads/ios/interactive_media_ads/Sources/interactive_media_ads/ProxyApiDelegate.swift @@ -8,6 +8,12 @@ import GoogleInteractiveMediaAds /// Implementation of `PigeonProxyApiDelegate` that provides each ProxyApi delegate implementation /// and any additional resources needed by an implementation. open class ProxyApiDelegate: InteractiveMediaAdsLibraryPigeonProxyApiDelegate { + func createUnknownEnumError(withEnum enumValue: Any) -> PigeonError { + return PigeonError( + code: "UnknownEnumError", message: "\(enumValue) doesn't represent a native value.", + details: nil) + } + func pigeonApiUIView(_ registrar: InteractiveMediaAdsLibraryPigeonProxyApiRegistrar) -> PigeonApiUIView { @@ -109,4 +115,13 @@ open class ProxyApiDelegate: InteractiveMediaAdsLibraryPigeonProxyApiDelegate { PigeonApiIMAAdsRenderingSettings( pigeonRegistrar: registrar, delegate: AdsRenderingSettingsProxyAPIDelegate()) } + + func pigeonApiIMAFriendlyObstruction( + _ registrar: InteractiveMediaAdsLibraryPigeonProxyApiRegistrar + ) + -> PigeonApiIMAFriendlyObstruction + { + PigeonApiIMAFriendlyObstruction( + pigeonRegistrar: registrar, delegate: FriendlyObstructionProxyAPIDelegate()) + } } diff --git a/packages/interactive_media_ads/lib/src/ios/interactive_media_ads.g.dart b/packages/interactive_media_ads/lib/src/ios/interactive_media_ads.g.dart index 32368a1ddf4..5abeb01a7a8 100644 --- a/packages/interactive_media_ads/lib/src/ios/interactive_media_ads.g.dart +++ b/packages/interactive_media_ads/lib/src/ios/interactive_media_ads.g.dart @@ -1,7 +1,7 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Autogenerated from Pigeon (v21.2.0), do not edit directly. +// Autogenerated from Pigeon (v22.5.0), do not edit directly. // See also: https://pub.dev/packages/pigeon // ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers @@ -37,9 +37,9 @@ List wrapResponse( /// All implementers are expected to be [immutable] as defined by the annotation /// and override [pigeon_copy] returning an instance of itself. @immutable -abstract class PigeonProxyApiBaseClass { - /// Construct a [PigeonProxyApiBaseClass]. - PigeonProxyApiBaseClass({ +abstract class PigeonInternalProxyApiBaseClass { + /// Construct a [PigeonInternalProxyApiBaseClass]. + PigeonInternalProxyApiBaseClass({ this.pigeon_binaryMessenger, PigeonInstanceManager? pigeon_instanceManager, }) : pigeon_instanceManager = @@ -64,7 +64,7 @@ abstract class PigeonProxyApiBaseClass { /// Subclasses should always override their parent's implementation of this /// method. @protected - PigeonProxyApiBaseClass pigeon_copy(); + PigeonInternalProxyApiBaseClass pigeon_copy(); } /// Maintains instances used to communicate with the native objects they @@ -114,10 +114,10 @@ class PigeonInstanceManager { // by calling instanceManager.getIdentifier() inside of `==` while this was a // HashMap). final Expando _identifiers = Expando(); - final Map> _weakInstances = - >{}; - final Map _strongInstances = - {}; + final Map> + _weakInstances = >{}; + final Map _strongInstances = + {}; late final Finalizer _finalizer; int _nextIdentifier = 0; @@ -127,7 +127,8 @@ class PigeonInstanceManager { static PigeonInstanceManager _initInstance() { WidgetsFlutterBinding.ensureInitialized(); - final _PigeonInstanceManagerApi api = _PigeonInstanceManagerApi(); + final _PigeonInternalInstanceManagerApi api = + _PigeonInternalInstanceManagerApi(); // Clears the native `PigeonInstanceManager` on the initial use of the Dart one. api.clear(); final PigeonInstanceManager instanceManager = PigeonInstanceManager( @@ -135,7 +136,7 @@ class PigeonInstanceManager { api.removeStrongReference(identifier); }, ); - _PigeonInstanceManagerApi.setUpMessageHandlers( + _PigeonInternalInstanceManagerApi.setUpMessageHandlers( instanceManager: instanceManager); IMAAdDisplayContainer.pigeon_setUpMessageHandlers( pigeon_instanceManager: instanceManager); @@ -168,6 +169,8 @@ class PigeonInstanceManager { pigeon_instanceManager: instanceManager); NSObject.pigeon_setUpMessageHandlers( pigeon_instanceManager: instanceManager); + IMAFriendlyObstruction.pigeon_setUpMessageHandlers( + pigeon_instanceManager: instanceManager); return instanceManager; } @@ -179,7 +182,7 @@ class PigeonInstanceManager { /// Throws assertion error if the instance has already been added. /// /// Returns the randomly generated id of the [instance] added. - int addDartCreatedInstance(PigeonProxyApiBaseClass instance) { + int addDartCreatedInstance(PigeonInternalProxyApiBaseClass instance) { final int identifier = _nextUniqueIdentifier(); _addInstanceWithIdentifier(instance, identifier); return identifier; @@ -193,7 +196,7 @@ class PigeonInstanceManager { /// /// This does not remove the strong referenced instance associated with /// [instance]. This can be done with [remove]. - int? removeWeakReference(PigeonProxyApiBaseClass instance) { + int? removeWeakReference(PigeonInternalProxyApiBaseClass instance) { final int? identifier = getIdentifier(instance); if (identifier == null) { return null; @@ -215,7 +218,7 @@ class PigeonInstanceManager { /// /// This does not remove the weak referenced instance associated with /// [identifier]. This can be done with [removeWeakReference]. - T? remove(int identifier) { + T? remove(int identifier) { return _strongInstances.remove(identifier) as T?; } @@ -231,19 +234,20 @@ class PigeonInstanceManager { /// /// This method also expects the host `InstanceManager` to have a strong /// reference to the instance the identifier is associated with. - T? getInstanceWithWeakReference( + T? getInstanceWithWeakReference( int identifier) { - final PigeonProxyApiBaseClass? weakInstance = + final PigeonInternalProxyApiBaseClass? weakInstance = _weakInstances[identifier]?.target; if (weakInstance == null) { - final PigeonProxyApiBaseClass? strongInstance = + final PigeonInternalProxyApiBaseClass? strongInstance = _strongInstances[identifier]; if (strongInstance != null) { - final PigeonProxyApiBaseClass copy = strongInstance.pigeon_copy(); + final PigeonInternalProxyApiBaseClass copy = + strongInstance.pigeon_copy(); _identifiers[copy] = identifier; _weakInstances[identifier] = - WeakReference(copy); + WeakReference(copy); _finalizer.attach(copy, identifier, detach: copy); return copy as T; } @@ -254,7 +258,7 @@ class PigeonInstanceManager { } /// Retrieves the identifier associated with instance. - int? getIdentifier(PigeonProxyApiBaseClass instance) { + int? getIdentifier(PigeonInternalProxyApiBaseClass instance) { return _identifiers[instance]; } @@ -268,22 +272,22 @@ class PigeonInstanceManager { /// /// Returns unique identifier of the [instance] added. void addHostCreatedInstance( - PigeonProxyApiBaseClass instance, int identifier) { + PigeonInternalProxyApiBaseClass instance, int identifier) { _addInstanceWithIdentifier(instance, identifier); } void _addInstanceWithIdentifier( - PigeonProxyApiBaseClass instance, int identifier) { + PigeonInternalProxyApiBaseClass instance, int identifier) { assert(!containsIdentifier(identifier)); assert(getIdentifier(instance) == null); assert(identifier >= 0); _identifiers[instance] = identifier; _weakInstances[identifier] = - WeakReference(instance); + WeakReference(instance); _finalizer.attach(instance, identifier, detach: instance); - final PigeonProxyApiBaseClass copy = instance.pigeon_copy(); + final PigeonInternalProxyApiBaseClass copy = instance.pigeon_copy(); _identifiers[copy] = identifier; _strongInstances[identifier] = copy; } @@ -305,15 +309,14 @@ class PigeonInstanceManager { } /// Generated API for managing the Dart and native `PigeonInstanceManager`s. -class _PigeonInstanceManagerApi { - /// Constructor for [_PigeonInstanceManagerApi]. - _PigeonInstanceManagerApi({BinaryMessenger? binaryMessenger}) - : __pigeon_binaryMessenger = binaryMessenger; +class _PigeonInternalInstanceManagerApi { + /// Constructor for [_PigeonInternalInstanceManagerApi]. + _PigeonInternalInstanceManagerApi({BinaryMessenger? binaryMessenger}) + : pigeonVar_binaryMessenger = binaryMessenger; - final BinaryMessenger? __pigeon_binaryMessenger; + final BinaryMessenger? pigeonVar_binaryMessenger; - static const MessageCodec pigeonChannelCodec = - StandardMessageCodec(); + static const MessageCodec pigeonChannelCodec = _PigeonCodec(); static void setUpMessageHandlers({ bool pigeon_clearHandlers = false, @@ -321,21 +324,22 @@ class _PigeonInstanceManagerApi { PigeonInstanceManager? instanceManager, }) { { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( - 'dev.flutter.pigeon.interactive_media_ads.PigeonInstanceManagerApi.removeStrongReference', + 'dev.flutter.pigeon.interactive_media_ads.PigeonInternalInstanceManager.removeStrongReference', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, - 'Argument for dev.flutter.pigeon.interactive_media_ads.PigeonInstanceManagerApi.removeStrongReference was null.'); + 'Argument for dev.flutter.pigeon.interactive_media_ads.PigeonInternalInstanceManager.removeStrongReference was null.'); final List args = (message as List?)!; final int? arg_identifier = (args[0] as int?); assert(arg_identifier != null, - 'Argument for dev.flutter.pigeon.interactive_media_ads.PigeonInstanceManagerApi.removeStrongReference was null, expected non-null int.'); + 'Argument for dev.flutter.pigeon.interactive_media_ads.PigeonInternalInstanceManager.removeStrongReference was null, expected non-null int.'); try { (instanceManager ?? PigeonInstanceManager.instance) .remove(arg_identifier!); @@ -352,23 +356,23 @@ class _PigeonInstanceManagerApi { } Future removeStrongReference(int identifier) async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.interactive_media_ads.PigeonInstanceManagerApi.removeStrongReference'; - final BasicMessageChannel __pigeon_channel = + const String pigeonVar_channelName = + 'dev.flutter.pigeon.interactive_media_ads.PigeonInternalInstanceManager.removeStrongReference'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([identifier]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([identifier]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -379,23 +383,23 @@ class _PigeonInstanceManagerApi { /// /// This is typically called after a hot restart. Future clear() async { - const String __pigeon_channelName = - 'dev.flutter.pigeon.interactive_media_ads.PigeonInstanceManagerApi.clear'; - final BasicMessageChannel __pigeon_channel = + const String pigeonVar_channelName = + 'dev.flutter.pigeon.interactive_media_ads.PigeonInternalInstanceManager.clear'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send(null) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send(null) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -403,12 +407,12 @@ class _PigeonInstanceManagerApi { } } -class _PigeonProxyApiBaseCodec extends _PigeonCodec { - const _PigeonProxyApiBaseCodec(this.instanceManager); +class _PigeonInternalProxyApiBaseCodec extends _PigeonCodec { + const _PigeonInternalProxyApiBaseCodec(this.instanceManager); final PigeonInstanceManager instanceManager; @override void writeValue(WriteBuffer buffer, Object? value) { - if (value is PigeonProxyApiBaseClass) { + if (value is PigeonInternalProxyApiBaseClass) { buffer.putUint8(128); writeValue(buffer, instanceManager.getIdentifier(value)); } else { @@ -684,11 +688,27 @@ enum KeyValueChangeKey { unknown, } +/// A list of purposes for which an obstruction would be registered as friendly. +/// +/// See https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Enums/IMAFriendlyObstructionPurpose.html. +enum FriendlyObstructionPurpose { + mediaControls, + closeAd, + notVisible, + other, + + /// The purpose type is not recognized by this wrapper. + unknown, +} + class _PigeonCodec extends StandardMessageCodec { const _PigeonCodec(); @override void writeValue(WriteBuffer buffer, Object? value) { - if (value is AdErrorType) { + if (value is int) { + buffer.putUint8(4); + buffer.putInt64(value); + } else if (value is AdErrorType) { buffer.putUint8(129); writeValue(buffer, value.index); } else if (value is AdErrorCode) { @@ -706,6 +726,9 @@ class _PigeonCodec extends StandardMessageCodec { } else if (value is KeyValueChangeKey) { buffer.putUint8(134); writeValue(buffer, value.index); + } else if (value is FriendlyObstructionPurpose) { + buffer.putUint8(135); + writeValue(buffer, value.index); } else { super.writeValue(buffer, value); } @@ -732,6 +755,9 @@ class _PigeonCodec extends StandardMessageCodec { case 134: final int? value = readValue(buffer) as int?; return value == null ? null : KeyValueChangeKey.values[value]; + case 135: + final int? value = readValue(buffer) as int?; + return value == null ? null : FriendlyObstructionPurpose.values[value]; default: return super.readValueOfType(type, buffer); } @@ -749,33 +775,33 @@ class IMAAdDisplayContainer extends NSObject { required UIView adContainer, UIViewController? adContainerViewController, }) : super.pigeon_detached() { - final int __pigeon_instanceIdentifier = + final int pigeonVar_instanceIdentifier = pigeon_instanceManager.addDartCreatedInstance(this); - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdDisplayContainer; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdDisplayContainer; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; () async { - const String __pigeon_channelName = + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdDisplayContainer.pigeon_defaultConstructor'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel + final List? pigeonVar_replyList = await pigeonVar_channel .send([ - __pigeon_instanceIdentifier, + pigeonVar_instanceIdentifier, adContainer, adContainerViewController ]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -793,8 +819,9 @@ class IMAAdDisplayContainer extends NSObject { super.pigeon_instanceManager, }) : super.pigeon_detached(); - late final _PigeonProxyApiBaseCodec __pigeon_codecIMAAdDisplayContainer = - _PigeonProxyApiBaseCodec(pigeon_instanceManager); + late final _PigeonInternalProxyApiBaseCodec + _pigeonVar_codecIMAAdDisplayContainer = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); static void pigeon_setUpMessageHandlers({ bool pigeon_clearHandlers = false, @@ -802,20 +829,21 @@ class IMAAdDisplayContainer extends NSObject { PigeonInstanceManager? pigeon_instanceManager, IMAAdDisplayContainer Function()? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdDisplayContainer.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdDisplayContainer.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -873,20 +901,21 @@ class UIView extends NSObject { PigeonInstanceManager? pigeon_instanceManager, UIView Function()? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.UIView.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.UIView.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -933,29 +962,29 @@ class UIViewController extends NSObject { super.pigeon_instanceManager, this.viewDidAppear, }) : super.pigeon_detached() { - final int __pigeon_instanceIdentifier = + final int pigeonVar_instanceIdentifier = pigeon_instanceManager.addDartCreatedInstance(this); - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecUIViewController; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecUIViewController; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; () async { - const String __pigeon_channelName = + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.UIViewController.pigeon_defaultConstructor'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel - .send([__pigeon_instanceIdentifier]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = await pigeonVar_channel + .send([pigeonVar_instanceIdentifier]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -974,8 +1003,8 @@ class UIViewController extends NSObject { this.viewDidAppear, }) : super.pigeon_detached(); - late final _PigeonProxyApiBaseCodec __pigeon_codecUIViewController = - _PigeonProxyApiBaseCodec(pigeon_instanceManager); + late final _PigeonInternalProxyApiBaseCodec _pigeonVar_codecUIViewController = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); /// Notifies the view controller that its view was added to a view hierarchy. /// @@ -1007,7 +1036,7 @@ class UIViewController extends NSObject { /// settable. Since this is not a part of the IMA SDK this is slightly changed /// for convenience. Note that this wrapper should not add the ability to set /// this property as it should not be needed anyways. - late final UIView view = __pigeon_view(); + late final UIView view = pigeonVar_view(); static void pigeon_setUpMessageHandlers({ bool pigeon_clearHandlers = false, @@ -1019,20 +1048,21 @@ class UIViewController extends NSObject { bool animated, )? viewDidAppear, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.UIViewController.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.UIViewController.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -1061,15 +1091,16 @@ class UIViewController extends NSObject { } { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.UIViewController.viewDidAppear', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.UIViewController.viewDidAppear was null.'); final List args = (message as List?)!; @@ -1095,40 +1126,41 @@ class UIViewController extends NSObject { } } - UIView __pigeon_view() { - final UIView __pigeon_instance = UIView.pigeon_detached( + UIView pigeonVar_view() { + final UIView pigeonVar_instance = UIView.pigeon_detached( pigeon_binaryMessenger: pigeon_binaryMessenger, pigeon_instanceManager: pigeon_instanceManager, ); - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecUIViewController; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - final int __pigeon_instanceIdentifier = - pigeon_instanceManager.addDartCreatedInstance(__pigeon_instance); + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecUIViewController; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + final int pigeonVar_instanceIdentifier = + pigeon_instanceManager.addDartCreatedInstance(pigeonVar_instance); () async { - const String __pigeon_channelName = + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.UIViewController.view'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel - .send([this, __pigeon_instanceIdentifier]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = await pigeonVar_channel + .send([this, pigeonVar_instanceIdentifier]) + as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; } }(); - return __pigeon_instance; + return pigeonVar_instance; } @override @@ -1150,29 +1182,29 @@ class IMAContentPlayhead extends NSObject { super.pigeon_binaryMessenger, super.pigeon_instanceManager, }) : super.pigeon_detached() { - final int __pigeon_instanceIdentifier = + final int pigeonVar_instanceIdentifier = pigeon_instanceManager.addDartCreatedInstance(this); - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAContentPlayhead; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAContentPlayhead; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; () async { - const String __pigeon_channelName = + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAContentPlayhead.pigeon_defaultConstructor'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel - .send([__pigeon_instanceIdentifier]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = await pigeonVar_channel + .send([pigeonVar_instanceIdentifier]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -1190,8 +1222,9 @@ class IMAContentPlayhead extends NSObject { super.pigeon_instanceManager, }) : super.pigeon_detached(); - late final _PigeonProxyApiBaseCodec __pigeon_codecIMAContentPlayhead = - _PigeonProxyApiBaseCodec(pigeon_instanceManager); + late final _PigeonInternalProxyApiBaseCodec + _pigeonVar_codecIMAContentPlayhead = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); static void pigeon_setUpMessageHandlers({ bool pigeon_clearHandlers = false, @@ -1199,20 +1232,21 @@ class IMAContentPlayhead extends NSObject { PigeonInstanceManager? pigeon_instanceManager, IMAContentPlayhead Function()? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAContentPlayhead.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAContentPlayhead.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -1243,26 +1277,26 @@ class IMAContentPlayhead extends NSObject { /// Reflects the current playback time in seconds for the content. Future setCurrentTime(double timeInterval) async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAContentPlayhead; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAContentPlayhead; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAContentPlayhead.setCurrentTime'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel + final List? pigeonVar_replyList = await pigeonVar_channel .send([this, timeInterval]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -1287,30 +1321,30 @@ class IMAAdsLoader extends NSObject { super.pigeon_instanceManager, IMASettings? settings, }) : super.pigeon_detached() { - final int __pigeon_instanceIdentifier = + final int pigeonVar_instanceIdentifier = pigeon_instanceManager.addDartCreatedInstance(this); - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsLoader; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsLoader; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; () async { - const String __pigeon_channelName = + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsLoader.pigeon_defaultConstructor'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel - .send([__pigeon_instanceIdentifier, settings]) + final List? pigeonVar_replyList = await pigeonVar_channel + .send([pigeonVar_instanceIdentifier, settings]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -1328,8 +1362,8 @@ class IMAAdsLoader extends NSObject { super.pigeon_instanceManager, }) : super.pigeon_detached(); - late final _PigeonProxyApiBaseCodec __pigeon_codecIMAAdsLoader = - _PigeonProxyApiBaseCodec(pigeon_instanceManager); + late final _PigeonInternalProxyApiBaseCodec _pigeonVar_codecIMAAdsLoader = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); static void pigeon_setUpMessageHandlers({ bool pigeon_clearHandlers = false, @@ -1337,20 +1371,21 @@ class IMAAdsLoader extends NSObject { PigeonInstanceManager? pigeon_instanceManager, IMAAdsLoader Function()? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsLoader.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsLoader.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -1381,26 +1416,26 @@ class IMAAdsLoader extends NSObject { /// Signal to the SDK that the content has completed. Future contentComplete() async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsLoader; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsLoader; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsLoader.contentComplete'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([this]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([this]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -1409,26 +1444,26 @@ class IMAAdsLoader extends NSObject { /// Request ads from the ad server. Future requestAds(IMAAdsRequest request) async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsLoader; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsLoader; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsLoader.requestAds'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([this, request]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = await pigeonVar_channel + .send([this, request]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -1439,26 +1474,26 @@ class IMAAdsLoader extends NSObject { /// /// Note that this sets to a `weak` property in Swift. Future setDelegate(IMAAdsLoaderDelegate? delegate) async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsLoader; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsLoader; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsLoader.setDelegate'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel + final List? pigeonVar_replyList = await pigeonVar_channel .send([this, delegate]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -1494,20 +1529,21 @@ class IMASettings extends NSObject { PigeonInstanceManager? pigeon_instanceManager, IMASettings Function()? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMASettings.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMASettings.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -1558,34 +1594,34 @@ class IMAAdsRequest extends NSObject { required IMAAdDisplayContainer adDisplayContainer, IMAContentPlayhead? contentPlayhead, }) : super.pigeon_detached() { - final int __pigeon_instanceIdentifier = + final int pigeonVar_instanceIdentifier = pigeon_instanceManager.addDartCreatedInstance(this); - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsRequest; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsRequest; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; () async { - const String __pigeon_channelName = + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsRequest.pigeon_defaultConstructor'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel + final List? pigeonVar_replyList = await pigeonVar_channel .send([ - __pigeon_instanceIdentifier, + pigeonVar_instanceIdentifier, adTagUrl, adDisplayContainer, contentPlayhead ]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -1603,8 +1639,8 @@ class IMAAdsRequest extends NSObject { super.pigeon_instanceManager, }) : super.pigeon_detached(); - late final _PigeonProxyApiBaseCodec __pigeon_codecIMAAdsRequest = - _PigeonProxyApiBaseCodec(pigeon_instanceManager); + late final _PigeonInternalProxyApiBaseCodec _pigeonVar_codecIMAAdsRequest = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); static void pigeon_setUpMessageHandlers({ bool pigeon_clearHandlers = false, @@ -1612,20 +1648,21 @@ class IMAAdsRequest extends NSObject { PigeonInstanceManager? pigeon_instanceManager, IMAAdsRequest Function()? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsRequest.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsRequest.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -1673,29 +1710,29 @@ class IMAAdsLoaderDelegate extends NSObject { required this.adLoaderLoadedWith, required this.adsLoaderFailedWithErrorData, }) : super.pigeon_detached() { - final int __pigeon_instanceIdentifier = + final int pigeonVar_instanceIdentifier = pigeon_instanceManager.addDartCreatedInstance(this); - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsLoaderDelegate; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsLoaderDelegate; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; () async { - const String __pigeon_channelName = + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsLoaderDelegate.pigeon_defaultConstructor'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel - .send([__pigeon_instanceIdentifier]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = await pigeonVar_channel + .send([pigeonVar_instanceIdentifier]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -1715,8 +1752,9 @@ class IMAAdsLoaderDelegate extends NSObject { required this.adsLoaderFailedWithErrorData, }) : super.pigeon_detached(); - late final _PigeonProxyApiBaseCodec __pigeon_codecIMAAdsLoaderDelegate = - _PigeonProxyApiBaseCodec(pigeon_instanceManager); + late final _PigeonInternalProxyApiBaseCodec + _pigeonVar_codecIMAAdsLoaderDelegate = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); /// Called when ads are successfully loaded from the ad servers by the loader. /// @@ -1783,20 +1821,21 @@ class IMAAdsLoaderDelegate extends NSObject { IMAAdLoadingErrorData adErrorData, )? adsLoaderFailedWithErrorData, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsLoaderDelegate.adLoaderLoadedWith', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsLoaderDelegate.adLoaderLoadedWith was null.'); final List args = (message as List?)!; @@ -1826,15 +1865,16 @@ class IMAAdsLoaderDelegate extends NSObject { } { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsLoaderDelegate.adsLoaderFailedWithErrorData', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsLoaderDelegate.adsLoaderFailedWithErrorData was null.'); final List args = (message as List?)!; @@ -1902,20 +1942,21 @@ class IMAAdsLoadedData extends NSObject { PigeonInstanceManager? pigeon_instanceManager, IMAAdsLoadedData Function(IMAAdsManager? adsManager)? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsLoadedData.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsLoadedData.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -1980,20 +2021,21 @@ class IMAAdLoadingErrorData extends NSObject { PigeonInstanceManager? pigeon_instanceManager, IMAAdLoadingErrorData Function(IMAAdError adError)? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdLoadingErrorData.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdLoadingErrorData.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -2072,20 +2114,21 @@ class IMAAdError extends NSObject { String? message, )? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdError.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdError.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -2150,8 +2193,8 @@ class IMAAdsManager extends NSObject { super.pigeon_instanceManager, }) : super.pigeon_detached(); - late final _PigeonProxyApiBaseCodec __pigeon_codecIMAAdsManager = - _PigeonProxyApiBaseCodec(pigeon_instanceManager); + late final _PigeonInternalProxyApiBaseCodec _pigeonVar_codecIMAAdsManager = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); static void pigeon_setUpMessageHandlers({ bool pigeon_clearHandlers = false, @@ -2159,20 +2202,21 @@ class IMAAdsManager extends NSObject { PigeonInstanceManager? pigeon_instanceManager, IMAAdsManager Function()? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -2203,26 +2247,26 @@ class IMAAdsManager extends NSObject { /// The `IMAAdsManagerDelegate` to notify with events during ad playback. Future setDelegate(IMAAdsManagerDelegate? delegate) async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsManager; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsManager; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.setDelegate'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel + final List? pigeonVar_replyList = await pigeonVar_channel .send([this, delegate]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2231,26 +2275,26 @@ class IMAAdsManager extends NSObject { /// Initializes and loads the ad. Future initialize(IMAAdsRenderingSettings? adsRenderingSettings) async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsManager; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsManager; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.initialize'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel + final List? pigeonVar_replyList = await pigeonVar_channel .send([this, adsRenderingSettings]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2259,26 +2303,26 @@ class IMAAdsManager extends NSObject { /// Starts advertisement playback. Future start() async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsManager; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsManager; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.start'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([this]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([this]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2287,26 +2331,26 @@ class IMAAdsManager extends NSObject { /// Pauses advertisement. Future pause() async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsManager; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsManager; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.pause'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([this]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([this]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2315,26 +2359,26 @@ class IMAAdsManager extends NSObject { /// Resumes the current ad. Future resume() async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsManager; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsManager; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.resume'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([this]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([this]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2344,26 +2388,26 @@ class IMAAdsManager extends NSObject { /// Skips the advertisement if the ad is skippable and the skip offset has /// been reached. Future skip() async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsManager; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsManager; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.skip'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([this]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([this]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2372,26 +2416,26 @@ class IMAAdsManager extends NSObject { /// If an ad break is currently playing, discard it and resume content. Future discardAdBreak() async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsManager; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsManager; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.discardAdBreak'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([this]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([this]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2400,26 +2444,26 @@ class IMAAdsManager extends NSObject { /// Causes the ads manager to stop the ad and clean its internal state. Future destroy() async { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsManager; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; - const String __pigeon_channelName = + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsManager; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManager.destroy'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = - await __pigeon_channel.send([this]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = + await pigeonVar_channel.send([this]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2447,29 +2491,29 @@ class IMAAdsManagerDelegate extends NSObject { required this.didRequestContentPause, required this.didRequestContentResume, }) : super.pigeon_detached() { - final int __pigeon_instanceIdentifier = + final int pigeonVar_instanceIdentifier = pigeon_instanceManager.addDartCreatedInstance(this); - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsManagerDelegate; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsManagerDelegate; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; () async { - const String __pigeon_channelName = + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManagerDelegate.pigeon_defaultConstructor'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel - .send([__pigeon_instanceIdentifier]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = await pigeonVar_channel + .send([pigeonVar_instanceIdentifier]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2491,8 +2535,9 @@ class IMAAdsManagerDelegate extends NSObject { required this.didRequestContentResume, }) : super.pigeon_detached(); - late final _PigeonProxyApiBaseCodec __pigeon_codecIMAAdsManagerDelegate = - _PigeonProxyApiBaseCodec(pigeon_instanceManager); + late final _PigeonInternalProxyApiBaseCodec + _pigeonVar_codecIMAAdsManagerDelegate = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); /// Called when there is an IMAAdEvent. /// @@ -2615,20 +2660,21 @@ class IMAAdsManagerDelegate extends NSObject { IMAAdsManager adsManager, )? didRequestContentResume, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManagerDelegate.didReceiveAdEvent', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsManagerDelegate.didReceiveAdEvent was null.'); final List args = (message as List?)!; @@ -2657,15 +2703,16 @@ class IMAAdsManagerDelegate extends NSObject { } { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManagerDelegate.didReceiveAdError', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsManagerDelegate.didReceiveAdError was null.'); final List args = (message as List?)!; @@ -2694,15 +2741,16 @@ class IMAAdsManagerDelegate extends NSObject { } { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManagerDelegate.didRequestContentPause', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsManagerDelegate.didRequestContentPause was null.'); final List args = (message as List?)!; @@ -2729,15 +2777,16 @@ class IMAAdsManagerDelegate extends NSObject { } { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsManagerDelegate.didRequestContentResume', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsManagerDelegate.didRequestContentResume was null.'); final List args = (message as List?)!; @@ -2801,7 +2850,7 @@ class IMAAdEvent extends NSObject { final String typeString; /// Extra data about the ad. - final Map? adData; + final Map? adData; static void pigeon_setUpMessageHandlers({ bool pigeon_clearHandlers = false, @@ -2810,23 +2859,24 @@ class IMAAdEvent extends NSObject { IMAAdEvent Function( AdEventType type, String typeString, - Map? adData, + Map? adData, )? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdEvent.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdEvent.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -2839,8 +2889,8 @@ class IMAAdEvent extends NSObject { final String? arg_typeString = (args[2] as String?); assert(arg_typeString != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdEvent.pigeon_newInstance was null, expected non-null String.'); - final Map? arg_adData = - (args[3] as Map?)?.cast(); + final Map? arg_adData = + (args[3] as Map?)?.cast(); try { (pigeon_instanceManager ?? PigeonInstanceManager.instance) .addHostCreatedInstance( @@ -2887,29 +2937,29 @@ class IMAAdsRenderingSettings extends NSObject { super.pigeon_binaryMessenger, super.pigeon_instanceManager, }) : super.pigeon_detached() { - final int __pigeon_instanceIdentifier = + final int pigeonVar_instanceIdentifier = pigeon_instanceManager.addDartCreatedInstance(this); - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - __pigeon_codecIMAAdsRenderingSettings; - final BinaryMessenger? __pigeon_binaryMessenger = pigeon_binaryMessenger; + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAAdsRenderingSettings; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; () async { - const String __pigeon_channelName = + const String pigeonVar_channelName = 'dev.flutter.pigeon.interactive_media_ads.IMAAdsRenderingSettings.pigeon_defaultConstructor'; - final BasicMessageChannel __pigeon_channel = + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - __pigeon_channelName, + pigeonVar_channelName, pigeonChannelCodec, - binaryMessenger: __pigeon_binaryMessenger, + binaryMessenger: pigeonVar_binaryMessenger, ); - final List? __pigeon_replyList = await __pigeon_channel - .send([__pigeon_instanceIdentifier]) as List?; - if (__pigeon_replyList == null) { - throw _createConnectionError(__pigeon_channelName); - } else if (__pigeon_replyList.length > 1) { + final List? pigeonVar_replyList = await pigeonVar_channel + .send([pigeonVar_instanceIdentifier]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { throw PlatformException( - code: __pigeon_replyList[0]! as String, - message: __pigeon_replyList[1] as String?, - details: __pigeon_replyList[2], + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], ); } else { return; @@ -2927,8 +2977,9 @@ class IMAAdsRenderingSettings extends NSObject { super.pigeon_instanceManager, }) : super.pigeon_detached(); - late final _PigeonProxyApiBaseCodec __pigeon_codecIMAAdsRenderingSettings = - _PigeonProxyApiBaseCodec(pigeon_instanceManager); + late final _PigeonInternalProxyApiBaseCodec + _pigeonVar_codecIMAAdsRenderingSettings = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); static void pigeon_setUpMessageHandlers({ bool pigeon_clearHandlers = false, @@ -2936,20 +2987,21 @@ class IMAAdsRenderingSettings extends NSObject { PigeonInstanceManager? pigeon_instanceManager, IMAAdsRenderingSettings Function()? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.IMAAdsRenderingSettings.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAAdsRenderingSettings.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -2992,7 +3044,7 @@ class IMAAdsRenderingSettings extends NSObject { /// Objective-C objects. /// /// See https://developer.apple.com/documentation/objectivec/nsobject. -class NSObject extends PigeonProxyApiBaseClass { +class NSObject extends PigeonInternalProxyApiBaseClass { /// Constructs [NSObject] without creating the associated native object. /// /// This should only be used by subclasses created by this library or to @@ -3009,20 +3061,21 @@ class NSObject extends PigeonProxyApiBaseClass { PigeonInstanceManager? pigeon_instanceManager, NSObject Function()? pigeon_newInstance, }) { - final _PigeonProxyApiBaseCodec pigeonChannelCodec = - _PigeonProxyApiBaseCodec( + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( pigeon_instanceManager ?? PigeonInstanceManager.instance); final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; { - final BasicMessageChannel __pigeon_channel = BasicMessageChannel< + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< Object?>( 'dev.flutter.pigeon.interactive_media_ads.NSObject.pigeon_newInstance', pigeonChannelCodec, binaryMessenger: binaryMessenger); if (pigeon_clearHandlers) { - __pigeon_channel.setMessageHandler(null); + pigeonVar_channel.setMessageHandler(null); } else { - __pigeon_channel.setMessageHandler((Object? message) async { + pigeonVar_channel.setMessageHandler((Object? message) async { assert(message != null, 'Argument for dev.flutter.pigeon.interactive_media_ads.NSObject.pigeon_newInstance was null.'); final List args = (message as List?)!; @@ -3059,3 +3112,158 @@ class NSObject extends PigeonProxyApiBaseClass { ); } } + +/// An obstruction that is marked as “friendly” for viewability measurement +/// purposes. +/// +/// See https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAFriendlyObstruction.html. +class IMAFriendlyObstruction extends PigeonInternalProxyApiBaseClass { + /// Initializes a friendly obstruction. + IMAFriendlyObstruction({ + super.pigeon_binaryMessenger, + super.pigeon_instanceManager, + required this.view, + required this.purpose, + this.detailedReason, + }) { + final int pigeonVar_instanceIdentifier = + pigeon_instanceManager.addDartCreatedInstance(this); + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _pigeonVar_codecIMAFriendlyObstruction; + final BinaryMessenger? pigeonVar_binaryMessenger = pigeon_binaryMessenger; + () async { + const String pigeonVar_channelName = + 'dev.flutter.pigeon.interactive_media_ads.IMAFriendlyObstruction.pigeon_defaultConstructor'; + final BasicMessageChannel pigeonVar_channel = + BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = await pigeonVar_channel + .send([ + pigeonVar_instanceIdentifier, + view, + purpose, + detailedReason + ]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + }(); + } + + /// Constructs [IMAFriendlyObstruction] without creating the associated native object. + /// + /// This should only be used by subclasses created by this library or to + /// create copies for an [PigeonInstanceManager]. + @protected + IMAFriendlyObstruction.pigeon_detached({ + super.pigeon_binaryMessenger, + super.pigeon_instanceManager, + required this.view, + required this.purpose, + this.detailedReason, + }); + + late final _PigeonInternalProxyApiBaseCodec + _pigeonVar_codecIMAFriendlyObstruction = + _PigeonInternalProxyApiBaseCodec(pigeon_instanceManager); + + /// The view causing the obstruction. + final UIView view; + + /// The purpose for registering the obstruction as friendly. + final FriendlyObstructionPurpose purpose; + + /// Optional, detailed reasoning for registering this obstruction as friendly. + /// + /// If the detailedReason is not null, it must follow the IAB standard by + /// being 50 characters or less and only containing characters A-z, 0-9, or + /// spaces. + final String? detailedReason; + + static void pigeon_setUpMessageHandlers({ + bool pigeon_clearHandlers = false, + BinaryMessenger? pigeon_binaryMessenger, + PigeonInstanceManager? pigeon_instanceManager, + IMAFriendlyObstruction Function( + UIView view, + FriendlyObstructionPurpose purpose, + String? detailedReason, + )? pigeon_newInstance, + }) { + final _PigeonInternalProxyApiBaseCodec pigeonChannelCodec = + _PigeonInternalProxyApiBaseCodec( + pigeon_instanceManager ?? PigeonInstanceManager.instance); + final BinaryMessenger? binaryMessenger = pigeon_binaryMessenger; + { + final BasicMessageChannel< + Object?> pigeonVar_channel = BasicMessageChannel< + Object?>( + 'dev.flutter.pigeon.interactive_media_ads.IMAFriendlyObstruction.pigeon_newInstance', + pigeonChannelCodec, + binaryMessenger: binaryMessenger); + if (pigeon_clearHandlers) { + pigeonVar_channel.setMessageHandler(null); + } else { + pigeonVar_channel.setMessageHandler((Object? message) async { + assert(message != null, + 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAFriendlyObstruction.pigeon_newInstance was null.'); + final List args = (message as List?)!; + final int? arg_pigeon_instanceIdentifier = (args[0] as int?); + assert(arg_pigeon_instanceIdentifier != null, + 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAFriendlyObstruction.pigeon_newInstance was null, expected non-null int.'); + final UIView? arg_view = (args[1] as UIView?); + assert(arg_view != null, + 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAFriendlyObstruction.pigeon_newInstance was null, expected non-null UIView.'); + final FriendlyObstructionPurpose? arg_purpose = + (args[2] as FriendlyObstructionPurpose?); + assert(arg_purpose != null, + 'Argument for dev.flutter.pigeon.interactive_media_ads.IMAFriendlyObstruction.pigeon_newInstance was null, expected non-null FriendlyObstructionPurpose.'); + final String? arg_detailedReason = (args[3] as String?); + try { + (pigeon_instanceManager ?? PigeonInstanceManager.instance) + .addHostCreatedInstance( + pigeon_newInstance?.call( + arg_view!, arg_purpose!, arg_detailedReason) ?? + IMAFriendlyObstruction.pigeon_detached( + pigeon_binaryMessenger: pigeon_binaryMessenger, + pigeon_instanceManager: pigeon_instanceManager, + view: arg_view!, + purpose: arg_purpose!, + detailedReason: arg_detailedReason, + ), + arg_pigeon_instanceIdentifier!, + ); + return wrapResponse(empty: true); + } on PlatformException catch (e) { + return wrapResponse(error: e); + } catch (e) { + return wrapResponse( + error: PlatformException(code: 'error', message: e.toString())); + } + }); + } + } + } + + @override + IMAFriendlyObstruction pigeon_copy() { + return IMAFriendlyObstruction.pigeon_detached( + pigeon_binaryMessenger: pigeon_binaryMessenger, + pigeon_instanceManager: pigeon_instanceManager, + view: view, + purpose: purpose, + detailedReason: detailedReason, + ); + } +} diff --git a/packages/interactive_media_ads/lib/src/ios/interactive_media_ads_proxy.dart b/packages/interactive_media_ads/lib/src/ios/interactive_media_ads_proxy.dart index 97d1c5166d7..664578c3f68 100644 --- a/packages/interactive_media_ads/lib/src/ios/interactive_media_ads_proxy.dart +++ b/packages/interactive_media_ads/lib/src/ios/interactive_media_ads_proxy.dart @@ -21,6 +21,7 @@ class InteractiveMediaAdsProxy { this.newIMAAdsLoaderDelegate = IMAAdsLoaderDelegate.new, this.newIMAAdsManagerDelegate = IMAAdsManagerDelegate.new, this.newIMAAdsRenderingSettings = IMAAdsRenderingSettings.new, + this.newIMAFriendlyObstruction = IMAFriendlyObstruction.new, }); /// Constructs [IMAAdDisplayContainer]. @@ -72,4 +73,11 @@ class InteractiveMediaAdsProxy { /// Constructs [IMAAdsRenderingSettings]. final IMAAdsRenderingSettings Function() newIMAAdsRenderingSettings; + + /// Constructs [IMAFriendlyObstruction]. + final IMAFriendlyObstruction Function({ + required UIView view, + required FriendlyObstructionPurpose purpose, + String? detailedReason, + }) newIMAFriendlyObstruction; } diff --git a/packages/interactive_media_ads/pigeons/interactive_media_ads_ios.dart b/packages/interactive_media_ads/pigeons/interactive_media_ads_ios.dart index 17046ad0b3a..5fb0d887766 100644 --- a/packages/interactive_media_ads/pigeons/interactive_media_ads_ios.dart +++ b/packages/interactive_media_ads/pigeons/interactive_media_ads_ios.dart @@ -275,6 +275,22 @@ enum KeyValueChangeKey { unknown, } +/// A list of purposes for which an obstruction would be registered as friendly. +/// +/// See https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Enums/IMAFriendlyObstructionPurpose.html. +enum FriendlyObstructionPurpose { + mediaControls, + + closeAd, + + notVisible, + + other, + + /// The purpose type is not recognized by this wrapper. + unknown, +} + /// The `IMAAdDisplayContainer` is responsible for managing the ad container /// view and companion ad slots used for ad playback. /// @@ -508,4 +524,27 @@ abstract class IMAAdsRenderingSettings extends NSObject { /// See https://developer.apple.com/documentation/objectivec/nsobject. @ProxyApi() abstract class NSObject {} + +/// An obstruction that is marked as “friendly” for viewability measurement +/// purposes. +/// +/// See https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/reference/Classes/IMAFriendlyObstruction.html. +@ProxyApi() +abstract class IMAFriendlyObstruction { + /// Initializes a friendly obstruction. + IMAFriendlyObstruction(); + + /// The view causing the obstruction. + late final UIView view; + + /// The purpose for registering the obstruction as friendly. + late final FriendlyObstructionPurpose purpose; + + /// Optional, detailed reasoning for registering this obstruction as friendly. + /// + /// If the detailedReason is not null, it must follow the IAB standard by + /// being 50 characters or less and only containing characters A-z, 0-9, or + /// spaces. + late final String? detailedReason; +} */ diff --git a/packages/interactive_media_ads/pubspec.yaml b/packages/interactive_media_ads/pubspec.yaml index 172c65415d5..dcd422cbe4e 100644 --- a/packages/interactive_media_ads/pubspec.yaml +++ b/packages/interactive_media_ads/pubspec.yaml @@ -2,7 +2,7 @@ name: interactive_media_ads description: A Flutter plugin for using the Interactive Media Ads SDKs on Android and iOS. repository: https://github.com/flutter/packages/tree/main/packages/interactive_media_ads issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+interactive_media_ads%22 -version: 0.2.2+2 # This must match the version in +version: 0.2.2+3 # This must match the version in # `android/src/main/kotlin/dev/flutter/packages/interactive_media_ads/AdsRequestProxyApi.kt` and # `ios/interactive_media_ads/Sources/interactive_media_ads/AdsRequestProxyAPIDelegate.swift`