Release Notes: Mobile SDK for iOS v4.25.0

4.25.0 Released 05/24/17

New Features and Enhancements

  • Google IMA libraries have been updated to version 3.5.1 for the Core SDK.
  • User information is sent to our Analytics engine. This applies when OPT is set in an app. This resolves a known issue involving XDR (cross-device resume).
  • An issue has been fixed that made the build process fail for PulseSampleApp and TVOSSampleApp.
  • iOS Skin SDK now includes Japanese language support in skin.json.

4.24.0 Released 03/28/17

New Features and Enhancements

  • PCODE and EMBED values are sent to the Pulse backend to enable joint reporting of VideoTech and AdTech data.
  • The default volume for any video renderer should always be 1.

  • Ooyala Skin SDK updates:
    • Discovery is shown on the end screen if configured in skin.json and the Up Next widget does not appear.
    • Removed debugging statements. Fixed getTitle() in ErrorScreen.js to capitalize the error message title.
    • Title should not always be in upper case.
    • Updated to React Native version 0.35.0.
    • Added a fullscreen property to OOSkinViewController, allowing you to programmtically enable or disable fullscreen mode.

Resolved Issues

  • The pipDelegate property has been changed to a weak reference to avoid possible circular references that could lead to memory leaks.
Known Issues
  • XDR (cross-device resume) is not supported in this version.

4.23.0 Released 02/23/17

New Features and Enhancements

  • Added error codes to the OOOoyalaErrorCode that were in Android but not iOS.
  • Updated SDK to download analytics.js from the web server.
  • Added new configurations to OOIQConfiguration, which allows for customization of analytics source, domain, and endpoint.
  • Implemented support of IQ Domain/Traffic Source support. This does not require any customization, and will by default use the Domain used in the OoyalaPlayer implementation.
  • Added beta APIs to discover and select different audio tracks. See the API documentation for OOOoyalaPlayer for more detail on these APIs.
    Sample app updates:
    • Fixed an issue that was blocking PulseSampleApp from running.
  • Ooyala Skin SDK updates:
    • Added support for AccentColor in skin.json, which changes the color of several UI elements in the UI simultaneously.
    • Updated skin-config to skin-config version 119aeb4. Your skin.json should be compatible with the updated skin SDK, but if not it is likely due to skin-config differences.
    • Fixed error message handling to ensure the UI displays the correct error based on the failure.
    • Fixed error handling localization for some errors based on what is in the skin-config language files.
    • Fixed a memory leak with the SkinviewController.
    • Support controlBar.volumeControl.color on iOS to change volume tintColor.

Resolved Issues

  • Fix a memory leak within the OoyalaPlayer.

4.22.0 Released 01/25/17

New Features and Enhancements

  • The OoyalaPlayer now provides volume getter and setter methods. Note that these methods do not work for IMA or Freewheel ads, but do work for content and VAST and Ooyala ads.
  • Sample app updates:
    • Additional samples have been incorporated into the AdvancedPlaybackSampleApp, demonstrating how to retrieve video information using the CurrentItemChangedNotification.
  • Ooyala Skin SDK updates:
    • There was an issue in which the scrubber would appear erratically when seeking a live stream. This issue has been resolved.

Resolved Issues

  • There was an issue in which Ooyala ads would not play on assets encrypted with Fairplay DRM. This issue has been resolved.

4.21.0 Released 12/15/16

New Features and Enhancements

  • The Ooyala iOS SDK now provides users with the ability to download video assets so that they can be played offline. For more information, see Introduction to Offline Playback: Download to Own (DTO) and Rentals (DTR).
  • An OOPulsePlayerOptions class has been added to configure the showing or hiding of the Ad Title during ad playback.
  • The default Backlot Host has been changed to cdn-api from cdn.api to support ATS.
  • An IQConfiguration has been added to the umbrella header.
  • The PulsePlayerOptions class for the iOS Pulse Plugin has been added to the reference documentation.
  • The maxLinearBreakDuration option has been add it to the parameter lists for the iOS Pulse Plugin.
  • Sample app updates:
    • A Notification Handling player has been added. The new player sample represents all notifications can be monitored by listeners and handles some key events.
    • ATS has been enabled for the FreewheelSampleApp.
    • The sample apps have been updated with new language paths.
    • Download to Own (DTO) and Rentals (DTR) functionality has been added and is available in the Download To Own Sample Apps. For further instructions on how to use this capability, please refer to Offline Playback: Download to Own (DTO) and Rentals (DTR) for iOS.
    • An example of IQConfiguration usage has been added to the OptionsSampleApp.
    • The skin-config has been updated to skin-config@857608f. If your skin.json is incompatible with the latest SDKs, you must update your skin.json or validate against the skin-schema.
  • Ooyala Skin SDK updates:
    • There was an issue with the scrubber would jump during seek. This issue has been resolved.
    • Support for scrubberHandleColor and scrubberHandleBorderColor configurations has been added in skin.json.
    • Extended support has been added to the timeToShow configuration in skin.json, which allows support for percentages in timeToShow.
    • There was an issue in which the VAST Ad Overlay clickable area was larger than the image. This issue has been resolved.
    • There was an issue in which the Discovery ScrollView cut off the last discovery option. This issue has been resolved.
    • There was an issue in which the Play/Pause button would show the incorrect icon in the Control Bar. This issue has been resolved.
    • See Ooyala Player Skin for the latest documentation.

Resolved Issues

  • There was an issue with the scrubber would jump during seek. This issue has been resolved.
  • There was an issue in which ad playback would fail with seek to end events. This bug has been fixed.

4.20.0 Released 11/15/16

