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] | 
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?
#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?
}
LuraControl
| Parameter | Type | Description | 
|---|---|---|
autoplay | Boolean | Is autoplay enabled | 
enabled | Boolean | Is controls enabled | 
muted | Boolean | Is muted | 
volume | Double | Volume value | 
public struct LuraControl: Codable {
    public var enabled: Bool?
    public var autoplay: Bool?
    public var muted: Bool?
    public var volume: Double?
}
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 | 
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?
}
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"
}