2 Commits

Author SHA1 Message Date
Jose Quintero 02397da6f6 Fixed naming from dai to autoplay on display delegate 2018-10-22 14:33:06 -06:00
Jose Quintero 6ace420f30 Added dynamic ad insertion option to display delegate 2018-10-22 14:04:35 -06:00
3 changed files with 11 additions and 6 deletions
+1 -1
View File
@@ -8,7 +8,7 @@
Pod::Spec.new do |s|
s.name = 'VersaPlayerAdsExtension'
s.version = '0.3.1'
s.version = '0.4.2'
s.summary = 'VersaPlayer Extension to enable video ads.'
s.description = 'VersaPlayer Extension to enable video ads functionality.'
s.homepage = 'https://github.com/josejuanqm/VersaPlayerAdsExtension'
@@ -19,4 +19,5 @@ public protocol VersaPlayerAdsManagerDisplayDelegate {
func adsManagerDidRequestContentResume(_ adsManager: IMAAdsManager!)
func companionSlots(for manager: IMAAdsManager) -> [IMACompanionAdSlot]
func renderingSettings(for manager: IMAAdsManager) -> IMAAdsRenderingSettings
func shouldAutoPlayAds() -> Bool
}
@@ -23,11 +23,12 @@ public class VersaPlayerAdsManager: VersaPlayerExtension, IMAAdsLoaderDelegate,
public var showingAds: Bool = false
public var adsRenderingSettings: IMAAdsRenderingSettings!
public init(with player: VersaPlayer, presentingIn controller: UIViewController) {
public init(with player: VersaPlayer, presentingIn controller: UIViewController, and delegate: VersaPlayerAdsManagerDisplayDelegate? = nil) {
super.init(with: player)
self.behaviour = VersaPlayerAdManagerBehaviour()
self.behaviour.handler = self
self.controller = controller
self.displayDelegate = delegate
setUpContentPlayer()
setUpAdsLoader()
player.addObserver(self, forKeyPath: "isPipModeEnabled", options: NSKeyValueObservingOptions.new, context: nil)
@@ -43,6 +44,7 @@ public class VersaPlayerAdsManager: VersaPlayerExtension, IMAAdsLoaderDelegate,
public func setUpAdsLoader() {
let settings = IMASettings.init()
settings.autoPlayAdBreaks = displayDelegate?.shouldAutoPlayAds() ?? true
adsLoader = IMAAdsLoader(settings: settings)
adsLoader!.delegate = self
}
@@ -112,10 +114,12 @@ public class VersaPlayerAdsManager: VersaPlayerExtension, IMAAdsLoaderDelegate,
public func adsManager(_ adsManager: IMAAdsManager!, didReceive event: IMAAdEvent!) {
displayDelegate?.ads(manager: adsManager, didReceiveEvent: event)
if (event.type == IMAAdEventType.LOADED) {
showingAds = true
behaviour.willShowAdsFor(player: player.player)
adsManager.start()
if displayDelegate?.shouldAutoPlayAds() ?? true {
if (event.type == IMAAdEventType.LOADED) {
showingAds = true
behaviour.willShowAdsFor(player: player.player)
adsManager.start()
}
}
}