New Features and Enhancements

  • An OOIQConfiguration class has been added, which allows you to customize the player ID used in IQ Analytics. The default player ID is now ooyala ios player.
  • IQ Analytics now uses HTTPS network requests to support ATS.
  • A BitrateChangedNotification event has been added to the OoyalaPlayer header. This event existed previously, but the header constant is now publicly available.
  • An OOIMAConfiguration has been added to customize IMA integration. OOIMAConfiguration adds support for overriding the Locale setting for Google IMA.
  • An OoyalaIMASDK umbrella header has been added.
  • Additional UI classes are now available, and can be used for custom UI development.
  • Sample app updates:
    • Ooyala Pulse has been added to the TVOSSampleApp.
    • Sample code using localeOverride has been added to IMACustomConfiguredPlayerViewController.
    • Entitlement-related SecurePlayer assets now use the OPTPlayerViewController.
  • Ooyala Skin SDK updates:
    • There was an issue with the end screen when there was no promo image. This issue has been resolved.

Resolved Issues

  • There were issues with IQ Analytics reporting to Ooyala IQ. These issues have been resolved.
  • There was an issue in which the Ad Complete notification for Freewhell was not fired. This bug has been fixed.

4.19.0 Released 10/18/16

New Features and Enhancements

  • OoyalaPulseIntegration is now available on tvOS.
  • The tvOS SDK framework name has changed from OoyalaTVSDK.framework to OoyalaSDK.framework. This will require changes for all tvOS applications.
  • SSL connections are enabled by default for Adobe Heartbeat. To disable SSL connections, use the sslEnabled property in your OOAdobeHeartbeatConfiguration.
  • Closed captions will now resize based on player width. This includes resizing when switching between Landscape and Portrait views.
  • A disableVASTOoyalaAds option has been added to OOOptions. This new option disables the built-in VAST and Ooyala Ads manager.
  • Additional device information and a seek event are now available in IQ Analytics reporting.
  • A new OOSeekInfo class is available, which is passed in the UserInfo object duing SEEK_STARTED and SEEK_COMPLETED notifications.
  • Sample app updates:
    • A new PictureInPictureSampleApp is available.
    • ATS is enabled on all sample apps except the Freewheel, Skin, and Complete sample apps.
    • The Freewheel sample app now uses an HTTPS ad server.
    • The NPAWSampleApp demonstrates how to use HTTPS routes.
  • Ooyala Skin SDK updates:
    • Added support for scrubber bar colors in skin-config skin.json for both ads and content.
    • Added support for showAdMarquee and showControlBar from skin-config skin.json.
    • Replaced the deprecated ActivityIndicatorIOS with ActivityIndicator in React Native.
    • Added a Scaling factor to the Skin UI, resizing the closed captions based on player width.
    • A Desired State is now used for determining which icons to show in the UI over the playing state.
    • Default Player controls are now hidden initially. Support for autohide = false is now available in skin-config skin.json

Resolved Issues

  • There was an issue in which the Play button would display in the wrong state after preroll. This issue has been resolved.
  • There was an issue in which playing advertisements over AppleTV Airplay would not properly transition from pre-roll to video content. This issue has been resolved.
  • There was an issue in which the IMA midroll click functionality would be disabled while the video was preloading. This issue has been resolved.
  • There were issues with fucntionality for localization overrides for the Closed Captions menu in older versions of the user interface. This issue has been resolved.
  • There was a bug where the app would crash if the ad title was not specified in the VAST Ad. This bug has been fixed.

4.18.0 Released 09/20/16

New Features and Enhancements

  • Akamai HD2 HLS Delivery format is now supported on iOS SDKs.
  • The Mobile SDK for iOS now supports multiple analytics plugins.
  • It is now possible, after pausing, to swipe on a remote control to seek on tvOS.
  • The Mobile SDK for iOS now supports supports playback of downloaded (unbundled) assets, and offers new beta support for downloading and offline playback of clear HLS assets on iOS 10 devices.
  • The Mobile SDK for iOS now defaults to HTTP Player API routes for video information.
  • The Mobile SDK for iOS now uses analytics.js, IQ's JSON reporting SDK. We have switched from the Thrift Reporting SDK to the newer, JSON-based SDK.

Resolved Issues

  • There was an issue in which the ad player was not removed from the UI layout when content would change. This issue has been resolved.
  • There was an issue in which the UI would not properly update the number of displays and other metrics when replaying the same live asset. This issue has been resolved.
  • There was an issue in which an asset without a Pulse Ad would cause the player to crash if the Backlot account had Pulse enabled. This issue has been resolved.

4.17.0 Released 8/16/16

New Features and Enhancements

  • SecurePlayer has been updated to version 3.8.2.2 for the iOS SDK. If you are using SecurePlayer, you must update your SecurePlayer libraries to this version.
  • The Pulse Sample App has been updated to the latest version of the Ooyala Skin SDK.
  • The tvOS Sample App has been updated to the latest version of the tvOS Skin SDK.
  • The iOS SDK samples import <OoyalaSDK/OoyalaSDK.h> to import all Ooyala classes.
  • Ooyala now offers a new Analytics JSON API, Analytics.js, which requires the JavaScriptCore Framework in your apps. This framework has been added to all sample apps.
  • A progress bar has been added for tvOS.
  • Background support has been added for FCC captions.
  • A seek bar has been added to the end screen. You can set the actionAtEnd variable to one of the values in the OOOoyalaPlayerActionAtEnd enum. See the API documentation for more information.

