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"
}