Skip to main content

Player Type Reference

LuraMediaFormat​

FieldValue
VOD"VOD"
LIFE"LIFE"

LuraPlayerConfiguration​

FieldType
nameString
luraLura
controlsLuraControl
contentLuraContent
pluginsLuraPlugins
castLuraCastConfiguration
adsLuraAdsConfiguration
analyticsLuraAnalyticsConfiguration
offlineLuraOfflineConfiguration
public struct LuraPlayerConfiguration: Codable {
public var name: String?
public var controls: LuraControl?
public var content: LuraContent?
public var lura: Lura?
public var plugins : LuraPlugins?
public var cast : LuraCastConfiguration?
public var ads : LuraAdsConfiguration?
public var analytics : LuraAnalyticsConfiguration?
#if os(iOS)
public var offline : LuraOfflineConfiguration?
#endif
}

Lura​

ParameterTypeDescription
appKeyStringLura configuration app key
assetIdStringLura asset id
tokenStringLura token
public struct Lura: Codable {
public var appKey: String?
public var assetId: String?
public var token: String?
}

LuraAnalyticsConfiguration​

ParameterTypeDescription
enabledBool?Enables or disables analytics collection and transmission
hostString?HTTPS analytics server endpoint provided by NXS
apiKeyString?API key used to authenticate analytics requests
periodInt?Sending period for the analytics payload in seconds. Defaults to 10
appLuraAnalyticsAppConfiguration?Application metadata to include with analytics payloads
sessionLuraAnalyticsSessionConfiguration?Session metadata to include with analytics payloads
public struct LuraAnalyticsConfiguration: Codable {
public var enabled: Bool?
public var host: String?
public var apiKey: String?
public var period: Int?
public var app: LuraAnalyticsAppConfiguration?
public var session: LuraAnalyticsSessionConfiguration?
}

LuraAnalyticsAppConfiguration​

ParameterTypeDescription
idString?Unique application identifier, such as a package name or bundle ID
nameString?User-facing application name
versionString?Application version
public struct LuraAnalyticsAppConfiguration: Codable {
public var id: String?
public var name: String?
public var version: String?
}

LuraAnalyticsSessionConfiguration​

ParameterTypeDescription
dataString?Additional session-specific data. Do not include sensitive data
userIdString?User identifier associated with the session, such as a UUID when available
public struct LuraAnalyticsSessionConfiguration: Codable {
public var data: String?
public var userId: String?
}

LuraControl​

ParameterTypeDescription
autoplayBooleanIs autoplay enabled
enabledBooleanIs controls enabled
mutedBooleanIs muted
volumeDoubleVolume value
loopBooleanIs loop enabled
sharingLuraControlsSharingConfigurationSharing configuration

public struct LuraControl: Codable {
public var enabled: Bool?
public var autoplay: Bool?
public var muted: Bool?
public var volume: Double?
public var loop: Bool?
public var sharing: LuraControlsSharingConfiguration?
}

LuraControlsSharingConfiguration​

ParameterTypeDescription
urlStringURL to create the sharing link.
descriptionStringDescription for social sharing.
posterUrlStringPoster URL for social sharing.
socialsLuraControlsSharingSocialSocial sharing platforms to enable.
public struct LuraControlsSharingConfiguration: Codable {
public var url: String?
public var description: String?
public var posterUrl: String?
public var socials: [LuraControlsSharingSocial]?
}

LuraControlsSharingSocial​

FieldValue
facebook"facebook"
whatsapp"whatsapp"
x"x"
pinterest"pinterest"
reddit"reddit"
tumblr"tumblr"
public enum LuraControlsSharingSocial: String, Codable {
case facebook = "facebook"
case whatsapp = "whatsapp"
case x = "x"
case pinterest = "pinterest"
case reddit = "reddit"
case tumblr = "tumblr"
}

LuraContent​

