从旧变体更新使用情况
May 11, 2023About 1 min
从旧变体更新使用情况
本文介绍如何从旧版云眼全栈 Android SDK 更新到云眼特性标帜(Feature Flag)AB实验
代码示例
本节提供了代码示例,说明我们建议如何利用新的决策和事件跟踪 API。所有现有方法和实现仍包含在内并受支持,并且只有在弃用标记和未来主要变体后才会删除。
我们建议采用新的“决定”、“全部决定”和“跟踪事件”方法,作为当前在实现中使用 isFeatureEnabled、getFeatureVariable、getAllFeatures或 Track 调用的更灵活、更易于使用的替代方法。
有关早期方法,请参阅 SDK 参考指南的早期变体。
下面是如何将旧方法迁移到较新方法的一些示例。
Kotlin
// Prereq for new methods: create a user
val attributes: MutableMap<String, Any?> = HashMap()
attributes["is_logged_in"] = true
val user = eyeofcloudClient.createUserContext("user123", attributes)
// Is Feature Enabled
// old method
var enabled = eyeofcloudClient.isFeatureEnabled("flag_1", "user123", attributes)
// new method
val decision = user!!.decide("flag_1")
enabled = decision.enabled // Activate & Get Variation
// old method
val variation = eyeofcloudClient.activate("experiment_1", "user123", attributes)
// new method
val variationKey = decision.variationKey
// Get All Feature Variables
// old method
var json = eyeofcloudClient.getAllFeatureVariables("flag_1", "user123", attributes)
// new method
json = decision.variables
与现有的“已启用功能”方法一样,“决定”方法基于特性标帜(Feature Flag)键,不支持独立的 A/B 测试或多臂 Bandit。我们正在努力长期统一应用程序的数据模型和接口,以减少维护多种不同访问方法的需求。同时,仍然可以在旧项目中使用“激活”和“获取变体”方法以及“决定”方法进行独立的 A/B 测试。