目标定位规则让您可以根据用户属性为不同用户提供不同的标志值。每个标志可以有零个或多个规则。
规则从上到下按顺序进行评估。系统将使用条件匹配的第一条规则,并返回其配置的变体。如果没有规则匹配,Flagship 会返回该标志的默认变体。
当标志被禁用时,无论规则如何,始终返回默认变体。
请将更具体的规则放在更宽泛的规则之前。宽泛的包罗万象规则 (catch-all rule) 可以阻止后续规则的运行。
规则包含:
- Conditions(条件) — 必须满足的一个或多个属性比较。例如,
country equals "US"或plan in ["enterprise", "business"]。 - Serve variant(提供变体) — 规则匹配时要返回的变体。
- Rollout(部署)(可选)— 基于百分比的逐步发布。只有指定百分比的匹配用户接收规则的变体。其余用户继续进入下一条规则。
每个条件都使用运算符将评估上下文中的属性与一个值进行比较:
- Attribute(属性) — 要评估的上下文键(例如,
userId、country、plan)。 - Operator(运算符) — 要执行的比较。Flagship 支持 11 种运算符。
- Value(值) — 用于比较的值。根据运算符的不同,它可以是字符串、数字或数组。
如果评估上下文不包含条件引用的属性,则该条件不匹配。
规则内的条件可以使用 AND/OR 运算符进行分组,最多可以嵌套五层。
例如,要定位美国或加拿大的企业用户:
AND:plan equals "enterprise"OR:country equals "US"country equals "CA"
使用最少的必要上下文属性集来表达规则。这使得规则行为更容易推理,并避免在评估上下文中发送不必要的用户数据。