Resolved Issues

  • There was an issue in which playback in IMA applications would start at the beginning of a DVR rather than the current point in the live stream. This issue has been resolved.
  • There was an issue in which duplicate symbol linker errors would occur when adding the OoyalaAdobeAnalyticsSDK.framework to a project. This issue has been resolved.
  • There was an issue with the OoyalaSkinSampleApp in which the video would not replay after tapping the replay button several times. This issue has been resolved.
  • There were compilation issues with the Secure and BasicPlayback Sample Apps. These issues have been resolved.
  • There was an issue with the Ooyala Skin SDK and integration with Pulse. When discovery was enabled (showUpNext = true in skin.json), after each midroll completion the discovery popup would be displayed, rather than displaying only after the main content had completed. This issue has been resolved.
  • There was an issue in the OoyalaSkinSampleApp in which the overlay would be clipped. This issue has been resolved.

4.16.0 Released 7/19/16

New Features and Enhancements

  • An experimental Picture In Picture API is now available in the Ooyala SDK, which now requires the AVKit.framework dependency linked to your application. Use of these APIs is on an as-is basis.
  • With the IMA SDK, the [oo_embedcode] macros in IMA ad tag URLs are now replaced with the current embed code.
  • Google IMA v3.2.1 is now supported
  • The Ooyala Mobile SDK for iOS now enforces a matching between the pcode in the application to the pcode of the playing video. If your pcode does not match, the video will fail to play. If this occurs, ensure you are using the correct pcode in your application. To bypass this behavior, you can invoke the OOOptions.bypassPcodeMatching() method if you are certain you are using the correct pcode
  • You can now import <OoyalaSDK/OoyalaSDK.h> to import all Ooyala classes.
  • The Ooyala Skin SDK now supports FCC styles from iOS Device Settings.

Resolved Issues

  • There was an issue in which closed captions did not properly render when there were metadata tags in the DFXP file. This issue has been resolved.
  • There was an issue in which video would crash if closed captions could not be retrieved. This issue has been resolved.

4.15.1 Released 6/28/16

New Features and Enhancements

  • With the IMA SDK, the [oo_embedcode] macros in IMA ad tags are now replaced with the embed code.

Resolved Issues

  • There was an issue in which closed captions did not properly render when there were metadata tags in the DFXP file. This issue has been resolved.

4.15.0 Released 6/22/16

New Features and Enhancements

  • The Adobe Marketing Cloud SDK for iOS is now included with the Ooyala Mobile SDK for IOS, and supports both video and ad analytics.

API Changes

  • The following events emitted from OOOoyalaPlayer have been added:
    • OOOoyalaPlayerAdStarted
    • OOOoyalaPlayerAdCompleted

Resolved Issues

  • There was an issue in which excessive logging would occur with Fairplay playback. This issue has been resolved.
  • There were issues related to seeking. These issues have been resolved.
  • There was an issue in which a single VAST ad having multiple linear creative tags would cause the player to crash instead of displaying only one preroll ad. This issue has been resolved.

4.14.0 Released 5/20/16

New Features and Enhancements

  • Performance monitoring utilities are now available. For an example, see the Advanced Playback Sample App.
  • The following changes have been made to the Vast Ads API:
    • The OOVastAdData, OOVastSequenceItem, and OOVastWrapperAd classes have been removed.
    • A number of Vast Ad classes have been added or modified. For more information, see the Mobile SDK for iOS API Reference.
  • VAST 3.0 Ad Overlays are now supported.
  • Support has been added for error reporting events in VAST 3.0.
  • Nielsen SDK support has been upgraded to 4.0.0.8.
  • iOS 9 Playback previously did not work unless you disabled the Enable Bitcode flag; this is no longer true. You can now set the Enable Bitcode flag to YES.

API Changes

  • The following events emitted from OOOoyalaPlayer have been added:
    • OOOoyalaPlayerAdOverlayNotification
    • OOOoyalaPlayerContentResumedAfterAdNotification
    • OOOoyalaPlayerSeekStartedNotification
  • An onAdOverlayClicked() method has been added to OOOoyalaPlayer.

Resolved Issues

  • There was an issue in which excessive logging would occur with Fairplay playback. This issue has been resolved.
  • There were issues related to seeking. These issues have been resolved.

Release 4.13.0 4/19/16

New Features and Enhancements

  • FairPlay HLS simple VOD playback and Airplay support.
  • Ooyala Pulse integration with Ooyala Player.
  • VMAP for VAST 3.0.
  • Error reporting for VAST 3.0.
  • Pre-personalization in SecurePlayer, which can be used outside of the VisualOn PlayReady workflow to eliminate the time delay from playback requests.
  • DesiredStates and DesiredStateNotification APIs have been added in order to capture the intended playback state of the player.
  • Widevine Classic is no longer supported, which means that .wvm, .wv_mp4, and .wv_hls files will no longer be supported.
  • Google IMA v3.1.0 is now supported.

Resolved Issues

  • There was an issue in which the OOOoyalaPlayerControlType enum was defined within the OOOoyalaPlayerViewController interface. This issue has been resolved, and the OOOoyalaPlayerControlType enum remains globally available.
  • There was an issue in which OoyalaPlayer would unnecessarily re-authorize playback for OPT-enabled assets and increasing load time. This issue has been resolved.
  • There was an issue in which the scrubber bar would overwrap the iOS status bar in fullscreen mode. This issue has been resolved.

Release 4.12.0 Released 3/16/16

New Features and Enhancements

  • The Mobile SDK for iOS now provides support for the following types of VAST 3.0 ads:
    • Ads with Icons
    • Skippable Ads
    • Podded Ads with Sequence
  • The default CC On/Off button color has been changed to blue, and is now configurable.

