DiscoveryServiceConfigurationProvider

open class DiscoveryServiceConfigurationProvider : ConfigurationProviding

Built-in configuration provider that obtains data from the SAP Discovery Service.

Examples

Example for obtaining configuration from the global Discovery Service with an email address when using domain-based configuration.

let provider = DiscoveryServiceConfigurationProvider(applicationID: "")
let (providerSuccess, configuration, _) = provider.provideConfiguration(input:  [ConfigurationProviderInputKeys.emailAddress.rawValue : "example@sap.com"])
if providerSuccess {
    // use configuration
}

Example for obtaining configuration from the global Discovery Service with an onboarding code when using onboardingCode-based configuration.

let provider = DiscoveryServiceConfigurationProvider(applicationID: "")
let (providerSuccess, configuration, _) = provider.provideConfiguration(input:  [ConfigurationProviderInputKeys.onboardingCode.rawValue : "12345678"])
if providerSuccess {
    // use configuration
}

Further Documentation

See Enabling Applications to Discover Configurations and Using the Configuration Discovery Service for domain-based configuration.

See Discovery Service - Onboarding Codes for onboarding-code-based configuration.

  • Default class initializer.

    Declaration

    Swift

    public convenience init()
  • Overloaded class initializer. Creates a DiscoveryServiceConfigurationProvider object with the specified app identifier.

    Declaration

    Swift

    public init(applicationID: String? = nil,
                discoveryServiceHost: String? = nil)

    Parameters

    applicationID

    App identifier to use for web requests to the Discovery Service. If no value is supplied, the calling app’s CFBundleIdentifier value will be obtained at runtime. This parameter allows for obtaining configuration data for a different app than the caller.

    discoveryServiceHost

    Discovery Service Host parameter used for storing custom discoveryServiceHost url. This url is used to obtain data from SAP Discovery Service. If no value is supplied, default Discovery Service Host is obtained from function discoveryServiceHostnameFor(_:).

  • Attempts to obtain data if required input has been supplied.

    Declaration

    Swift

    public func provideConfiguration(input: [String : Any] = [:]) -> (providerSuccess: Bool, configuration: NSDictionary, returnError: Error?)

    Parameters

    input

    Data supplied by app in response to expectedInput dictionary.

    Return Value

    A tuple consisting of providerSuccess (success/fail result), configuration if available, and returnError if applicable.