diff --git a/Sources/Experiment/ExperimentClient.swift b/Sources/Experiment/ExperimentClient.swift index 2e66b88..a92ecca 100644 --- a/Sources/Experiment/ExperimentClient.swift +++ b/Sources/Experiment/ExperimentClient.swift @@ -15,6 +15,7 @@ import Foundation @objc func variant(_ key: String, fallback: Variant?) -> Variant @objc func all() -> [String:Variant] @objc func exposure(key: String) + @objc func exposure(key: String, variant: String, payload: Any?) @objc func setUser(_ user: ExperimentUser?) @objc func getUser() -> ExperimentUser? @objc func clear() @@ -211,6 +212,11 @@ internal class DefaultExperimentClient : NSObject, ExperimentClient { let variantAndSource = variantAndSource(key: key, fallback: nil) exposureInternal(key: key, variantAndSource: variantAndSource) } + + public func exposure(key: String, variant: String, payload: Any?) { + let variantAndSource = VariantAndSource(variant: Variant(variant, payload: payload)) + exposureInternal(key: key, variantAndSource: variantAndSource) + } public func getUser() -> ExperimentUser? { return self.user