Player Type Reference
LuraMediaFormat
| Field | Value |
|---|---|
| VOD | "VOD" |
| LIFE | "LIFE" |
LuraPlayerConfiguration
| Field | Type |
|---|---|
name | String |
lura | Lura |
controls | LuraControl |
content | LuraContent |
plugins | LuraPlugins |
cast | LuraCastConfiguration |
ads | LuraAdsConfiguration |
analytics | LuraAnalyticsConfiguration |
offline | LuraOfflineConfiguration |
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
| Parameter | Type | Description |
|---|---|---|
appKey | String | Lura configuration app key |
assetId | String | Lura asset id |
token | String | Lura token |
public struct Lura: Codable {
public var appKey: String?
public var assetId: String?
public var token: String?
}
LuraAnalyticsConfiguration
| Parameter | Type | Description |
|---|---|---|
enabled | Bool? | Enables or disables analytics collection and transmission |
host | String? | HTTPS analytics server endpoint provided by NXS |
apiKey | String? | API key used to authenticate analytics requests |
period | Int? | Sending period for the analytics payload in seconds. Defaults to 10 |
app | LuraAnalyticsAppConfiguration? | Application metadata to include with analytics payloads |
session | LuraAnalyticsSessionConfiguration? | 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
| Parameter | Type | Description |
|---|---|---|
id | String? | Unique application identifier, such as a package name or bundle ID |
name | String? | User-facing application name |
version | String? | Application version |
public struct LuraAnalyticsAppConfiguration: Codable {
public var id: String?
public var name: String?
public var version: String?
}
LuraAnalyticsSessionConfiguration
| Parameter | Type | Description |
|---|---|---|
data | String? | Additional session-specific data. Do not include sensitive data |
userId | String? | 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
| Parameter | Type | Description |
|---|---|---|
autoplay | Boolean | Is autoplay enabled |
enabled | Boolean | Is controls enabled |
muted | Boolean | Is muted |
volume | Double | Volume value |
loop | Boolean | Is loop enabled |
sharing | LuraControlsSharingConfiguration | Sharing 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
| Parameter | Type | Description |
|---|---|---|
url | String | URL to create the sharing link. |
description | String | Description for social sharing. |
posterUrl | String | Poster URL for social sharing. |
socials | LuraControlsSharingSocial | Social 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
| Field | Value |
|---|---|
| "facebook" | |
| "whatsapp" | |
| x | "x" |
| "pinterest" | |
| "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
| Parameter | Type | Description |
|---|---|---|
media | [LuraMedia] | List of medias for content |
clientCertificate | Codable | Client Certificate |
preferredDRMSystems | [String] | Preferred DRM sustems |
id | String | Content id |
title | String | Content title |
startAt | Double | Content starting point (in seconds) |
description | String? | Content description |
language | String? | Language |
type | String | Video type |
annotations | Annotation | Annotations |
captions | LuraCaptions | Caption configuration |
dvr | DvrConfiguration? | 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
| Parameter | Type | Description |
|---|---|---|
enabled | Bool? | Disables captions when set to false. |
public struct LuraCaptions: Codable {
public var enabled: Bool?
}
DvrConfiguration
| Parameter | Type | Description |
|---|---|---|
enabled | Bool | Enables DVR handling for live playback |
mode | String | event uses Akta event metadata. window uses a sliding lookback window. |
availabilityWindow | Double? | 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
| Parameter | Type | Description |
|---|---|---|
fairplay | Fairplay | Fairplay |
public struct ClientCertificate: Codable {
var fairplay: Fairplay?
}
Fairplay
| Parameter | Type | Description |
|---|---|---|
data | String | Fairplay data |
url | String | Fairplay url |
public struct Fairplay: Codable {
var data: String?
var url: URL?
}
LuraOfflineConfiguration
| Parameter | Type | Description |
|---|---|---|
resolution | LuraOfflineVideoResolution | Resolution of video rendition |
public struct LuraOfflineConfiguration : Codable {
public var resolution : LuraOfflineVideoResolution = .hd
}
LuraCastConfiguration
| Parameter | Type |
|---|---|
chromecast | LuraCastConfiguration |
airplay | LuraAirplayConfiguration |
public struct LuraCastConfiguration : Codable {
var chromecast : LuraChromecastConfiguration?
var airplay : LuraAirplayConfiguration?
}
LuraChromecastConfiguration
| Parameter | Type | Description |
|---|---|---|
enabled | Boolean | List of medias for content |
appId | String | Chromecast App id |
public struct LuraChromecastConfiguration : Codable {
var enabled : Bool?
var appId : String?
}
LuraAirplayConfiguration
| Parameter | Type | Description |
|---|---|---|
enabled | Boolean | List of medias for content |
public struct LuraAirplayConfiguration : Codable {
var enabled : Bool?
}
LuraAdsConfiguration
| Parameter | Type | Description |
|---|---|---|
macros | [String : String] | Macros |
clientSide | LuraAdsClientSideConfiguration? | Client-side configurations |
serverSide | LuraAdsServerSideConfiguration? | Server-side configurations |
@Serializable
public struct LuraAdsConfiguration : Codable {
var macros : [String : String]?
var serverSide : LuraAdsServerSideConfiguration?
var clientSide : LuraAdsClientSideConfiguration?
}
LuraPluginsConfigurations
| Parameter | Type | Description |
|---|---|---|
conviva | ConvivaPluginConfiguration? | Conviva configuration |
openMeasurement | OpenMeasurementPluginConfiguration? | Open Measurement configuration |
pal | PALPluginConfiguration? | PAL configuration |
public struct LuraPlugins : Codable {
public var palConfiguration : PALPluginConfiguration?
public var convivaConfiguration : ConvivaPluginConfiguration?
public var openMeasurementConfiguration : OpenMeasurementPluginConfiguration?
}
LuraAdBreak
| Parameter | Type |
|---|---|
id | String |
offset | Double |
ads | LuraAd |
watched | Bool |
totalAds | Int |
breakDuration | Float |
origin | String |
stitcher | String |
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
| Field | Type |
|---|---|
| duration | Double |
| skipOffset | Double |
| description | String |
| title | String |
| companions | LuraCompanionCodable |
| icon | LuraIconCodable |
| interactiveFiles | LuraInteractiveFileCodable |
| isClickable | Boolean |
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
| Field | Type |
|---|---|
| id | String |
| apiFramework | String |
| width | String |
| height | String |
| assetWidth | String |
| assetHeight | String |
| expandedWidth | String |
| expandedHeight | String |
| adSlotId | String |
| pxratio | String |
| renderingMode | String |
| altText | String |
| clickThrough | String |
| clickTracking | String |
| type | String |
| creativeType | String |
| data | String |
| tracking | LuraTrackingCodable |
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
| Field | Type |
|---|---|
| offset | Double |
| type | String |
| url | String |
public struct LuraTrackingCodable: Codable {
public var type: LuraPingType?
public var url: URL?
public var progressOffset: Double?
}
LuraIconCodable
| Field | Type |
|---|---|
| program | String |
| width | String |
| height | String |
| xPosition | String |
| yPosition | String |
| duration | Double |
| offset | String |
| apiFramework | String |
| pxRatio | String |
| clicks | LuraClickCodable |
| type | "static" | "iframe" | "html" |
| creativeType | String |
| data | String |
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
| Field | Type |
|---|---|
| apiFramework | String |
| type | String |
| url | String |
| variableDuration | Bool |
public struct LuraInteractiveFileCodable: Codable {
public var apiFramework : String?
public var type : String?
public var url : String?
public var variableDuration: Bool?
}
LuraClickCodable
| Field | Type |
|---|---|
| clickThrough | String |
| clickTracking | LuraClickTrackingCodable |
public struct LuraClickCodable: Codable {
public var clickThrough : String?
public var clickTracking : [LuraClickTrackingCodable]?
}
LuraClickTrackingCodable
| Field | Type |
|---|---|
| id | String |
| url | String |
public struct LuraClickTrackingCodable: Codable {
public var id : String?
public var url : String?
}
Tracks
| Parameter | Description |
|---|---|
videos | Video tracks of current media |
audios | Audio tracks of current media |
texts | Text tracks of current media |
public struct Tracks: Codable {
public var video: [VideoTrack]?
public var audio: [AudioTrack]?
public var caption: [CaptionTrack]?
}
Annotation
| Field | Type |
|---|---|
| start | String |
| end | String |
| type | String |
public struct Annotation: Codable {
public var start: Double?
public var end: Double?
public var type: String?
}
AvailabilityWindow
| Parameter | Type | Description |
|---|---|---|
| id | String | Identifier for the availability window |
| start | Double | Start time of the availability window |
| end | Double | End 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"
}