MoEngageFileBasedInitializationConfiguration
public struct MoEngageFileBasedInitializationConfiguration : Codable, Equatable
Configuration model for initializing MoEngage SDK.
This model supports parsing configuration options from Info.plist file and provides default values for optional parameters.
-
Supported data centers for MoEngage SDK.
See moreDeclaration
Swift
public enum DataCenter : Int, Codable, Equatable, CaseIterable
-
Supported integration partners for MoEngage SDK.
See moreDeclaration
Swift
public enum IntegrationPartner : String, Codable, Equatable
-
Log levels for SDK logging.
See moreDeclaration
Swift
public enum LogLevel : Int, Codable, Equatable
-
Environment options for SDK initialization.
See moreDeclaration
Swift
public enum Environment : String, Codable, Equatable
-
Flag to disable automatic SDK initialization.
Declaration
Swift
public let isSdkAutoInitialisationDisabled: Bool
-
Workspace ID for the MoEngage account.
Declaration
Swift
public let workspaceId: String
-
Data center where the MoEngage account is hosted.
Declaration
Swift
public let dataCenter: DataCenter
-
Flag to indicate if the app is running in test environment.
Declaration
Swift
public let isTestEnvironment: Bool
-
Integration partner type if using MoEngage through a partner SDK.
Declaration
Swift
public let integrationPartner: IntegrationPartner
-
App group name for sharing data between app and extensions.
Declaration
Swift
public let appGroupName: String
-
Keychain group name for storing encryption keys.
Declaration
Swift
public let keychainGroupName: String
-
Flag to disable periodic flushing of analytics events.
Declaration
Swift
public let analyticsDisablePeriodicFlush: Bool
-
Duration in seconds between periodic analytics flushes.
Declaration
Swift
public let analyticsPeriodicFlushDuration: Int
-
Safe area inset for displaying in-app messages.
Declaration
Swift
public let inAppDisplaySafeAreaInset: CGFloat
-
Flag to indicate if app should provide deeplink callbacks for in-app messages.
Declaration
Swift
public let inAppShouldProvideDeeplinkCallback: Bool
-
Flag to enable storage encryption.
Declaration
Swift
public let isStorageEncryptionEnabled: Bool
-
Flag to enable network encryption.
Declaration
Swift
public let isNetworkEncryptionEnabled: Bool
-
Encoded encryption key for test environment.
Declaration
Swift
public let encryptionEncodedTestKey: String
-
Encoded encryption key for live environment.
Declaration
Swift
public let encryptionEncodedLiveKey: String
-
Flag to enable JWT for API requests.
Declaration
Swift
public let isJwtEnabled: Bool
-
Flag to enable user registration.
Declaration
Swift
public let isUserRegistrationEnabled: Bool
-
Log level for SDK logging.
Declaration
Swift
public let logLevel: LogLevel
-
Environment setting for Citi-specific integration.
Declaration
Swift
public let environment: Environment
-
init(isSdkAutoInitialisationDisabled:
workspaceId: dataCenter: isTestEnvironment: integrationPartner: appGroupName: keychainGroupName: analyticsDisablePeriodicFlush: analyticsPeriodicFlushDuration: inAppDisplaySafeAreaInset: inAppShouldProvideDeeplinkCallback: isStorageEncryptionEnabled: isNetworkEncryptionEnabled: encryptionEncodedTestKey: encryptionEncodedLiveKey: isJwtEnabled: isUserRegistrationEnabled: logLevel: environment: ) Creates a configuration with specified options.
Declaration
Swift
public init( isSdkAutoInitialisationDisabled: Bool = DefaultValues.isSdkAutoInitialisationDisabled, workspaceId: String, dataCenter: DataCenter, isTestEnvironment: Bool = DefaultValues.isTestEnvironment, integrationPartner: IntegrationPartner = .default, appGroupName: String = DefaultValues.appGroupName, keychainGroupName: String = DefaultValues.keychainGroupName, analyticsDisablePeriodicFlush: Bool = DefaultValues.analyticsDisablePeriodicFlush, analyticsPeriodicFlushDuration: Int = DefaultValues.analyticsPeriodicFlushDuration, inAppDisplaySafeAreaInset: CGFloat = DefaultValues.inAppDisplaySafeAreaInset, inAppShouldProvideDeeplinkCallback: Bool = DefaultValues.inAppShouldProvideDeeplinkCallback, isStorageEncryptionEnabled: Bool = DefaultValues.isStorageEncryptionEnabled, isNetworkEncryptionEnabled: Bool = DefaultValues.isNetworkEncryptionEnabled, encryptionEncodedTestKey: String = DefaultValues.encryptionEncodedTestKey, encryptionEncodedLiveKey: String = DefaultValues.encryptionEncodedLiveKey, isJwtEnabled: Bool = DefaultValues.isJwtEnabled, isUserRegistrationEnabled: Bool = DefaultValues.isUserRegistrationEnabled, logLevel: LogLevel = .default, environment: Environment = .default )
Parameters
isSdkAutoInitialisationDisabled
Flag to disable automatic SDK initialization. Default is
false
.workspaceId
Workspace ID for the MoEngage account.
dataCenter
Data center where the MoEngage account is hosted. Default is
.dataCenter1
.isTestEnvironment
Flag to indicate if the app is running in test environment. Default is
false
.integrationPartner
Integration partner type if using MoEngage through a partner SDK. Default is
.none
.appGroupName
App group name for sharing data between app and extensions. Default is empty string.
keychainGroupName
Keychain group name for storing encryption keys. Default is empty string.
analyticsDisablePeriodicFlush
Flag to disable periodic flushing of analytics events. Default is
false
.analyticsPeriodicFlushDuration
Duration in seconds between periodic analytics flushes. Default is
60
.inAppDisplaySafeAreaInset
Safe area inset for displaying in-app messages. Default is
0
.inAppShouldProvideDeeplinkCallback
Flag to indicate if app should provide deeplink callbacks for in-app messages. Default is
false
.isStorageEncryptionEnabled
Flag to enable storage encryption. Default is
false
.isNetworkEncryptionEnabled
Flag to enable network encryption. Default is
false
.encryptionEncodedTestKey
Encoded encryption key for test environment. Default is
nil
.encryptionEncodedLiveKey
Encoded encryption key for live environment. Default is
nil
.isJwtEnabled
Flag to enable JWT for API requests. Default is
false
.isUserRegistrationEnabled
Flag to enable user registration. Default is
false
.logLevel
Log level for SDK logging. Default is
.warning
.environment
Environment setting for Citi-specific integration. Default is
nil
. -
Custom implementation for decoding the configuration.
This handles the conversion of plist values to the configuration properties, including special handling for various types and default values.
Throws
DecodingError
if required values are missing or invalid.Declaration
Swift
public init(from decoder: Decoder) throws
Parameters
decoder
The decoder to read data from.
-
Validates if the configuration is complete and consistent.
Declaration
Swift
public func validate() -> Bool
Return Value
true
if the configuration is valid,false
otherwise.
-
Default Values for MoEngage SDK default configuration values.
These constants represent the default values for MoEngage SDK configuration used throughout the initialization process.
See moreDeclaration
Swift
public enum DefaultValues