RuntimeConfig

@objc(UARuntimeConfig)
public final class RuntimeConfig : NSObject, @unchecked Sendable

Airship config needed for runtime. Generated from UAConfig during takeOff.

  • The current app key (resolved using the inProduction flag).

    Declaration

    Swift

    @objc
    public let appKey: String
  • The current app secret (resolved using the inProduction flag).

    Declaration

    Swift

    @objc
    public let appSecret: String
  • The current default Airship log level.

    Declaration

    Swift

    @objc
    public let logLevel: AirshipLogLevel
  • The request session used to perform authenticated interactions with the API

    Declaration

    Swift

    public let requestSession: AirshipRequestSession
  • The production status of this application.

    Declaration

    Swift

    @objc
    public let inProduction: Bool
  • Auto pause InAppAutomation on launch.

    Declaration

    Swift

    @objc
    public let autoPauseInAppAutomationOnLaunch: Bool
  • If enabled, the Airship library automatically registers for remote notifications when push is enabled and intercepts incoming notifications in both the foreground and upon launch.

    Defaults to enabled. If this is disabled, you will need to register for remote notifications in application:didFinishLaunchingWithOptions: and forward all notification-related app delegate calls to UAPush and UAInbox.

    Declaration

    Swift

    @objc
    public let isAutomaticSetupEnabled: Bool
  • An array of UAURLAllowList entry strings. This url allow list is used for validating which URLs can be opened or load the JavaScript native bridge. It affects landing pages, the open external URL and wallet actions, deep link actions (if a delegate is not set), and HTML in-app messages.

    Note

    See UAURLAllowList for pattern entry syntax.

    Declaration

    Swift

    @objc(URLAllowList)
    public let urlAllowList: [String]?
  • An array of UAURLAllowList entry strings. This url allow list is used for validating which URLs can load the JavaScript native bridge. It affects Landing Pages, Message Center and HTML In-App Messages.

    Note

    See UAURLAllowList for pattern entry syntax.

    Declaration

    Swift

    @objc(URLAllowListScopeJavaScriptInterface)
    public let urlAllowListScopeJavaScriptInterface: [String]?
  • An array of UAURLAllowList entry strings. This url allow list is used for validating which URLs can be opened. It affects landing pages, the open external URL and wallet actions, deep link actions (if a delegate is not set), and HTML in-app messages.

    Note

    See UAURLAllowList for pattern entry syntax.

    Declaration

    Swift

    @objc(URLAllowListScopeOpenURL)
    public let urlAllowListScopeOpenURL: [String]?
  • Toggles Airship analytics. Defaults to true. If set to false, many Airship features will not be available to this application.

    Declaration

    Swift

    @objc
    public let isAnalyticsEnabled: Bool
  • The Airship default message center style configuration file.

    Declaration

    Swift

    @objc
    public let messageCenterStyleConfig: String?
  • The iTunes ID used for Rate App Actions.

    Declaration

    Swift

    @objc
    public let itunesID: String?
  • If set to true, the Airship user will be cleared if the application is restored on a different device from an encrypted backup.

    Defaults to false.

    Declaration

    Swift

    @objc
    public let clearUserOnAppRestore: Bool
  • If set to true, the application will clear the previous named user ID on a re-install. Defaults to false.

    Declaration

    Swift

    @objc
    public let clearNamedUserOnAppRestore: Bool
  • Flag indicating whether channel capture feature is enabled or not.

    Defaults to false.

    Declaration

    Swift

    @objc
    public let isChannelCaptureEnabled: Bool
  • Flag indicating whether delayed channel creation is enabled. If set to true channel creation will not occur until channel creation is manually enabled.

    Defaults to false.

    Declaration

    Swift

    @objc
    public let isChannelCreationDelayEnabled: Bool
  • Flag indicating whether extended broadcasts are enabled. If set to true the AirshipReady NSNotification will contain additional data: the channel identifier and the app key.

    Defaults to false.

    Declaration

    Swift

    @objc
    public let isExtendedBroadcastsEnabled: Bool
  • If set to ‘YES’, the Airship SDK will request authorization to use notifications from the user. Apps that set this flag to false are required to request authorization themselves.

    Defaults to true.

    Declaration

    Swift

    @objc
    public let requestAuthorizationToUseNotifications: Bool
  • If set to true, the SDK will wait for an initial remote config instead of falling back on default API URLs.

    Defaults to false.

    Declaration

    Swift

    @objc
    public let requireInitialRemoteConfigEnabled: Bool
  • Default enabled Airship features for the app. For more details, see PrivacyManager. Defaults to FeaturesAll.

    Declaration

    Swift

    public let enabledFeatures: AirshipFeature
  • Allows resetting enabled features to match the runtime config defaults on each takeOff

    Defaults to false.

    Declaration

    Swift

    public let resetEnabledFeatures: Bool
  • If set to true, the SDK will use the preferred locale. Otherwise it will use the current locale.

    Defaults to false.

    Declaration

    Swift

    @objc
    public var useUserPreferredLocale: Bool
  • Specifies how a new channel should be created

    Declaration

    Swift

    public let restoreChannelID: AirshipChannelCreateOptionClosure?
  • If set to true, Message Center will attempt to be restored between reinstalls. If false, the Message Center user will be reset and the Channel will not be able to use the user as an identity hint to recover the past Channel ID.

    Defaults to true.

    Declaration

    Swift

    @objc
    public var restoreMessageCenterOnReinstall: Bool
  • Flag to enable or disable web view inspection on Airship created web views. Applies only to iOS 16.4+. Defaults to false.

    Declaration

    Swift

    @objc
    public var isWebViewInspectionEnabled: Bool