Resolved Issues

  • There was an issue in which Up Next did not provide descriptions of upcoming videos. This issue has been resolved.
  • There was an issue in which Freewheel ads and their controls were not properly rendered with the Ooyala player skin. This issue has been resolved.
  • There was an issue in which cue points did not display for all assets and ads would not play. This issue has been resolved.
Known Issues
  • In the new Skin SDK, Up Next does not display the title or description on small playback screens.

Release 4.11.0 Released 2/16/16

Resolved Issues

  • There was an issue in which the sharing a link on Facebook or Twitter from fullscreen mode failed to produce a popup to post the link. This issue has been resolved.
  • In the new Skin SDK, there was an issue in which IMA ads occasionally would not play. This issue has been resolved.
  • In the new Skin SDK, there was an issue in which the controls would become unresponsive in fullscreen mode after rotating the device twice. This issue has been resolved.
Known Issues
  • In the new Skin SDK, there is an issue in which the Up Next message may overlap with the Play button.

Release 4.10.0 Released 1/19/16

New Features and Enhancements

The following new features and enhancements are included in this release:
  • Added AirPlay support in OoyalaPlayer.
  • Updated FreeWheel support for version 6.5.
Resolved Issues
  • When a sender app would disconnect implicitly (e.g. the sender device battery dies, the sender device Wi-Fi network drops), it would remove the Chromecast controls and notifications from the sender device. This issue has been resolved, and the sender app now keeps track of implicit disconnections and attempt to reconnect to a receiver when the sender app is reopened.
  • There was an issue in which build errors would occur when importing OOUIProgressSliderIOS7.h. To resolve this issue, use this import statement instead:
    #import <OoyalaSDK/OOUIProgressSliderIOS7.h>

Release 4.9.0 Released 12/23/15

Bug Fixes

This release includes the fix for a bug where Live Streams sometimes would not show Live UI elements.

Release 4.8.0 Released 12/07/15

New Features and Enhancements

The following new features and enhancements are included in this release:
  • OOUIProgressSliderModeElapsedDuration has been added as a sliderMode for UI.

Release 4.7.0 Released 11/16/15

New Features and Enhancements

The following new features and enhancements are included in this release:
  • This release updates the Youbora Framework.
  • This release adds OOOoyalaPlayerEmbedCodeSetNotification to OoyalaPlayer.

Resolved Issues

This release includes the following fixes:
  • This release adds more useful descriptions to some playback error messages.
  • This release fixes an issue involving some VAST Wrapper ads that would cause crashes when played.

Release 4.6.0 Released 10/21/15

New Features and Enhancements
  • This release updates the Google IMA integration package to display the Google IMA version in the VERSION file.
  • This release updates SecurePlayer in the iOS SDK to version 3.4.5.1.

Resolved Issues

This release includes the following fixes:
  • In order to resolve 200+ DSYM warnings, this release now sets "Enable Modules (C and Objective C)" to disabled on all frameworks.
  • This release makes major changes to key-value observation pairs within the Core SDK.
  • This release fixes an issue where the "Learn More" button did not show when a VAST ad was inserted.
  • This release fixes an issue where closed captions were not always showing up.

Release 4.5.0 Released 9/30/15

New Features and Enhancements
  • Mobile SDK for iOS version 4.5.0 and higher is certified for iOS 9.
  • The Mobile SDK for iOS, available on the Ooyala API Documentation Portal, now includes the Cast, Freewheel, and IMA SDKs.
  • A hostedAtURL property was added to the OOContentItem class. See Mobile SDK for iOS for more information.
  • A vttCaptions property was added to the OOClosedCaptions class to support fully-qualified locale names for supported caption languages. See Mobile SDK for iOS for more information.
  • iOS 9 Playback does not work unless you disable App Transport Security. To maintain playback on iOS 9 devices, disable App Transport Security.
  • iOS9 now supports Admob and Google IMA version 3.0.b16.

Resolved Issues

This release includes the following fixes:
  • There was an issue in which a user would watch a video and click the home button. When resuming video playback, an intermittent error would occur in which the user would have to re-start the video. This issue has been resolved.
  • There was an issue in which the Ooyala SDK was incompatible with openSSL tools. This issue has been resolved.
  • There was an issue with fixed ad impression tracking with multiple ads in a single VAST ad response, which could result in tracking more impressions than actually displayed. This issue has been resolved.
  • There was an issue in which videos with closed captions would only play properly if they were the first video to be played within a given application session. This issue has been resolved.

Release 4.4.1 Released 9/2/15

New Features and Enhancements
  • A destroy() method has been added to the OOOoyalaPlayer class. When the destroy() method is called, the OOOoyalaPlayer object's resources are disposed and all playing ads and content are stopped. Apps using the OOOoyalaPlayerViewController do not need to call the destroy() method explicitly.

Resolved Issues

This release includes the following fixes:
  • An issue where the user could not resume Widevine content protection after ad playback is now resolved.
  • An issue where the user could not resume Widevine content protection after screen unlock is now resolved.
  • An issue where FreeWheel ads kept playing in the background when the home button was tapped is now resolved.

Release 4.4.0 Released 8/21/15

New Features and Enhancements
  • The IMA Ad Manager initialization API has been changed from initWithOoyalaPlayerViewController: to initWithOoyalaPlayer:.

Resolved Issues

This release includes the following fixes:
  • An issue where the user would switch to fullscreen mode in landscape mode, then change orientation to portrait, and the player's control bar would overlap device's status bar is now resolved.
  • An issue where the user could only dismiss controls by tapping video after switching to fullscreen has been fixed and the controls will slide off the screen after 5-10 seconds without user intervention.
  • An issue where after a mid-roll ad was completed, the video would start again but the mid-roll ad cuepoint would still be visible on the scrubber bar is now resolved.