ParameterTypeDescription
media[LuraMedia]List of medias for content
clientCertificateCodableClient Certificate
preferredDRMSystems[String]Preferred DRM sustems
idStringContent id
titleStringContent title
startAtDoubleContent starting point (in seconds)
descriptionString?Content description
languageString?Language
typeStringVideo type
annotationsAnnotationAnnotations
captionsLuraCaptionsCaption configuration
dvrDvrConfiguration?DVR configuration for Restart TV
public struct LuraContent: Codable {
public var media: [LuraMedia]?
public var clientCertificates: ClientCertificate?
public var annotations: [Annotation]?
public var title: String?
public var description: String?
public var preferredDrmSystems: [String]?
public var type: String?
public var language: String?
public var startAt: Double?
public var captions: LuraCaptions?
public var dvr: DvrConfiguration?
}

LuraCaptions​

ParameterTypeDescription
enabledBool?Disables captions when set to false.
public struct LuraCaptions: Codable {
public var enabled: Bool?
}

DvrConfiguration​

ParameterTypeDescription
enabledBoolEnables DVR handling for live playback
modeStringevent uses Akta event metadata. window uses a sliding lookback window.
availabilityWindowDouble?DVR window duration in seconds. Used when mode is window.
public struct DvrConfiguration: Codable {
public var enabled: Bool?
public var mode: String?
public var availabilityWindow: Double?
}

ClientCertificate​

ParameterTypeDescription
fairplayFairplayFairplay
public struct ClientCertificate: Codable {
var fairplay: Fairplay?
}

Fairplay​

ParameterTypeDescription
dataStringFairplay data
urlStringFairplay url
public struct Fairplay: Codable {
var data: String?
var url: URL?
}

LuraOfflineConfiguration​

ParameterTypeDescription
resolutionLuraOfflineVideoResolutionResolution of video rendition
public struct LuraOfflineConfiguration : Codable {
public var resolution : LuraOfflineVideoResolution = .hd
}

LuraCastConfiguration​

ParameterType
chromecastLuraCastConfiguration
airplayLuraAirplayConfiguration
public struct LuraCastConfiguration : Codable {
var chromecast : LuraChromecastConfiguration?
var airplay : LuraAirplayConfiguration?
}

LuraChromecastConfiguration​

ParameterTypeDescription
enabledBooleanList of medias for content
appIdStringChromecast App id
public struct LuraChromecastConfiguration : Codable {
var enabled : Bool?
var appId : String?
}

LuraAirplayConfiguration​

ParameterTypeDescription
enabledBooleanList of medias for content
public struct LuraAirplayConfiguration : Codable {
var enabled : Bool?
}

LuraAdsConfiguration​

ParameterTypeDescription
macros[String : String]Macros
clientSideLuraAdsClientSideConfiguration?Client-side configurations
serverSideLuraAdsServerSideConfiguration?Server-side configurations
@Serializable
public struct LuraAdsConfiguration : Codable {
var macros : [String : String]?
var serverSide : LuraAdsServerSideConfiguration?
var clientSide : LuraAdsClientSideConfiguration?
}

LuraPluginsConfigurations​

ParameterTypeDescription
convivaConvivaPluginConfiguration?Conviva configuration
openMeasurementOpenMeasurementPluginConfiguration?Open Measurement configuration
palPALPluginConfiguration?PAL configuration
public struct LuraPlugins : Codable {
public var palConfiguration : PALPluginConfiguration?
public var convivaConfiguration : ConvivaPluginConfiguration?
public var openMeasurementConfiguration : OpenMeasurementPluginConfiguration?
}

LuraAdBreak​

ParameterType
idString
offsetDouble
adsLuraAd
watchedBool
totalAdsInt
breakDurationFloat
originString
stitcherString
public struct LuraAdBreak: LuraEventData {
public var id: String?
public var offset: Double?
public var ads: [LuraAd]?
public var watched: Bool?
public var totalAds: Int?
public var breakDuration: Double?
public var origin: String?
public var stitcher: String?
}

