# BroadpeakSettings Class

    public class BroadpeakSettings

BroadpeakSettings

### Lifecycle

- `init(analyticsAddress:nanoCDNHost:domainNames:options:useProxyMode:)`

  Broadpeak settings

  #### Declaration

  Swift

      public init(
          analyticsAddress: String,
          nanoCDNHost: String,
          domainNames: String,
          options: [BroadpeakStreamingSessionOptions: Any]? = nil,
          useProxyMode: Bool = false
      )

  #### Parameters

  `analyticsAddress` | Address of the analytics server (i.e. “http://server-host:8080”) or a analytics server list (i.e. “http://server-host:8080,https://server-host-2”)
  `nanoCDNHost` | A nanoCDN host configuration. null/empty string `“”` or `“discover”` to enable discovery on the local network or `“127.0.0.1”` to enable discovery on the local device or `“*”` to enable discovery on the local network and the local device or a nanoCDN host list (i.e “192.168.1.1”)
  `domainNames` | The domain name list used to identify Broadpeak sessions (i.e “cdn.broadpeak.com,cdn2.broadpeak.com”) `“*”` specific value is used to declare that all sessions are using a Broadpeak CDN, null/empty string `“”` is used to declare that all given url are not hosted on a Broadpeak CDN
  `options` | Dictionary of options. Some options have specific values, pelase check Broadpeak documentation or refer to SmartLib `StreamingSessionOptions.h`
  `useProxyMode` | Experimental. When `true`, the plugin resolves the redirected (tokenized) URL itself using SmartLib proxy mode (`getQuery` + `startStreamingSession`) and hands the same URL to both the player and SmartLib, guaranteeing segment requests and keepalives share one session/token. Defaults to `false` (standard `getURL` mode). Not compatible with the nanoCDN workflow.

### Public

- `globalOptions`

  Global options applied to global SmartLib streaming session. Set before creating a session. Some options have specific values — check Broadpeak documentation or refer to SmartLib `StreamingSessionOptions.h`.

  #### Declaration

  Swift

      public static var globalOptions: [BroadpeakStreamingSessionOptions : Any]?

- `analyticsAddress`

  #### Declaration

  Swift

      public let analyticsAddress: String

- `nanoCDNHost`

  #### Declaration

  Swift

      public let nanoCDNHost: String

- `domainNames`

  #### Declaration

  Swift

      public let domainNames: String

- `options`

  #### Declaration

  Swift

      public let options: [BroadpeakStreamingSessionOptions : Any]?

- `useProxyMode`

  Experimental: use SmartLib proxy mode instead of `getURL`. See `init` for details.

  #### Declaration

  Swift

      public let useProxyMode: Bool