     private let _sdk = VungleSDK.shared()
     private var _initializing = false
     private var _initialized = false
-    private var _initializationAwaiter: (() -> Void)?
+    private var _initializationAwaiter: ((Bool) -> Void)?
     private var _rewarded = false
     private var _loadingAdIds: Set<String> = []
     private var _loadedAdIds: Set<String> = []

        _initializing = false
        _initialized = false
        if let awaiter = _initializationAwaiter {
            awaiter()
        }
    }

    public func vungleSDKFailedToInitializeWithError(_ error: Error) {
        _logger.debug("\(kTag): \(#function): \(error.localizedDescription)")
        _initializing = false
    }

    public func vungleAdPlayabilityUpdate(_ isAdPlayable: Bool, adId: String?, error: Error?) {

                self._initializing = true
                self._sdk.delegate = self
                do {
                    self._initializationAwaiter = { result in
                        single(.success(result))
                    }
                    try self._sdk.start(withAppId: appId)
                } catch {
                    self._logger.debug("\(kTag): \(#function): \(error.localizedDescription)")
                    single(.success(false))
                    return
                }
            }
