Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 02397da6f6 | |||
| 6ace420f30 |
@@ -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'
|
||||
|
||||
+1
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user