Release 4.3.1 Released 7/15/15

Resolved Issues

  • An issue where Google IMA ads sometimes played when the back button was activated is now resolved.
  • An issue where an ad fail event would end video playback is now resolved.
  • An issue where failure to release resources caused apps to crash is now resolved.

Release 4.3.0 Released 6/24/15

New Features and Enhancements

This release includes the following new features and enhancements:

  • A take down service has been added to stop playback of unauthorized videos.

Resolved Issues

  • This release fixes an issue in IMA where a video not would not play when the adSetCode was not assigned to it.
  • This release fixes an issue in IMA where an audio played in the background after clicking the back button.
  • This release fixes an issue in which the player would repeatedly transition between the loading and ready states.
  • This release fixes an issue in which the player would crash when playing assets with close captions.

Known Issues

  • FreeWheel automatically skips ads when user has paused the ad for longer than 5-7s. Video content automatically resumes. This is as designed and will not be fixed.

Release 4.2.0 Released 5/27/15

New Features and Enhancements

This release includes the following new features and enhancements:

  • This release includes support for the NPAW for Youbora Integration. For more information, see the topic New Ooyala QoS Solution powered by NPAW's YOUBORA Analytics in the general release notes.
  • The OoyalaPlayer.basePlayer class and all associated methods are no longer supported.
  • The SDK is enhanced to improve transitions between all types of advertisements and content.
  • The Secure Player libraries are updated to version 03_03_00_0855.

Fixes

This release fixes an issue where the Learn More and Skip Ads buttons sometimes did not work correctly when the preloadContent option was disabled.

Release 4.1.1 Released 5/11/15

Fixes

An issue with Widevine video playback where the video would stall on a playback resume event (playWithInitialTime), is now resolved.

Released 5/1/15

Updates and Enhancements

The following updates and enhancements are included in this release:

The API is updated to allow the Closed Captions methods to be more easily modified. The following two properties are moved from OOOoyalaPlayer to OOOoyalaPlayerViewController:

  • closedCaptionsLanguage
  • OOClosedCaptionsStyle

Fixes

The following issues are resolved in this release:

  • The player crashed when Widevine streams were played using encrypted loopback.
  • The player had intermittent scrubber issues with Widevine mid-roll ads using AirPlay.
  • All ad types had intermittent playback issues using Playready HLS.
  • FreeWheel VideoView events fired during pre-rolls ads instead of on content start.
  • The scrubber did not work during a replay of PlayReady HLS content.

Release 4.0.1 Released 4/15

Updates and Enhancements

The following updates and enhancements are included in this release:

  • Ooyala provides support for PlayReady HLS to meet the content protection requirements for high-quality content on Android and iOS devices. This support includes the following comprehensive content protection features that work together to secure content:

    • Content Authorization through the PlayReady integration
    • User Authentication using the Ooyala Secure Player Token
      Note: For information about setting up and using this feature, see Ooyala Player Token.
    • Authorization APIs to manage authorization requests
      Note: For more information about the Authorization API see Player Authorization API for Player V3.

Release 4.0.0 Released 4/2/15

Updates and Enhancements

The following updates and enhancements are included in this release:

  • The Ooyala Mobile SDK for iOS Sample Apps GitHub repository is now live. Use this portal to get the most up to date sample apps. For more information see Sample Applications for the iOS Mobile SDK.
    Note: The Omniture sample app is not included in this repository. For details about Omniture see Integration with Omniture on iOS.
  • A sample app for the Apple Watch is now available in the Ooyala Mobile SDK for iOS Sample Apps GitHub repository.
  • The OOOoyalaPlayerViewController API is changed. As of this release you must instantiate the OOOoyalaPlayer and use this player to create the OOOPlayerViewController. This is shown in the following example code:
    OOOoyalaPlayer *player = [[OOOoyalaPlayer alloc] pcode:PCODE domain:domain];
    OOOoyalaPlayerViewController *controller = [[OOOoyalaPlayerViewController alloc] initWithPlayer:player];
  • To improve SDK update and integration tasks the iOS SDK is updated to use static frameworks and static libraries are deprecated. This change includes the core SDK and Freewheel, IMA, and other integrations.

    To update apps for this release removed all OoyalaSDK.a and header references and use the OoyalaSDK.framework reference and change all header references to framework references. For example:

    Replace:

    #import "OOPlayerDomain.h"

    With:

    #import <OoyalaSDK/OOPlayerDomain.h> 
  • The Custom Controls folder content is updated to removed legacy and unneeded files and add the following missing files:
    • OOClosedCaptionsSelectorBackgroundViewController
    • OOClosedCaptionsSelectorViewController

    For more information see About Custom Controls for iOS.

  • Support for in app rendering of clickthrough ads is now available.

Resolved Issues

The following issues are resolved in this release:

  • FreeWheel integrated apps would show a blank screen at a cuepoint event if no ad was available.
  • Google IMA ads were not working on iOS apps.
  • The video time and content were not in sync after a seek event.
  • A seek event would cause the app to crash on live streams.
  • Video overlapped the text in a Google IMA ad.
  • Google IMA ad ended events were failing.

Release 3.5.0 Release Date 3/15

Resolved Issues

The following issues are resolved in this release:

  • FreeWheel mid-roll ads continued to play even after playback was paused and the device was locked and unlocked.
  • Initialize OoyalaPlayer with AdSetCode did not work.
  • Apps were crashing in iOS 7 because HideControls action fired after player was deallocated.
  • The VisualOn Stream Player crashed when an invalid URL was asserted.
  • Non ad rule IMA ads and content played at the same time when preLoadContent was set to false.
  • Seeking to the end of a mid-roll IMA ad caused interrupted content playback.
  • Seeking to the end of content, with only mid-roll IMA ads, froze playback.

