Changelog

Version 2.5.18.19.0 - Oct 1, 2018

ADDED

-[OOPulseAdBreak adBreakType] allows you to determine the position type of an ad break within the video content.



Version 2.5.18.12.0 - June 14, 2018

ADDED



Version 2.5.18.11.0 - May 21, 2018

ADDED

  • A new array, OORequestSettings.liveParameters, is available in the OORequestSettings, enabling you to turn off certain tracking, secondary lookup requests, real-time bidding requests, and/or cookie syncing for a live event. This ensures the high volumes of ad delivery and subsequent tracking to go smoothly while increasing your revenue and viewer retention.



Version 2.5.18.1.1 - Jan 9, 2018

FIXED

  • Fixed the exception caused by previous release.



Version 2.5.18.1.0 - Jan 8, 2018

ADDED



Version 2.5.17.23.0 - Nov 24, 2017

FIXED

  • Updated the framework’s build with bitcode enabled.



Version 2.5.17.20.0 - Oct 3, 2017

CHANGED

The Core SDK has been removed from version 2.5.17.20.0 and Ooyala will no longer provide any support for the Core SDK from April 3rd, 2018. This means that:

  • All new integrations on iOS need to use the iOS Pulse SDK.
  • Integrations using the latest iOS Core SDK are still supported for critical bug fixes until April 2018.
  • If new features are needed in your existing integration, then you must transform the integration to use the iOS Pulse SDK.

As a result of deprecating the Core SDK, changes were made to the Pulse SDK. All classes and constants where the name started with VP have been renamed to start with OO in the Pulse SDK. For example, VPRequestSettings is now called OORequestSettings. When you upgrade the SDK in your Pulse SDK integration, you must replace the class and constant names according to this new naming convention.

To move away from the Core SDK and start using the Pulse SDK instead, use the following tutorial.

ADDED

You can now log debug messages to the console by setting +[OOPulse logDebugMessages:]. Debugging is turned off by default.



Version 2.4.17.17.0 - Aug 31, 2017

FIXED

  • Fixed an issue with the framework’s internal version having problems with the AppStore verification.



Version 2.4.17.14.0 - Jul 13, 2017

CHANGED

The Core SDK is deprecated from version 2.4.17.14.0 and will be removed completely in version 2.5.17.20.0, to be released on October 3rd, 2017. This means that:

  • All new integrations on iOS need to use the iOS Pulse SDK.
  • Integrations using the latest iOS Core SDK are still supported for critical bug fixes until April 2018.
  • If new features are needed in your existing integration, then you must transform the integration to use the iOS Pulse SDK.

As a result of deprecating the Core SDK, changes were made to the Pulse SDK. All classes and constants where the name started with VP have been renamed to start with OO in the Pulse SDK. For example, VPRequestSettings is now called OORequestSettings. When you upgrade the SDK in your Pulse SDK integration, you must replace the class and constant names according to this new naming convention.



Version 2.3.17.12.0 - Jun 13, 2017

FIXED

  • An ad without clickThrough URL can now be parsed by the SDK.



Version 2.3.17.10.0 - May 11, 2017

ADDED

  • Full passback support in the Pulse SDK: Previously, if an ad failed to be shown and the -[OOPulseVideoAd adFailedWithError:] method was invoked, the Pulse SDK would proceed to the next ad in the ad break, or instruct to play the content. From this version, if you enable the passback functionality in your account through the Pulse UI, a passback ad is provided if an ad failed to show and a passback ad is available.



Version 2.3.17.9.0 - May 11, 2017

ADDED

  • Added the ability to disable asset filtering during requests by setting the assetFilteringDisabled parameter of VPRequestSettings to YES.
  • Added the ability to enforce or disable addition of a randomized cache busting parameter to VAST 2.0 tracking URLs, which do not include the CACHEBUSTING macro, by using the property enforceCacheBusting of VPRequestSettings.



Version 2.3.17.8.0 - Apr 26, 2017

ADDED

  • -[OOPulseVideoAd companions] allows you to retrieve the companion ads directly from the OOPulseVideoAd. Bear in mind that only companion banners with the resources of type StaticResource are returned.



Version 2.3.17.7.0 - Apr 06, 2017

FIXED

  • Updated the parser to provide a sanitized version of the VAST ticket contents.



Version 2.3.17.4.0 - Feb 22, 2017

ADDED

  • Third party VAST4 tickets can now be parsed by the SDK.



Version 2.3.17.1.0 - Jan 12, 2017

ADDED

  • VPAd.candidateNum allows you to retrieve the candidate ad number in the passback chain.



Version 2.3.16.24.0 - Nov 30, 2016

CHANGED

  • Changed the RTB application parameters to use copy rather than assign in RequestSettings.



Version 2.3.16.23.0 - Nov 24, 2016

ADDED

  • The application parameters, required for RTB (Real-time bidding), have been added to RequestSettings. Contact your DSP to determine which parameters should be sent.



Version 2.3.16.20.0 - Oct 12, 2016

ADDED

FIXED

  • The ad skipped event is now tracked when a user skips a paused ad



