EmbraceConfig

@interface EmbraceConfig : NSObject

The Embrace sdk configurations. This is used to setup configurations.

  • Returns the default config. The first time this is called it synchronously reads Embrace-Info.plist from disk. Returns nil if a valid plist file is not find at default path.

    Declaration

    Objective-C

    - (nullable instancetype)initWithDefaultConfig;

    Swift

    init?(defaultConfig: ())
  • Initializes a customized instance of EmbraceConfig from the file at the given plist file path. This will read the file synchronously from disk.

    Declaration

    Objective-C

    - (nullable instancetype)initWithContentsOfFile:(nonnull NSString *)path;

    Swift

    init?(contentsOfFile path: String)

    Parameters

    path

    Embrace info property list file path.

    Return Value

    nil if a valid plist file is not find at path.

  • Initializes a customized instance of EmbraceConfig with required fields.

    Declaration

    Objective-C

    - (nullable instancetype)initWithAPIKey:(nonnull NSString *)apiKey;

    Swift

    init?(apiKey: String)

    Parameters

    apiKey

    The unique Embrace API key that identifies your application.

    Return Value

    nil if an invalid app ID is specified.

  • The Embrace app ID. This is used to identify the app within the database.

    Note

    Plist detail
    • Key: API_KEY
    • Type: String
    • Defult: N/A

    Declaration

    Objective-C

    @property (strong, readonly, nonnull) NSString *APIKey;

    Swift

    var apiKey: String { get }
  • Data base URL.

    Note

    Plist detail
    • Key: DATA_BASE_URL
    • Type: String
    • Defult: data.emb-api.com

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSString *baseURL;

    Swift

    var baseURL: String? { get }
  • Data dev base URL.

    Note

    Plist detail
    • Key: DATA_DEV_BASE_URL
    • Type: String
    • Defult: data-dev.emb-api.com

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSString *devBaseURL;

    Swift

    var devBaseURL: String? { get }
  • Config base URL

    Note

    Plist detail
    • Key: CONFIG_BASE_URL
    • Type: String
    • Defult: config.emb-api.com

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSString *configBaseURL;

    Swift

    var configBaseURL: String? { get }
  • Images base URL.

    Note

    Plist detail
    • Key: IMAGES_BASE_URL
    • Type: String
    • Defult: images.emb-api.com

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSString *imagesBaseURL;

    Swift

    var imagesBaseURL: String? { get }
  • URLSessionDelegate proxying filters, if a string from this filter is found, Embrace will not proxy that URLSession’s delegate Tasks associated with the session are still proxied.

    Note

    Plist detail
    • Key: URLSESSION_CAPTURE_FILTERS
    • Type: Array
    • Defult: nil

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSArray<NSString *> *urlSessionCaptureFilters;

    Swift

    var urlSessionCaptureFilters: [String]? { get }
  • Control whether the Embrace SDK automatically attaches to the uncaught exception handler.

    Note

    Plist detail
    • Key: CRASH_REPORT_ENABLED
    • Type: Boolean
    • Defult: false

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSNumber *crashReportEnabled;

    Swift

    var crashReportEnabled: NSNumber? { get }
  • Control whether the startup moment is automatically ended.

    Note

    Plist detail
    • Key: STARTUP_AUTOEND_SECONDS
    • Type: Number
    • Defult: nil

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSNumber *startupAutoendSeconds;

    Swift

    var startupAutoendSeconds: NSNumber? { get }
  • Control whether startup moment screenshots are taken.

    Note

    Plist detail
    • Key: STARTUP_MOMENT_SCREENSHOT_ENABLED
    • Type: Boolean
    • Defult: true

    Declaration

    Objective-C

    @property (readonly) BOOL startupScreenshotEnabled;

    Swift

    var startupScreenshotEnabled: Bool { get }
  • The Trace ID Header that can be used to trace a particular request.

    Note

    Plist detail
    • Key: TRACE_ID_HEADER_NAME
    • Type: String
    • Defult: x-emb-trace-id

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSString *traceIdHeader;

    Swift

    var traceIdHeader: String? { get }
  • The default capture limit for the specified domains.

    Note

    Plist detail
    • Key: DEFAULT_CAPTURE_LIMIT
    • Type: Number
    • Defult: nil

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSNumber *networkCaptureLimit;

    Swift

    var networkCaptureLimit: NSNumber? { get }
  • List of domains to be limited for tracking.

    Note

    Plist detail
    • Key: DOMAINS
    • Type: Dictionary
    • Defult: nil

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSDictionary<NSString *, NSNumber *> *networkCaptureDomains;

    Swift

    var networkCaptureDomains: [String : NSNumber]? { get }
  • URLs that should not be captured.

    Note

    Plist detail
    • Key: DISABLED_URL_PATTERNS
    • Type: Array
    • Defult: nil

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSArray *disabledUrlPatterns;

    Swift

    var disabledUrlPatterns: [Any]? { get }
  • Control whether network request metrics is captured.

    Note

    Plist detail
    • Key: COLLECT_NETWORK_REQUEST_METRICS
    • Type: Boolean
    • Defult: true

    Declaration

    Objective-C

    @property (readonly) BOOL collectNetworkRequestMetrics;

    Swift

    var collectNetworkRequestMetrics: Bool { get }
  • Control whether NSURLConnection proxy is enabled.

    Note

    Plist detail
    • Key: NSURLCONNECTION_PROXY_ENABLE
    • Type: Boolean
    • Defult: true

    Declaration

    Objective-C

    @property (readonly) BOOL nsurlconnectionProxyEnable;

    Swift

    var nsurlconnectionProxyEnable: Bool { get }
  • Control whether background fetch information is captured.

    Note

    Plist detail
    • Key: BACKGROUND_FETCH_CAPTURE_ENABLE
    • Type: Boolean
    • Defult: false

    Declaration

    Objective-C

    @property (readonly) BOOL backgroundFetchCaptureEnable;

    Swift

    var backgroundFetchCaptureEnable: Bool { get }
  • Public RSA key to encrypt and store the network capture payload as a base64 string.

    Inlcude your public RSA key here, network body capture will be fully encrypted and only you can decrypt it using your private key.

    Note

    Plist detail
    • Key: CAPTURE_PUBLIC_KEY
    • Type: String
    • Defult: nil

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSString *networkCapturePublicKey;

    Swift

    var networkCapturePublicKey: String? { get }
  • Specify a maximum time before a session is allowed to exist before it is ended.

    Note

    Plist detail
    • Key: MAX_SESSION_SECONDS
    • Type: Number
    • Defult: nil

    Declaration

    Objective-C

    @property (strong, readonly, nullable) NSNumber *maxSessionSeconds;

    Swift

    var maxSessionSeconds: NSNumber? { get }
  • Control whether webview query parameters are captured.

    Note

    Plist detail
    • Key: WEBVIEW_STRIP_QUERYPARAMS
    • Type: Boolean
    • Defult: false

    Declaration

    Objective-C

    @property (readonly) BOOL webviewStripQueryparams;

    Swift

    var webviewStripQueryparams: Bool { get }
  • Control whether webview information is captured.

    Note

    Plist detail
    • Key: WEBVIEW_ENABLE
    • Type: Boolean
    • Defult: true

    Declaration

    Objective-C

    @property (readonly) BOOL webviewEnable;

    Swift

    var webviewEnable: Bool { get }
  • Embrace will always report on WKWebView content thread terminations when they happen.

    Optionally, you can enable this setting to have Embrace call Reload on the WKWebView for you. Note: If your application uses third party WKWebView content, such as advertising SDKS, it is recommended to leave this setting off

    Note

    Plist detail
    • Key: ENABLE_WK_AUTO_RELOAD
    • Type: Boolean
    • Defult: false

    Declaration

    Objective-C

    @property (readonly) BOOL wttAutoReloadEnabled;

    Swift

    var wttAutoReloadEnabled: Bool { get }
  • Control whether tap coordinates are captured.

    Note

    Plist detail
    • Key: CAPTURE_COORDINATES
    • Type: Boolean
    • Defult: true

    Declaration

    Objective-C

    @property (readonly) BOOL captureCoordinatesEnabled;

    Swift

    var captureCoordinatesEnabled: Bool { get }
  • Control whether automatic view capture is enabled, disable this if you are using custom view API.

    Note

    Plist detail
    • Key: ENABLE_AUTOMATIC_VIEW_CAPTURE
    • Type: Boolean
    • Defult: true

    Declaration

    Objective-C

    @property (readonly) BOOL automaticViewCaptureEnabled;

    Swift

    var automaticViewCaptureEnabled: Bool { get }
  • Embrace can use the os_log stream to help categorize crash reports or find non-fatal exceptions such as CollectionView or Autolayout runtime issues.

    By default this feature is off as the os_log stream can contain sensitive information. Enable this feature if you comfortable with sharing your os_log data with Embrace.

    Note

    Plist detail
    • Key: ENABLE_OS_LOG
    • Type: Boolean
    • Defult: true

    Declaration

    Objective-C

    @property (readonly) BOOL oslogTrackingEnabled;

    Swift

    var oslogTrackingEnabled: Bool { get }