Known Issues

When seeking to a playhead time where an ad should be played, before a playback start event, the ad starts automatically.

Release 3.4.0 Release Date 2/15

Updates and Enhancements

  • API reference documentation is now available online: iOS Mobile SDK API Documentation.
  • iOS 6 is no longer supported. The SDK is now confirmed to support iOS 7 and newer devices.
  • Live Scrubber is now configurable in the app. The scrubber can be turned on and off within the OOOoption configuration. The default setting is to show the live scrubber.
  • Google IMA learn more ads are now configurable to open in Safari, ads open in the native app as a default.
  • Cuepoints now appear on Google IMA ads by default. For information about configuring cuepoints, see Cuepoint Markers.

Resolved Issues

  • An issue where network requests would stall without a timeout implemented is now resolved.
  • An issue where Widevine enabled videos could not be played in the same browser more than one time is now resolved.

Known Issues

Google IMA Ad playback requires cuepoints are initialized for all pre-roll, mid-roll, and post-roll ads.

Release 3.3.0 Release Date 1/15

Updates and Enhancements

  • The SDK API documentation in now found in the SDK APIDocs directory and the SDK release notes are included in the readme.txt file.
  • The SDK is enhanced to improve load time for pre-roll ads. Options are now available for preload and promoimage.

Resolved Issues

The following issues are resolved in this release:

Post-roll ads did not play properly on AirPlay.

Known Issues

Please review the following known issues:

Google IMA : If a user seeks to the end of a video while there is an available mid-roll ad, the mid-roll ad will play audio only before the video content completes.

Release 3.2.0 Release Date 11/14

Updates and Enhancements

This release includes the following updates and enhancements:

  • The Getting Started sample app is updated for the ARM64 architecture.

  • The PlayAd method is now exposed to allow dynamic ad insertion during playback. For more information contact your CSM.

  • Player controls are now configurable for all ads, including Google IMA ads.

  • Freewheel ads cue points are now configurable.

  • The iOS Mobile SDK is updated to support the Freewheel 5.18 libraries.

Resolved Issues

The following issues are resolved in this release:

  • Post-roll ads did not play properly on AirPlay.

  • The video gravity could not be changed for ads.

  • Freewheel ad overlays appeared but did not persist as expected.

  • Post-roll ads did not play properly after the app was closed and restarted.

  • Google IMA SDK poddable ads sometimes did not play properly after a device lock event during a previous ad.

  • Google IMA SDK ads did not play in the proper sequence after a seek event.

  • Video casting display presented unexpected behavior on Chromecast after wireless connectivity stalled or failed.

  • Files were missing from the SDK DefaultControlSource folder.

Known Issues

Please review the following known issues:

  • Google IMA SDK assets continue to play on iOS 8 devices after the app is closed.

  • Google IMA SDK asset audio (no video) continues to play on iOS 8.1 devices after the scrubber is pushed to the end.

  • Freewheel ads are sometimes distorted in landscape mode.

Notable Changes in Version 3.1.0 Release Date 10/14

This release includes the following updates and enhancements:

  • This release includes support for armv7s architecture in the SDK library.
  • Spanish and Japanese language prompts are now available for FreeWheel pre-roll and mid-roll ad prompts.
  • The SDK libraries now support ARM64 architectures.
  • armv7s architecture support was not included in the SDK library.

Full Release Notes for Version 3.1.0

Updates and Enhancements

This release includes the following updates and enhancements:

  • This release includes support for armv7s architecture in the SDK library.
  • Spanish language prompts are now available for FreeWheel pre-roll and mid-roll ad prompts.
  • Japanese language prompts are now supported for FreeWheel pre-roll and mid-roll ad prompts.
  • The SDK libraries now support ARM64 architectures.
  • The Google IMA SDK sample app is updated.

Resolved Issues

This release resolves the following issues:

  • armv7s architecture support was not included in the SDK library.
  • When Rotating from landscape to portrait and calling [setFullscreen:NO] during an advertisement, the Learn More button sometimes disappears.
  • The Learn More button sometimes disappears after any device orientation change.
  • Google IMA SDK pre-roll, mid-roll, and post podded ads are not played when expected and the ad images do not appear correctly.
  • Airplay playback is paused when the device is locked.
  • Asset audio continues to play after the app Back button is activated.
  • The asset progress bar continued to appear in fullscreen mode for live assets.
  • FreeWheel mid-roll ads not playing properly.
  • Analytics are not accurate for plays from iOS devices.

Known Issues

  • Intermittent crashes may occur when users initiate AirPlay playback on iOS 8.0.x devices. This only occurs when a device lock code is used for AirPlay. To work around this issue restart the app to resume video playback.
  • An issue with the Default CustomControls package prevents use of custom controls with this release.

Full Release Notes for Version 3.0.1

Resolved Issues

The following issues are resolved for Version 3.0.1:

  • The Learn More button rendered in the middle of the player, or duplicate Learn More buttons appeared.
  • Google IMA mid-roll ads did not play when the user forwarded the video using the scrubber.
  • Asset resume did not occur after a Freewheel mid-roll ad played.
  • Freewheel ads resume playback automatically, when the application is unlocked or resumed.
  • Console logs file are generated multiple times for the duration of the playing video content.
  • Video audio continued to play when the asset was dismissed via “Back” button navigation.