Version 2.3.16.19.0 - Sep 20, 2016

ADDED

  // This call can be done anytime while the content is playing
  // Let's add a midroll at 20 seconds playback

  self.contentMetadata.tags = @[@"standard-midrolls"];
  self.requestSetting.linearPlaybackPositions = @[@20];
  self.requestSetting.insertionPointFilter = VPInsertionPointTypePlaybackPosition;
  [self.session extendSessionWithContentMetadata:self.contentMetadata requestSettings:self.requestSetting success:^{
    NSLog(@"Session was successfully extended. There are now midroll ads at 20th second.");
  }];

For a more detailed sample, please refer to the sample integration.



Version 2.3.16.14.0 - June 20, 2016

ADDED

FIXED

  • The server/client time difference is now recalculated when extending a session.



Version 2.2.16.10.0 - May 23, 2016

ADDED

CHANGED

  • Some deviations from the VAST specification are no longer treated as errors, and may log warnings instead.



Version 2.2.16.9.0 - May 16, 2016

FIXED

  • HTTP requests are now always made on the main run loop.
  • Request objects were not getting released under some circumstances.
  • VPLinearCreative.lastCompletion now accounts for server/client time differences.
  • VAST tickets without an error tracking URL are now accepted.



Version 2.2.16.7.0 - April 6, 2016

CHANGED

  • VAST ticket parsing has been made more lenient:
    • URLs may be present without being wrapped in CDATA blocks.
    • Other data may be wrapped in CDATA blocks.
    • URLs with protocols other than http or https are accepted.
    • Multiple hash (#) characters present in URLs will be percent encoded beyond the first one.



Version 2.2.16.5.0 - March 10, 2016

CHANGED

  - (void)startAdBreak:(id<OOPulseAdBreak>)adBreak {
    self.currentAdBreak = adBreak;
    ...
  }
  • Invalid characters in URLs will now be percent encoded.

ADDED

  - (void)startAdPlaybackWithAd:(id<OOPulseVideoAd)ad timeout:(NSTimeInterval)timeout {
    NSLog("Playing ad %@/%@", self.currentAdBreak.playableAdsRemaining, self.currentAdBreak.playableAdsTotal);
    ...
  }

FIXED



Version 2.1.16.4.0 - February 25, 2016

FIXED

  • Fixed event flow when content metadata or request settings does not validate.



Version 2.1.16.3.0 - February 18, 2016

FIXED

  • Parsing of some extended ad parameters was broken under some circumstances.
  • Updated library build settings to work around a bug in XCode.



Version 2.1.16.2.0 - February 1, 2016

ADDED

These messages can be useful to determine why ads may not be displaying.

  [OOPulse setLogListener:^(VPLogItem *incoming) {
    NSLog(@"Received Core Log Message: %@", [incoming description]);
  }];



Version 2.1.16.1.1 - January 18, 2016

CHANGED

  • Frameworks are now built with bitcode enabled.



Version 2.1.16.1.0 - January 13, 2016

FIXED

  • Sponsor ad variant is now properly parsed.



Version 2.1.15.24.1 - December 8, 2015

ADDED

  • Ad Variant field (VPAdVariant) is exposed and can be accessed through a VPAd object.



Version 2.1.15.24.0 - December 7, 2015

ADDED

  • A new high-level API has been added to greatly simplify integrating with Pulse.
  • The library now supports tvOS.

CHANGED

  • The framework has been renamed to Pulse. Update your code by replacing all occurrences of:

    #import <VideoplazaCore/VideoplazaCore.h>
    

    with:

    #import <Pulse/Pulse.h>
    



Version 2.0.15.23.0 - December 1, 2015

ADDED

  • The optional VAST element survey is available in VPAd.

CHANGED

  • VPTracker now emits a warning with error code VPCoreErrorAdNotReady if you try to track any event on an ad that is not ready.

FIXED

  • In some cases frequency capping time values were not parsed correctly.
  • Newline characters before and after third party tracking URLs are now removed when parsing.



Version 2.0.15.22.0 - November 9, 2015

ADDED

  • Added a method to track total time spent watching an ad.

CHANGED

  • Unsupported ads are now converted to inventory ads.
  • VPAd.hasPassback now returns NO if an ad is not ready.
  • VPTracker no longer emits a warning when you try to track a event that is not defined.
    Now, instead of doing this:
  if ([creative.trackingEvents hasEventWithType:VPTrackingEventCreativeMute]) {
    [tracker trackEvent:VPTrackingEventCreativeMute withTrackable:creative];
  }

you only need to do this:

  [tracker trackEvent:VPTrackingEventCreativeMute withTrackable:creative];

FIXED

  • Under some situations first party ads were marked as lazy even though they were not.
  • Prevent a crash on invalid impression URLs.
  • A problem with clickthrough tracking for first party Pulse ads.



Version 2.0.15.12.0 - August 12, 2015

This is the first release of the second generation iOS SDK.

It adds supports for passbacks, non-linear ad formats, session level clash protection and ad sequencing.