Player SDK for iOS and tvOS integration guidelines
The OpenTV Player SDK for FPS comes in two versions: iOS and tvOS, and is used for developing a secure player that supports playback of content encrypted with Apple's FairPlay Streaming (FPS). It includes a Swift class to enable playback based on the iOS/tvOS APIs.
OTVAVPlayer class extends the native
AVPlayer class and makes it easy to enable FPS playback. It extends all of the functionality of
AVPlayer, and because FPS is the native DRM, it can support HD and 4K playback.
This page provides an overview of the tasks needed to enable basic playback. For encrypted playback via FairPlay Streaming, please see Playback of FPS encrypted content.
- The latest version of Xcode.
- NAGRA's OpenTV FPS SDK for iOS or tvOS.
- A valid Player Licence.
- The 'basic playback' example code application. Please note, this example application is built for iOS only.
- A handheld device supporting iOS 11 or above, or an Apple TV supporting tvOS 11 and above.
iOS 13 Support
Multiple windows on iPadOS are not currently supported by the player. To disable this feature in the application layer, please leave the checkbox for multi-window support in project settings unchecked.
This is an encrypted licence that controls which player features and platforms are enabled based on your licence agreement. The player will not work without it.
There are two types of licence:
- Trial licence - a time-limited licence that can be downloaded to evaluate the player. It works with any bundle ID.
- Purchased licence - the licence that is provided once you have purchased the product. It only works with the bundle ID provided with the licence.
Loading the OTVSDK object with the licence token
Before any other operation, the
OTVSDK class must have one of its
load() methods called. Either:
- Ensure the
opy_licencefile is present in the application bundle and call the
- Call the
OTVSDK.load(licence:)passing the licence as a
Application Transport Security (ATS) settings
If you need to connect to non-HTTPS URLs, add Application Transport Security (ATS) settings to info.plist.
info.plist file and add an App Transport Security entry for your content (replacing www.example.com with the actual URL):
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>www.example.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict>