public IVpaid GetVpaidPlayer(ICreativeSource AdSource, IAdTarget AdTarget) { if (!(AdTarget is HtmlElementAdTarget)) throw new ArgumentException("Target must be of type HtmlElementAdTarget"); return new HtmlAdPlayer(AdSource, AdTarget as HtmlElementAdTarget); }
public DeactivateAdUnitEventArgs(ICreativeSource creativeSource, IVpaid player, object creativeConcept, IAdSource adSource) { Player = player; CreativeSource = creativeSource; CreativeConcept = creativeConcept; AdSource = adSource; }
internal ActiveAdUnit(ICreativeSource creativeSource, IVpaid player, object creativeConcept, IAdSource adSource) { CreativeSource = creativeSource; Player = player; CreativeConcept = creativeConcept; AdSource = adSource; }
public PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { if (!(AdTarget is HtmlElementAdTarget)) return PriorityCriteriaEnum.NotSupported; else return PriorityCriteriaEnum.Static; }
/// <summary> /// Finds and creates a target from an ad sequencing source and a creative source. /// </summary> /// <param name="AdSource">Provides required target info</param> /// <param name="CreativeSource">Provides info about the actual creative that is to be placed.</param> /// <returns>And object representing the selected target of the creative</returns> public virtual IAdTarget FindTarget(IAdSource AdSource, ICreativeSource CreativeSource) { var target = GetAdTargets(AdSource, CreativeSource).FirstOrDefault(); if (target == null && CreativeSource.Type != CreativeSourceType.Companion) { // assume VideoArea for linear and nonlinear ads target = new TargetSearchResult((IAdSequencingTarget) new VideoAreaTarget(CreativeSource), new List <IAdSequencingTarget>()); } if (target != null) { var slResult = GetAdContainer(target.AdSequencingTarget); #if !WINDOWS_PHONE && !OOB if (slResult == null && !Application.Current.IsRunningOutOfBrowser) { var htmlResult = GetHtmlAdContainer(target.AdSequencingTarget); if (htmlResult != null) { return(new HtmlElementAdTarget(htmlResult, target.AdSequencingTarget, target.DependencyTargets)); } } else #endif { return(CreateAdTarget(slResult, target.AdSequencingTarget, target.DependencyTargets)); } } return(null); }
public virtual PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { if (!IsScheduleClipEnabled) return PriorityCriteriaEnum.NotSupported; if (AdSource.MimeType == null) return PriorityCriteriaEnum.NotSupported; if (AdSource.Type != CreativeSourceType.Linear) return PriorityCriteriaEnum.NotSupported; if (AdTarget.TargetSource == null || AdTarget.TargetSource.Region != TargetRegions.VideoArea) return PriorityCriteriaEnum.NotSupported; if (!(player.ActiveMediaPlugin is IAdaptiveMediaPlugin) || !player.ActiveMediaPlugin.SupportsAdScheduling) return PriorityCriteriaEnum.NotSupported; #if HTTP_ONLY if (!AdSource.MediaSource.StartsWith("http", StringComparison.OrdinalIgnoreCase)) { return PriorityCriteriaEnum.NotSupported; } #endif switch (AdSource.MimeType.ToLower()) { case "video/mp4": case "video/x-ms-wmv": return PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Progressive | PriorityCriteriaEnum.InPlayer; case "text/xml": return PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Adaptive | PriorityCriteriaEnum.InPlayer; default: return PriorityCriteriaEnum.NotSupported; } }
public virtual PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { #if !WINDOWS_PHONE && !OOB if (AdTarget is HtmlElementAdTarget) { return(PriorityCriteriaEnum.NotSupported); } #endif if (AdSource.MimeType == null) { return(PriorityCriteriaEnum.NotSupported); } #if HTTP_ONLY if (!AdSource.MediaSource.StartsWith("http", StringComparison.OrdinalIgnoreCase)) { return(PriorityCriteriaEnum.NotSupported); } #endif switch (AdSource.MimeType.ToLower()) { case "video/mp4": case "video/x-ms-wmv": return(PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Progressive); default: return(PriorityCriteriaEnum.NotSupported); } }
internal ActiveAdUnit(ICreativeSource creativeSource, IVpaid player, object creativeConcept, IAdSource adSource) { CreativeSource = creativeSource; Player = player; CreativeConcept = creativeConcept; AdSource = adSource; }
internal void TrackErrorUrl(string url, int errorCode, ICreativeSource creativeSource = null) { if (url != null) { TrackUrl(url.Replace(Macro_ErrorCode, errorCode.ToString()), creativeSource); } }
public PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { if (AdSource.MimeType == null) { return(PriorityCriteriaEnum.NotSupported); } switch (AdSource.MimeType.ToLower()) { case "application/x-shockwave-flash": if (HtmlPage.Document.GetElementById("FlashPlayer") != null) { return(PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Interactive); } else { return(PriorityCriteriaEnum.NotSupported); } case "video/mp4": case "video/x-flv": if (HtmlPage.Document.GetElementById("FlashPlayer") != null) { return(PriorityCriteriaEnum.Dynamic | (AdSource.IsStreaming ? PriorityCriteriaEnum.Adaptive : PriorityCriteriaEnum.Progressive)); } else { return(PriorityCriteriaEnum.NotSupported); } default: return(PriorityCriteriaEnum.NotSupported); } }
public XapAdPlayer(ICreativeSource AdSource, IAdTarget AdTarget) { this.AdSource = AdSource; this.Dimensions = AdSource.Dimensions; this.ExpandedDimensions = AdSource.ExpandedDimensions; this.Scalable = AdSource.IsScalable; this.Linear = (AdSource.Type == CreativeSourceType.Linear); }
public XapAdPlayer(ICreativeSource AdSource, IAdTarget AdTarget) { this.AdSource = AdSource; this.Dimensions = AdSource.Dimensions; this.ExpandedDimensions = AdSource.ExpandedDimensions; this.Scalable = AdSource.IsScalable; this.Linear = (AdSource.Type == CreativeSourceType.Linear); }
public IVpaid GetVpaidPlayer(ICreativeSource AdSource, IAdTarget AdTarget) { if (!(AdTarget is HtmlElementAdTarget)) { throw new ArgumentException("Target must be of type HtmlElementAdTarget"); } return(new HtmlAdPlayer(AdSource, AdTarget as HtmlElementAdTarget)); }
public ActivateAdUnitEventArgs(ICreativeSource creativeSource, IVpaid player, object creativeConcept, IAdSource adSource, IEnumerable <ICompanionSource> companions, CompanionAdsRequired suggestedCompanionRules) { Player = player; AdSource = adSource; CreativeConcept = creativeConcept; CreativeSource = creativeSource; Companions = companions; SuggestedCompanionRules = suggestedCompanionRules; }
public override PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { var result = base.CheckSupport(AdSource, AdTarget); if (result != PriorityCriteriaEnum.NotSupported) { result = result | PriorityCriteriaEnum.Trump; // adding Trump to boost priority over the base class } return result; }
IVpaid OnLoadPlayer(ICreativeSource creativeSource) { var args = new LoadPlayerEventArgs(creativeSource); if (LoadPlayer != null) { LoadPlayer(this, args); } return(args.Player); }
public PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { if (!(AdTarget is HtmlElementAdTarget)) { return(PriorityCriteriaEnum.NotSupported); } else { return(PriorityCriteriaEnum.Static); } }
public AdaptiveVideoAdPlayer(ICreativeSource AdSource, IAdTarget AdTarget, IMediaPlugin ActiveMediaPlugin) : base(AdSource.Dimensions, AdSource.IsScalable, AdSource.Type == CreativeSourceType.Linear) { this.ActiveMediaPlugin = ActiveMediaPlugin; this.AdSource = AdSource; this.AdTarget = AdTarget; if (AdSource.ClickUrl != null) { this.NavigateUri = new Uri(AdSource.ClickUrl, UriKind.RelativeOrAbsolute); } }
/// <inheritdoc /> public IVpaid GetPlayer(ICreativeSource creativeSource) { if (!IsEnabled || creativeSource.MimeType == null) return null; var skippableOffset = creativeSource.SkippableOffset ?? SkippableOffset; if (creativeSource.Type == CreativeSourceType.Linear) { if (creativeSource.ApiFramework == "VPAID") { //switch (creativeSource.MimeType) //{ // case "application/x-javascript": // return new VpaidJavaScriptAdPlayer(skippableOffset, creativeSource.Duration, creativeSource.ClickUrl) { Style = VpaidWebAdPlayerStyle }; //} } else { #if SILVERLIGHT if (SupportedVideoMimeTypes.Contains(creativeSource.MimeType.ToLowerInvariant())) #else if (SupportedVideoMimeTypes.Contains(creativeSource.MimeType.ToLowerInvariant()) || CanPlayCodec(creativeSource.Codec)) #endif { return new VpaidVideoAdPlayer(skippableOffset, creativeSource.Duration, creativeSource.ClickUrl) { Style = VpaidVideoAdPlayerStyle, #if NETFX_CORE AudioCategory = MediaPlayer.AudioCategory #endif }; } } } else if (creativeSource.Type == CreativeSourceType.NonLinear) { switch (creativeSource.MediaSourceType) { case MediaSourceEnum.Static: #if SILVERLIGHT if (creativeSource.MimeType.ToLowerInvariant().StartsWith("image/")) #else if (BitmapDecoder.GetDecoderInformationEnumerator().SelectMany(d => d.MimeTypes).Select(m => m.ToLowerInvariant()).Contains(creativeSource.MimeType.ToLowerInvariant())) #endif { return new VpaidImageAdPlayer(skippableOffset, creativeSource.Duration, creativeSource.ClickUrl) { Style = VpaidImageAdPlayerStyle }; } else return null; case MediaSourceEnum.IFrame: return new VpaidIFrameAdPlayer(skippableOffset, creativeSource.Duration, creativeSource.ClickUrl, creativeSource.Dimensions) { Style = VpaidWebAdPlayerStyle }; case MediaSourceEnum.HTML: return new VpaidHtmlAdPlayer(skippableOffset, creativeSource.Duration, creativeSource.ClickUrl, creativeSource.Dimensions) { Style = VpaidWebAdPlayerStyle }; } } return null; }
public ProgressiveVideoAdPlayer(ICreativeSource AdSource, IAdTarget AdTarget, IMediaPlugin ActiveMediaPlugin) : base(AdSource.Dimensions, AdSource.IsScalable, AdSource.Type == CreativeSourceType.Linear) { this.ActiveMediaPlugin = ActiveMediaPlugin; this.AdSource = AdSource; this.AdTarget = AdTarget; if (AdSource.ClickUrl != null) { this.NavigateUri = new Uri(AdSource.ClickUrl, UriKind.RelativeOrAbsolute); } }
public ImageAdPlayer(ICreativeSource Source, IAdTarget Target, IMediaPlugin ActiveMediaPlugin) : base(Source.Dimensions, Source.IsScalable, Source.Type == CreativeSourceType.Linear) { this.ActiveMediaPlugin = ActiveMediaPlugin; AdTarget = Target; AdSource = Source; if (AdSource.ClickUrl != null) { this.NavigateUri = new Uri(AdSource.ClickUrl, UriKind.RelativeOrAbsolute); } }
public ImageAdPlayer(ICreativeSource Source, IAdTarget Target, IMediaPlugin ActiveMediaPlugin) : base(Source.Dimensions, Source.IsScalable, Source.Type == CreativeSourceType.Linear) { this.ActiveMediaPlugin = ActiveMediaPlugin; AdTarget = Target; AdSource = Source; if (AdSource.ClickUrl != null) { this.NavigateUri = new Uri(AdSource.ClickUrl, UriKind.RelativeOrAbsolute); } }
internal AdClipLinearAdPlayer(ICreativeSource AdSource, IAdTarget AdTarget, IPlayer AdHost) : base(AdSource.Dimensions, AdSource.IsScalable, true) { this.AdSource = AdSource; this.AdTarget = AdTarget; this.ActiveMediaPlugin = AdHost.ActiveMediaPlugin; this.AdHost = AdHost; if (AdSource.ClickUrl != null) { this.NavigateUri = new Uri(AdSource.ClickUrl, UriKind.RelativeOrAbsolute); } }
internal AdClipLinearAdPlayer(ICreativeSource AdSource, IAdTarget AdTarget, IPlayer AdHost) : base(AdSource.Dimensions, AdSource.IsScalable, true) { this.AdSource = AdSource; this.AdTarget = AdTarget; this.ActiveMediaPlugin = AdHost.ActiveMediaPlugin; this.AdHost = AdHost; if (AdSource.ClickUrl != null) { this.NavigateUri = new Uri(AdSource.ClickUrl, UriKind.RelativeOrAbsolute); } }
public PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { if (AdTarget is HtmlElementAdTarget) return PriorityCriteriaEnum.NotSupported; if (AdSource.MimeType == null) return PriorityCriteriaEnum.NotSupported; switch (AdSource.MimeType.ToLower()) { case "application/x-silverlight-app": return PriorityCriteriaEnum.Interactive | PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native; default: return PriorityCriteriaEnum.NotSupported; } }
internal void TrackUrl(string url, ICreativeSource creativeSource = null) { if (url != null) { var resolvedUrl = GetMacroUrl(url); if (creativeSource != null) { resolvedUrl = resolvedUrl.Replace(Macro_AssetUri, System.Net.WebUtility.UrlEncode(creativeSource.MediaSource)); } AdTracking.Current.FireTracking(resolvedUrl); } }
private void TrackEvent(ICreativeSource adSource, TrackingEventEnum eventToTrack) { try { adSource.Track(eventToTrack); } catch (Exception ex) { if (TrackingFailed != null) { TrackingFailed(this, new TrackingFailureEventArgs(eventToTrack.ToString(), ex)); } } }
/// <inheritdoc /> protected override IVpaid GetPlayer(ICreativeSource creativeSource) { IVpaid result = null; // look for ad player factories in the plugin collection. Try each one until you find a player foreach (var factory in MediaPlayer.Plugins.OfType<IAdPlayerFactoryPlugin>()) { var player = factory.GetPlayer(creativeSource); if (player != null) { result = player; break; } } return result; }
public virtual PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { #if !WINDOWS_PHONE && !OOB if (AdTarget is HtmlElementAdTarget) return PriorityCriteriaEnum.NotSupported; #endif if (AdSource.MimeType == null) return PriorityCriteriaEnum.NotSupported; switch (AdSource.MimeType.ToLower()) { case "text/xml": return PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Adaptive; default: return PriorityCriteriaEnum.NotSupported; } }
/// <inheritdoc /> protected override IVpaid GetPlayer(ICreativeSource creativeSource) { IVpaid result = null; // look for ad player factories in the plugin collection. Try each one until you find a player foreach (var factory in MediaPlayer.Plugins.OfType <IAdPlayerFactoryPlugin>()) { var player = factory.GetPlayer(creativeSource); if (player != null) { result = player; break; } } return(result); }
public virtual PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { #if !WINDOWS_PHONE && !OOB if (AdTarget is HtmlElementAdTarget) return PriorityCriteriaEnum.NotSupported; #endif if (AdSource.MimeType == null) return PriorityCriteriaEnum.NotSupported; switch (AdSource.MimeType.ToLower()) { case "image/jpg": case "image/jpeg": case "image/png": return PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Static; default: return PriorityCriteriaEnum.NotSupported; } }
internal protected ActiveCreative GetCreative(ICreativeSource adSource, IAdTarget adTarget) { IVpaid adPlayer; var vPaidFactories = GetVpaidFactories().ToList(); do { var rankedVpaidFactories = from factory in vPaidFactories let rank = factory.CheckSupport(adSource, adTarget) where rank > PriorityCriteriaEnum.NotSupported orderby rank descending select factory; var playerFactory = rankedVpaidFactories.FirstOrDefault(); if (playerFactory == null) { return(null); } adPlayer = playerFactory.GetVpaidPlayer(adSource, adTarget); // handshake with the ad player to make sure the version of VAST is OK if (adPlayer == null || !VpaidController.Handshake(adPlayer)) { // the version is no good, remove the factory from the list and try again. vPaidFactories.Remove(playerFactory); if (!vPaidFactories.Any()) { return(null); } adPlayer = null; } } while (adPlayer == null); //put companion in target if (!adTarget.AddChild(adPlayer)) { return(null); } return(new ActiveCreative(adPlayer, adSource, adTarget)); }
public PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { if (!IsScheduleClipEnabled) { return(PriorityCriteriaEnum.NotSupported); } if (AdSource.MimeType == null) { return(PriorityCriteriaEnum.NotSupported); } if (AdSource.Type != CreativeSourceType.Linear) { return(PriorityCriteriaEnum.NotSupported); } if (AdTarget.TargetSource == null || AdTarget.TargetSource.Region != TargetRegions.VideoArea) { return(PriorityCriteriaEnum.NotSupported); } if (!(player.ActiveMediaPlugin is IAdaptiveMediaPlugin) || !player.ActiveMediaPlugin.SupportsAdScheduling) { return(PriorityCriteriaEnum.NotSupported); } #if HTTP_ONLY if (!AdSource.MediaSource.StartsWith("http", StringComparison.OrdinalIgnoreCase)) { return(PriorityCriteriaEnum.NotSupported); } #endif switch (AdSource.MimeType.ToLower()) { case "video/mp4": case "video/x-ms-wmv": return(PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Progressive | PriorityCriteriaEnum.InPlayer); case "text/xml": return(PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Adaptive | PriorityCriteriaEnum.InPlayer); default: return(PriorityCriteriaEnum.NotSupported); } }
public PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { if (AdTarget is HtmlElementAdTarget) { return(PriorityCriteriaEnum.NotSupported); } if (AdSource.MimeType == null) { return(PriorityCriteriaEnum.NotSupported); } switch (AdSource.MimeType.ToLower()) { case "application/x-silverlight-app": return(PriorityCriteriaEnum.Interactive | PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native); default: return(PriorityCriteriaEnum.NotSupported); } }
public virtual PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { #if !WINDOWS_PHONE && !OOB if (AdTarget is HtmlElementAdTarget) { return(PriorityCriteriaEnum.NotSupported); } #endif if (AdSource.MimeType == null) { return(PriorityCriteriaEnum.NotSupported); } switch (AdSource.MimeType.ToLower()) { case "text/xml": return(PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Adaptive); default: return(PriorityCriteriaEnum.NotSupported); } }
public FlashVideoAdPlayer(ICreativeSource Source, IAdTarget Target) { AdTarget = Target; AdSource = Source; this.SizeChanged += new SizeChangedEventHandler(FlashVideoAdPlayer_SizeChanged); StringBuilder script = new StringBuilder(); script.Append("function flashReady(){"); script.Append("if (adPlayer) adPlayer.OnReady();"); script.AppendLine("}"); script.AppendLine("var adPlayer;"); script.Append("function setPlayer(player){"); script.Append("adPlayer = player;"); script.AppendLine("}"); script.Append("function VPAIDAdLoaded(){"); script.Append("adPlayer.OnAdLoaded();"); script.AppendLine("}"); script.Append("function VPAIDAdStarted(){"); script.Append("adPlayer.OnAdStarted();"); script.AppendLine("}"); script.Append("function VPAIDAdStopped(){"); script.Append("adPlayer.OnAdStopped();"); script.AppendLine("}"); script.Append("function VPAIDAdVideoComplete(){"); script.Append("if (adPlayer) adPlayer.OnAdVideoComplete();"); script.AppendLine("}"); InjectScript(script.ToString()); HtmlPage.Window.Invoke("setPlayer", this); }
public FlashVideoAdPlayer(ICreativeSource Source, IAdTarget Target) { AdTarget = Target; AdSource = Source; this.SizeChanged += new SizeChangedEventHandler(FlashVideoAdPlayer_SizeChanged); StringBuilder script = new StringBuilder(); script.Append("function flashReady(){"); script.Append("if (adPlayer) adPlayer.OnReady();"); script.AppendLine("}"); script.AppendLine("var adPlayer;"); script.Append("function setPlayer(player){"); script.Append("adPlayer = player;"); script.AppendLine("}"); script.Append("function VPAIDAdLoaded(){"); script.Append("adPlayer.OnAdLoaded();"); script.AppendLine("}"); script.Append("function VPAIDAdStarted(){"); script.Append("adPlayer.OnAdStarted();"); script.AppendLine("}"); script.Append("function VPAIDAdStopped(){"); script.Append("adPlayer.OnAdStopped();"); script.AppendLine("}"); script.Append("function VPAIDAdVideoComplete(){"); script.Append("if (adPlayer) adPlayer.OnAdVideoComplete();"); script.AppendLine("}"); InjectScript(script.ToString()); HtmlPage.Window.Invoke("setPlayer", this); }
public PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { if (AdSource.MimeType == null) return PriorityCriteriaEnum.NotSupported; switch (AdSource.MimeType.ToLower()) { case "application/x-shockwave-flash": if (HtmlPage.Document.GetElementById("FlashPlayer") != null) return PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Interactive; else return PriorityCriteriaEnum.NotSupported; case "video/mp4": case "video/x-flv": if (HtmlPage.Document.GetElementById("FlashPlayer") != null) { return PriorityCriteriaEnum.Dynamic | (AdSource.IsStreaming ? PriorityCriteriaEnum.Adaptive : PriorityCriteriaEnum.Progressive); } else return PriorityCriteriaEnum.NotSupported; default: return PriorityCriteriaEnum.NotSupported; } }
public virtual PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { #if !WINDOWS_PHONE && !OOB if (AdTarget is HtmlElementAdTarget) return PriorityCriteriaEnum.NotSupported; #endif if (AdSource.MimeType == null) return PriorityCriteriaEnum.NotSupported; #if HTTP_ONLY if (!AdSource.MediaSource.StartsWith("http", StringComparison.OrdinalIgnoreCase)) { return PriorityCriteriaEnum.NotSupported; } #endif switch (AdSource.MimeType.ToLower()) { case "video/mp4": case "video/x-ms-wmv": return PriorityCriteriaEnum.Dynamic | PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Progressive; default: return PriorityCriteriaEnum.NotSupported; } }
public virtual PriorityCriteriaEnum CheckSupport(ICreativeSource AdSource, IAdTarget AdTarget) { #if !WINDOWS_PHONE && !OOB if (AdTarget is HtmlElementAdTarget) { return(PriorityCriteriaEnum.NotSupported); } #endif if (AdSource.MimeType == null) { return(PriorityCriteriaEnum.NotSupported); } switch (AdSource.MimeType.ToLower()) { case "image/jpg": case "image/jpeg": case "image/png": return(PriorityCriteriaEnum.Native | PriorityCriteriaEnum.Static); default: return(PriorityCriteriaEnum.NotSupported); } }
public ActivateAdUnitEventArgs(ICreativeSource creativeSource, IVpaid player, object creativeConcept, IAdSource adSource, IEnumerable<ICompanionSource> companions, CompanionAdsRequired suggestedCompanionRules) { Player = player; AdSource = adSource; CreativeConcept = creativeConcept; CreativeSource = creativeSource; Companions = companions; SuggestedCompanionRules = suggestedCompanionRules; }
internal CreativeEventArgs(ICreativeSource AdSource) { adSource = AdSource; }
public AdTrackingEventEventArgs(ICreativeSource creativeSource, TrackingType trackingType) { CreativeSource = creativeSource; TrackingType = trackingType; }
public override IVpaid GetVpaidPlayer(ICreativeSource AdSource, IAdTarget AdTarget) { return new AdaptiveVideoAdPlayerXbox(AdSource, AdTarget, player as IDvrPlayer); }
internal CreativeProgressEventArgs(ICreativeSource AdSource, TimeSpan TimeRemaining) : base(AdSource) { timeRemaining = TimeRemaining; }
public AdTrackingEventEventArgs(ICreativeSource creativeSource, TrackingType trackingType) { CreativeSource = creativeSource; TrackingType = trackingType; }
public virtual IVpaid GetVpaidPlayer(ICreativeSource AdSource, IAdTarget AdTarget) { return new AdClipLinearAdPlayer(AdSource, AdTarget, player); }
public virtual IVpaid GetVpaidPlayer(ICreativeSource AdSource, IAdTarget AdTarget) { return new ProgressiveVideoAdPlayer(AdSource, AdTarget, player.ActiveMediaPlugin); }
public HtmlAdPlayer(ICreativeSource Source, HtmlElementAdTarget Target) : base(Source.Dimensions, Source.IsScalable, Source.Type == CreativeSourceType.Linear) { AdTarget = Target; AdSource = Source; }
/// <summary> /// Called to help load companion ads. /// </summary> /// <param name="companions">The companion ads that should show.</param> /// <param name="suggestedCompanionRules">The suggested rules for how to show companions.</param> /// <param name="creativeSource">The creative source associated with the companions.</param> /// <param name="adPlayer">The VPAID ad player associated with the companions.</param> /// <param name="creativeConcept">The creative concept for the companions. Can help provide info to assist with companion life cycle business logic.</param> /// <param name="adSource">The ad source from which the companion ads came.</param> protected virtual void LoadCompanions(IEnumerable <ICompanionSource> companions, CompanionAdsRequired suggestedCompanionRules, ICreativeSource creativeSource, IVpaid adPlayer, object creativeConcept, IAdSource adSource) { if (previouscreativeConcept != null && creativeConcept != previouscreativeConcept) { // remove all old companions UnloadCompanions(); } int failureCount = 0; int total = 0; companionUnloadActions.Clear(); try { if (companions != null) { foreach (var companion in companions) { Action undoAction; if (!TryLoadCompanion(companion, out undoAction)) { failureCount++; } else { companionUnloadActions.Add(undoAction); } total++; } } if (suggestedCompanionRules == CompanionAdsRequired.Any && total > 0 && failureCount == total) { throw new Exception("All companion ads failed"); } if (suggestedCompanionRules == CompanionAdsRequired.All && failureCount > 0) { throw new Exception("Not all companion ads succeeded"); } previouscreativeConcept = creativeConcept; } catch { UnloadCompanions(); throw; } }
public ActiveCreative GetCompanionCreative(ICreativeSource adSource, IAdTarget adTarget) { return vastAdHandler.GetCreative(adSource, adTarget); }
/// <summary> /// Called to retrieve a VPAID player from a creative source. /// </summary> /// <param name="creativeSource">The creative source that needs a VPAID player to play.</param> /// <returns>The VPAID ad player</returns> protected abstract IVpaid GetPlayer(ICreativeSource creativeSource);
public ActiveCreative GetNonLinearCreative(ICreativeSource adSource, IAdTarget adTarget) { return vastAdHandler.GetCreative(adSource, adTarget); }
internal CreativeProgressEventArgs(ICreativeSource AdSource, TimeSpan TimeRemaining) : base(AdSource) { timeRemaining = TimeRemaining; }
public DeactivateAdUnitEventArgs(ICreativeSource creativeSource, IVpaid player, object creativeConcept, IAdSource adSource) { Player = player; CreativeSource = creativeSource; CreativeConcept = creativeConcept; AdSource = adSource; }
public ActiveCreative(IVpaid Player, ICreativeSource Source, IAdTarget Target) { this.Player = Player; this.Source = Source; this.Target = Target; }
public DeactivateAdUnitEventArgs(ICreativeSource creativeSource, IVpaid player, object creativeConcept, IAdSource adSource, Exception error) : this(creativeSource, player, creativeConcept, adSource) { Error = error; }
internal CreativeEventArgs(ICreativeSource AdSource) { adSource = AdSource; }
public LoadPlayerEventArgs(ICreativeSource creativeSource) { CreativeSource = creativeSource; }
public virtual IVpaid GetVpaidPlayer(ICreativeSource AdSource, IAdTarget AdTarget) { return(new AdaptiveVideoAdPlayer(AdSource, AdTarget, player.ActiveMediaPlugin)); }