INNER CODE UNIT · Swift
handle
kmcgill88/admob_flutter · ios/Classes/AdmobInterstitialPlugin.swift:39
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
guard let args = call.arguments as? [String : Any] else {
result(FlutterError(code: "Missing args!", message: "Unable to convert args to [String : Any]", details: nil))
return
}
let id = args["id"] as? Int ?? 0
// Defaults to test Id's from: https://developers.google.com/admob/ios/banner
let adUnitId = args["adUnitId"] as? String ?? "ca-app-pub-3940256099942544/1033173712"
switch call.method {
case "setListener":
let channel = FlutterMethodChannel(name: "admob_flutter/interstitial_\(id)", binaryMessenger: pluginRegistrar!.messenger())
delegates[id] = AdmobIntersitialPluginDelegate(channel: channel)
let interstantialAd = getInterstitialAd(id: id, interstantialAdUnitId: adUnitId)
interstantialAd.delegate = delegates[id]
break
case "load":
allIds[id] = getInterstitialAd(id: id, interstantialAdUnitId: adUnitId)