DrmConfiguration Class

@objc
public class DrmConfiguration : NSObject, NSCopying, Codable

DRM configuration used for protected playback.

Lifecycle

  • Creates an empty DRM configuration initialized with SDK defaults.

    Declaration

    Swift

    override public init()
  • Creates a DRM configuration with explicit values.

    Declaration

    Swift

    public init(
        environment: Environment? = nil,
        base: String? = nil,
        preventSecondScreenPlayback: Bool? = true,
        userId: String? = nil,
        sessionId: String? = nil,
        merchant: String? = nil,
        assetId: String? = nil,
        variantId: String? = nil,
        authToken: String? = nil,
        trackingToken: String? = nil,
        keyUri: String? = nil,
        license: Data? = nil,
        licensingUrl: URL? = nil,
        licensingParameters: [String: String]? = nil,
        certificate: Data? = nil,
        certificateUrl: URL? = nil,
        certificateParameters: [String: String]? = nil,
        persistLicense: Bool? = nil
    )

    Parameters

    environment

    DRM backend environment selector.

    base

    Optional backend base URL hint.

    preventSecondScreenPlayback

    Enables secondary-screen protection checks.

    userId

    Provider-specific user identifier.

    sessionId

    Provider-specific session identifier.

    merchant

    Merchant/account identifier.

    assetId

    Asset identifier used by DRM backend.

    variantId

    Variant identifier used by DRM backend.

    authToken

    Authorization token used in DRM requests.

    trackingToken

    Tracking token used by backend integrations.

    keyUri

    Content key URI.

    license

    Inline license payload.

    licensingUrl

    License server URL.

    licensingParameters

    Additional license request parameters.

    certificate

    Inline certificate payload.

    certificateUrl

    Certificate server URL.

    certificateParameters

    Additional certificate request parameters.

    persistLicense

    Persistent-license behavior flag.

Public

  • DRM backend environment selector.

    Declaration

    Swift

    public var environment: Environment?
  • Optional backend base URL hint.

    Declaration

    Swift

    public var base: String?
  • Enables secondary-screen protection checks where supported.

    Declaration

    Swift

    public var preventSecondScreenPlayback: Bool?
  • Provider-specific user identifier.

    Declaration

    Swift

    public var userId: String?
  • Provider-specific session identifier.

    Declaration

    Swift

    public var sessionId: String?
  • Merchant/account identifier used by DRM backend.

    Declaration

    Swift

    public var merchant: String?
  • Asset identifier used by DRM backend.

    Declaration

    Swift

    public var assetId: String?
  • Variant identifier used by DRM backend.

    Declaration

    Swift

    public var variantId: String?
  • Authorization token used in DRM requests.

    Declaration

    Swift

    public var authToken: String?
  • Tracking token used by backend integrations.

    Declaration

    Swift

    public var trackingToken: String?
  • Content key URI for key retrieval.

    Declaration

    Swift

    public var keyUri: String?
  • Inline license payload.

    Declaration

    Swift

    public var license: Data?
  • License server URL.

    Declaration

    Swift

    public var licensingUrl: URL?
  • Additional license request parameters.

    Declaration

    Swift

    public var licensingParameters: [String : String]?
  • Inline certificate payload.

    Declaration

    Swift

    public var certificate: Data?
  • Certificate server URL.

    Declaration

    Swift

    public var certificateUrl: URL?
  • Additional certificate request parameters.

    Declaration

    Swift

    public var certificateParameters: [String : String]?
  • Controls persistent-license behavior for offline-capable flows.

    Declaration

    Swift

    public var persistLicense: Bool?
  • Human-readable summary of key DRM configuration fields.

    Declaration

    Swift

    override public var description: String { get }