LuraAd​

FieldType
durationDouble
skipOffsetDouble
descriptionString
titleString
companionsLuraCompanionCodable
iconLuraIconCodable
interactiveFilesLuraInteractiveFileCodable
isClickableBoolean
public struct LuraAd: LuraEventData {
public var duration: Double?
public var skipOffset: Double?
public var title: String?
public var description: String?
public var companions: [LuraCompanionCodable]?
public var icons: [LuraIconCodable]?
public var interactiveFiles: [LuraInteractiveFileCodable]?
public var isClickable: Bool = false
}

LuraCompanions​

FieldType
idString
apiFrameworkString
widthString
heightString
assetWidthString
assetHeightString
expandedWidthString
expandedHeightString
adSlotIdString
pxratioString
renderingModeString
altTextString
clickThroughString
clickTrackingString
typeString
creativeTypeString
dataString
trackingLuraTrackingCodable
public struct LuraCompanionCodable: Codable {
var id : String?
var apiFramework : String?
var width : String?
var height : String?
var assetWidth : String?
var assetHeight : String?
var expandedWidth : String?
var expandedHeight : String?
var adSlotId : String?
var pxratio : String?
var renderingMode : String?
var altText : String?
var clickThrough : String?
var clickTracking : String?
var type : String?
var creativeType : String?
var data : String?
var tracking : [LuraTrackingCodable]?
}

LuraTrackingCodable​

FieldType
offsetDouble
typeString
urlString
public struct LuraTrackingCodable: Codable {
public var type: LuraPingType?
public var url: URL?
public var progressOffset: Double?
}

LuraIconCodable​

FieldType
programString
widthString
heightString
xPositionString
yPositionString
durationDouble
offsetString
apiFrameworkString
pxRatioString
clicksLuraClickCodable
type"static" | "iframe" | "html"
creativeTypeString
dataString
public struct LuraIconCodable: Codable {
public var program : String?
public var width : String?
public var height : String?
public var xPosition : String?
public var yPosition : String?
public var duration : String?
public var offset : String?
public var apiFramework : String?
public var clicks : [LuraClickCodable]?
public var type : String?
public var creativeType : String?
public var data : String?
}

LuraInteractiveFileCodable​

FieldType
apiFrameworkString
typeString
urlString
variableDurationBool
public struct LuraInteractiveFileCodable: Codable {

public var apiFramework : String?
public var type : String?
public var url : String?
public var variableDuration: Bool?

}

LuraClickCodable​

FieldType
clickThroughString
clickTrackingLuraClickTrackingCodable
public struct LuraClickCodable: Codable {

public var clickThrough : String?
public var clickTracking : [LuraClickTrackingCodable]?

}

LuraClickTrackingCodable​

FieldType
idString
urlString
public struct LuraClickTrackingCodable: Codable  {

public var id : String?
public var url : String?

}

Tracks​

ParameterDescription
videosVideo tracks of current media
audiosAudio tracks of current media
textsText tracks of current media
public struct Tracks: Codable {

public var video: [VideoTrack]?
public var audio: [AudioTrack]?
public var caption: [CaptionTrack]?

}

Annotation​

FieldType
startString
endString
typeString
public struct Annotation: Codable {

public var start: Double?
public var end: Double?
public var type: String?

}

AvailabilityWindow​

ParameterTypeDescription
idStringIdentifier for the availability window
startDoubleStart time of the availability window
endDoubleEnd time of the availability window
public struct AvailabilityWindow: Codable {
public var id: String?
public var start: Double?
public var end: Double?
}

LuraScreenState​

public enum LuraScreenState : String, Codable {
case FULLSCREEN
case PICTURE_IN_PICTURE
case WINDOWED
}

NotifiableEventType​

public enum NotifiableEventType: String, Encodable {
case click = "CLICK"
}