Known Issues

  • In some cases, when the user clicks the Learn More button in horizontal orientation, and then returns to the video, the video is presented in portrait mode. This affects Freewheel Ads only.
  • In some cases, when the user is watching a Freewheel served ad with the “Learn More” button in Landscape mode and switches to portrait mode, the “Learn More” disappears temporarily until the user changes the device orientation again.
  • The "Learn More" button is not clickable on Google IMA Ads due to a bug with Google IMA SDK.

Notable Changes in Version 3.0.0

Version 3.0.0 of the Ooyala Mobile SDK for Android includes the following notable changes:

Cue Point Markers

Cue points are visual markers that enable an end user to predict ad or segment breaks. This feature is enabled by default and compatible with iOS 6 and newer devices. This feature is active by default upon upgrading to Ooyala SDK v3.0, however the Ooyala Freewheel Integration libraries must also be updated. Get the updated Ooyala SDK for FreeWheel iOS here: Ooyala Downloads

FCC TV Ratings Per the FCC guidelines for TV ratings, you can now apply the TV rating watermark to your videos. TV ratings are applied at the asset level, and each asset can only have one TV rating. The TV rating watermark appears when the video starts playing and appears again when the video resumes after ad playback. This feature is compatible with Android 2.3 and newer devices.
Note: The TV Rating watermark does not appear during ad playback.

For details about this features see Working with FCC Ratings for iOS.

Seek Over Ad Pods (SOAP) For Freewheel

The new Seek Over Ad Pods (SOAP) feature provides new functionality to play ads in queued sequence even when the user seeks past an ad in the player. When the user skips over an ad, the ad is not left behind it played at the next ad spot. This feature is active by default upon upgrading to Ooyala SDK v3.0, however the Ooyala Freewheel Integration libraries must also be updated. Get the updated Ooyala SDK for FreeWheel iOS here: Ooyala SDK for FreeWheel iOS

Note: The sample apps included in the FreeWheel SDK show examples of the new SOAP functionality.

Full Release Notes Version 3.0.0

Resolved Issues

The following issues are resolved for Version 3.0.0:

  • Pre-roll ads did not appear in landscape view mode.
  • Playback crashed for some advertisements in Apple TV mode, using iOS 8.

Notable Changes in Version 2.7.1

The Ooyala mobile SDK for iOS is ready for iOS8! We are releasing an update to our SDK in advance of Apple’s September 17th go-live date so that all our customers will be able to support the new operating system.

The GA Ooyala mobile SDK for iOS is located on Ooyala Downloads. We recommend that all customers download and update their Ooyala mobile SDK for iOS to the GA version.

Please consider the following recommendations:
  • Please upgrade your apps with the latest iOS SDK and submit the apps to the Apple App Store.
  • Please report any playback issues to Ooyala Technical Support.
  • If you are using advertisements in your iOS app, apply the Ooyala updates before the Apple GA timeline to avoid advertising issues in production when end users download the iOS 8 GA version on their devices.

Full Release Notes for Version 2.7.1

Bug Fixes

The following issues, found in the beta release of the Ooyala mobile SDK for iOS v.2.7.1, are now resolved:
  • A consistency issue where external playback is not indicated when AirPlay is being used, is now resolved.
  • An issue where the player would return to full screen view when set to modal view is now resolved.
  • An issue where the Univision app crashed in full screen mode when the display was rotated, is now resolved.
  • An issue where Apps crashed for VAST ads is now resolved
  • An issue where video did not resume from mid-roll ads (VAST, IMA, Freewheel) is now resolved.
  • An issue where Apps crashed when trying to play an IMA Wrapper Ad is now resolved.
  • An issue where IMA ad timing was 10x slower than expected and caused delayed content replay, is now resolved.
  • An issue where Apps took a long time to load IMA Skip Ads, and after loading completed, the skip ad did not play, is now resolved.
  • An issue where Closed Caption view buttons did not work on the iPad simulator, for Widevine encrypted videos, is now resolved.
Note: If you are using Google IMA Ads in your iOS app, please download the latest Google IMA iOS SDK: IMA iOS SDK

For information about integration with Google IMA, see Integration with Google IMA on iOS.

Known Issues

The following items are known issues with the existing iOS SDK release. These items will be addressed in a future release:
  • Initial time playback and seek for Airplay playback.
  • Cannot seek when video is paused.
  • Video playback crashes intermittently after passcode is prompted during Airplay (dependent on AppleTV fixing Airplay issues on iOS8 devices).

Notable Changes in Version 2.7.0

Version 2.7.0 of the Ooyala Mobile SDK for iOS has been released. A notable change in version 2.7.0 is the bug fix for graphical issues with closed captions styling for iPad.

Full Release Notes for Version 2.7.0

Bug Fixes

Fixed graphical issues with closed captions styling on iPad.

Version 2.6.1

Notable Changes in Version 2.6.1

Version 2.6.1 of the Ooyala Mobile SDK for iOS has been released. A notable change in version 2.6.1 is the removal of the requirement of the AdSupport.framework from the Ooyala SDK. This update fixes a bug from version 2.5.0 and version 2.6.0 where applications that did not present any advertisements could be rejected from the app store due to the requirement of AdSupport.framework.

Full Release Notes for Version 2.6.1

  • Removed requirement of AdSupport.framework from the Ooyala SDK. Developers that use [LR_DEVICEID] must query the IDFA from their application [OOVASTUtils setAdvertisingId].
  • Disabled the Roll-up and Paint-on closed caption style on iOS.
  • Added “FullscreenDoneClicked” notification from OOOoyalaPlayerViewController.
  • Added “imaAdClicked” notification from OOIMAAdManager.

Version 2.6.0

Notable Changes in Version 2.6.0

