云眼用户上下文
May 11, 2023About 3 min
云眼用户上下文
本主题介绍 Eyeofcloud 功能实验 Swift SDK 的 EyeofcloudUserContext 对象,该对象允许为用户上下文做出标帜决策并跟踪事件。
对象允许做出标帜决策并跟踪已使用创建用户上下文方法创建的用户上下文的事件。
云眼用户上下文变体
EyeofcloudUserContext 在 SDK v3.7 及更高版本上受支持。
强制决策方法变体
setForcedDecision()
、getForcedDecision()
、removeForcedDecision()
和removeAllForcedDecisions()
方法在 v3.10.0 及更高版本中受支持。
云眼用户上下文定义
以下代码显示了 EyeofcloudUserContext 的对象定义:
Swift
public class EyeofcloudUserContext {
public var userId: String
public var attributes: [String: Any?]
public init(eyeofcloud: EyeofcloudClient,
userId: String,
attributes: [String: Any]? = nil)
// set an attribute for the user
public func setAttribute(key: String, value: Any) -> Bool
// make a decision about which flag variation the user buckets into for the flag key
public func decide(key: String,
options: [EyeofcloudDecideOption]? = nil) -> EyeofcloudDecision
// make decisions about which flag variations the user buckets into for flag keys
public func decide(keys: [String],
options: [EyeofcloudDecideOption]? = nil) -> [String: EyeofcloudDecision]
// make decisions about which flag variations the user buckets into for all flags
public func decideAll(options: [EyeofcloudDecideOption]? = nil) -> [String: EyeofcloudDecision]
// track user event
public func trackEvent(eventKey: String, eventTags: [String: Any]? = nil)
// EyeofcloudDecisionContext
public struct EyeofcloudDecisionContext {
public let flagKey: String
public let ruleKey: String?
}
// EyeofcloudForcedDecision
public struct EyeofcloudForcedDecision { public let variationKey:String }
// sets a forced decision (variationKey) for a given decision context (flagKey and optional ruleKey)
public func setForcedDecision(context: EyeofcloudDecisionContext,
decision: EyeofcloudForcedDecision) -> Bool
// returns the forced decision (variationKey) for a given decision context (flagKey and optional ruleKey)
public func getForcedDecision(context: EyeofcloudDecisionContext) -> EyeofcloudForcedDecision?
// removes the forced decision (variationKey) for a given decision context (flagKey and optional ruleKey)
public func removeForcedDecision(context: EyeofcloudDecisionContext) -> Bool
// removes all the forced decisions (variationKeys) for the user context
public func removeAllForcedDecisions() -> Bool
}
性能
下表显示了 EyeofcloudUserContext 对象的属性:
属性 | 类型 | 评论 |
---|---|---|
用户标识 | 字符串 | 用户的 ID |
(可选)属性 | Map | 自定义键值对的映射,用于指定用于受众群体定位的用户属性。创建用户时,可以使用用户 ID 传递映射。 |
方法
下表显示了 EyeofcloudUserContext 对象的方法:
方法 | 评论 |
---|---|
设置属性 | 将自定义用户属性作为键值对传递给用户上下文。 |
决定 | 返回用户的标帜键的决策结果。决策结果在 EyeofcloudDecision 对象中返回,并包含传递标帜规则所需的所有数据。 请参阅分桶方法decide |
决定指定的键 | 返回指定标帜键的标帜决策映射。 请参阅分桶方法decide |
决定全部 | 返回用户的所有活动(未存档)标帜的决策。 请参阅分桶方法decide |
跟踪事件 | 跟踪用户的转化事件(即用户执行的操作)。如果指定的事件键与任何现有事件不匹配,则记录错误消息。 查看跟踪事件 |
设置强制决策 | 强制用户使用特定变体。 请参阅设置强制决策 |
getForcedDecision | 返回用户被强制进入的变体。 请参阅获取强制决策 |
删除强制决策 | 从特定的强制变体中删除用户。 请参阅删除强制决策 |
删除所有强制决策 | 从所有强制变体中移除用户。 请参阅删除所有强制决策 |
参见
源文件
包含 Swift 实现的语言/平台源文件是 EyeofcloudClient.swift。