← Back to Documentation Home

CLASS

StorageFacade

public class StorageFacade: StorageFacadeProtocol

Storage facade implementation using UserDefaults for persistence

Methods

init(userDefaults:keyPrefix:)

public init(userDefaults: UserDefaults = .standard, keyPrefix: String = "OmniconvertSDK_")

Initialize storage facade - Parameters: - userDefaults: UserDefaults instance to use (defaults to .standard) - keyPrefix: Prefix for all storage keys (defaults to "OmniconvertSDK_")

Parameters

Name Description
userDefaults UserDefaults instance to use (defaults to .standard)
keyPrefix Prefix for all storage keys (defaults to “OmniconvertSDK_”)

getExperiments()

public func getExperiments() -> [String: Experiment]?

saveExperiments(_:)

public func saveExperiments(_ experiments: [String: Experiment]) -> Bool

getLastExperimentsFetchTime()

public func getLastExperimentsFetchTime() -> TimeInterval?

saveLastExperimentsFetchTime(_:)

public func saveLastExperimentsFetchTime(_ timestamp: TimeInterval) -> Bool

getWebsiteId()

public func getWebsiteId() -> String?

saveWebsiteId(_:)

public func saveWebsiteId(_ websiteId: String) -> Bool

getSettings()

public func getSettings() -> [String: Any]?

saveSettings(_:)

public func saveSettings(_ settings: [String: Any]) -> Bool

getUser(_:)

public func getUser(_ userId: String) -> User?

saveUser(_:)

public func saveUser(_ user: User) -> Bool

getUserHash(_:)

public func getUserHash(_ userId: String) -> String?

saveUserHash(_:hash:)

public func saveUserHash(_ userId: String, hash: String) -> Bool

isSessionStarted(_:)

public func isSessionStarted(_ userId: String) -> Bool

startSession(_:timeout:)

public func startSession(_ userId: String, timeout: TimeInterval) -> Bool

getSessionTimeout(_:)

public func getSessionTimeout(_ userId: String) -> TimeInterval?

updateSessionActivity(_:)

public func updateSessionActivity(_ userId: String) -> Bool

getDecisions(_:context:)

public func getDecisions(_ userId: String, context: Context) -> [Decision]?

saveDecisions(_:context:decisions:)

public func saveDecisions(_ userId: String, context: Context, decisions: [Decision]) -> Bool

clear()

public func clear() -> Bool

remove(_:)

public func remove(_ key: String) -> Bool