Version 2.6.0 of the Ooyala Mobile SDK for iOS has been released. Version 2.6.0 includes the removal of the Google IMA libraries from our distribution (they now must be downloaded from Google directly), as well as other enhancements and bug fixes.

Full Release Notes for Version 2.6.0

API Changes
  • Ooyala no longer provides Google IMA libraries alongside our integration. Please download these libraries from Google IMA directly.
  • Made DebugMode.h public, so you can disable Ooyala SDK logging if desired.
  • We have transitioned to a newer packaging script. If there is anything missing from an SDK package, please file an issue with Technical Support.
  • Added support of the hh:mm:ss:ff timestamp format for Closed Captions.
Bug Fixes
  • Fixed Widevine Playback resuming when authorization heartbeats are disabled.
  • Fixed a bug in which the current item duration was not available on Current Item Changed Notification.
  • Fixed the volume scrubber UI for iOS7.1.

Freewheel - IMA Bug fixes

  • Verified integration with Freewheel version 5.15.
  • Fixed Freewheel Ad Player skipping ad after pausing.
  • Fixed Freewheel Ad Player when fast forwarding through ad spots.
  • Fixed Freewheel Ad Player when invalid ad would crash application.
Documentation Changes
  • Mobile SDK v.2.6.0 for iOS—Updated iOS SDK documentation for version 2.6.0.
  • Integration with Google IMA on iOS—Updated “What You Need” section of the documentation about integration with Google IMA on iOS. You now need to download the Google IMA Libraries from the Google Developer website.

Version 2.5.0

Notable Changes in Version 2.5.0

Version 2.5.0 of the Ooyala Mobile SDK for iOS has been released. Version 2.5.0 includes bug fixes around Closed Captions and Airplay support. 2.5.0 also includes changes to VAST advertisement functionality, and will require linking your application with AdSupport.framework.

Full Release Notes for Version 2.5.0

API Changes
  • Implemented the [LR_DEVICEID] 'macro' expansion in VAST URLs to allow for ad playback via LiveRail in mobile apps. Requires linking your application with AdSupport.framework.
  • Added OODebugMode to customize logs.
  • Added bitrate change notification for HLS playback.
Bug Fixes
  • Stopped use of the pop-over CC menu on iPads.
  • The CC button is not allowed to show during ads.
  • Fixed a bug where closed captions could be obstructed by video playback.
  • Fixed enable/disable AirPlay to ensure that both audio and video are ‘AirPlayed’.
  • Fixed popover when switching between inline/fullscreen.
  • Fixed crash when calling OoyalaPlayer stop.
  • freewheelplayer play will be called twice in the mid-roll scenario and the timer won't get invalidated and cause a leak. This change addresses a bug that would cause the app to crash when a FreeWheel mid-roll ad was playing.
  • Made changes to Analytics reporting to increase accuracy.
  • Fixed FreeWheel ad error by timing out after 5 seconds if playback fails.

Version 2.4.0

Notable Changes in Version 2.4.0

Note: These changes may require you to update your integration.

Version 2.4.0 of the Ooyala Mobile SDK for iOS has been released. Version 2.4.0 includes:

  • Major Changes to Closed Captions UI and Closed Captions API.
  • To comply with FCC Regulation, we require the inclusion of QuartzCore.framework and MediaAccessibility.framework. You may mark MediaAccessibilty.framework as optional.
  • A new OOPlayerDomain class that must be used for all instances of OOOoyalaPlayerViewController.
  • The domain you provide to the PlayerDomain class now must begin with http:// to match domain analytics ingestion.

Full Release Notes for Version 2.4.0

API Changes
  • Extracted 'player domain' as a concrete type and put validation enforcement in there, and updated APIs using such. Fixed up sample projects to use OOPlayerDomain.
  • Now throw an uncaught exception if domain string looks bad.
  • Pass all available resolutions to iOS devices, as opposed to filtering.
  • Added setControlsViewControllers method.
  • Added setLiveScrubberShowing method.
  • Major Closed Captions UI Updates to adhere to FCC regulations. Make sure QuartzCore.framework, and MediaAccessibility.framework ('optional') are included in your applications.
Freewheel/IMA Bug fixes
  • Fixed the bad-ad-infinite-loop when Freewheel returns an actual error via FW_NOTIFICATION_REQUEST_COMPLETE.
  • Fix for view frame sizing when fullscreen for both iOS6 and iOS7.
  • Fixed IMA post-roll for iOS.
  • Now pass current item duration into Freewheel instead of Stream Player duration.
  • Now avoid adjusting the Learn More UI for Google IMA ads.
  • Attempt to fix race where FW comes back before we've set up our player as delegate.
Other Changes
  • Updated Adobe Pass SDK to 1.7.6.
  • Renamed JSONKit category methods to avoid name collisions with other categories.
  • Added support for x86_64 as a valid architecture.
  • Removed iOS 4.3-specific code.
  • Fixed memory leak with Ooyala Player/Closed Captions View Controllers.
Documentation Changes
  • Removed reference to FreeWheel libraries folder. It no longer exists.
  • Changed description of FreeWheel Headers file indicating it is an Ooyala file not a FreeWheel file.

Version 2.1.0

Notable Changes in Version 2.1.0

Version 2.1.0 of the Ooyala Mobile SDK for iOS has been released. Version 2.1.0 includes:
  • Support for Ooyala's Cross-device Resume (XDR): the ability for a viewer to stop viewing on one device and resume on a different one.
  • Support for Apple iOS7 user interface improvements.
  • Customer-reported and unreported optimizations and bug fixes.

Note: In this SDK with version 2.1.0, the BaseMoviePlayer class been renamed BaseStreamPlayer.

Was this article helpful?