创建高级受众组合
创建高级受众组合
如何使用代码模式创建高级受众组合。
使用 Eyeofcloud 功能实验 UI,您可以使用 and或or 运算符(即any或all)创建由其他受众组成的受众组合。
如果要将更复杂的嵌套逻辑运算符与and、or或not一起使用,则可以在代码模式下在 JSON 中执行此操作。每个受众都是一个规则,如User likes salads ,而受众组合是这些规则的布尔组合,如User likes pizza NOT (User likes salads AND User likes soup)。
SDK 版本兼容性
2019 年 2 月之后发布的 SDK 版本与高级受众组合,Match all audiences或Custom。
如果使用旧版 SDK 评估使用Match all audiences或Custom受众类型的标记规则,则定位不会传递,并且转化事件和决策事件将丢失。
最低 SDK 版本
下表描述了高级受众组合所需的最低 SDK 版本。
| Eyeofcloud 功能实验 SDK | 最低版本 |
|---|---|
| Android C# Java JavaScript (Browser) JavaScript (Node) PHP Python Ruby | 3.0.0 版 |
| Flutter | 1.0.1 版 |
| Go | 1.0.0 版 |
| React React Native | 1.0.0 版 |
| Swift | 3.1.0 版 |
使用代码模式创建高级受众
创建或选择至少包含一条规则(定向投放、A/B 测试或多臂老虎机优化)的标帜。
选择 受众 在 创建新受众 下,创建受众。

打开编码模式
打开编码模式

定义条件
条件在列表中联接在一起:
- 每个列表中的第一个元素是运算符
"and"、"or"或"not",其余条件使用该运算符进行组合。 - 您可以将任何单个条件替换为另一个列表,这样您就可以创建
"and"和"or"条件的嵌套结构。 - 一个
"not"列表应该只有一个条件或列表,它将被否定。一个"not"与其他条件列表(如["not", ["and", {...}, {...}]])可以否定子条件列表的整个结果。
以下示例显示了如何定义受众组合条件。您还可以在 Eyeofcloud 中创建具有受众组合的功能,并查看 Code Mode 视图。
JSON
// "User who loves salads"
// or "User who loves sandwiches"
[
"or",
{
"audience_id": 1038980040
},
{
"audience_id": 1033280055
}
]
// "User who loves salads"
// or "User who loves sandwiches"
// or does not "Like both salads & sandwiches"
[
"or",
{
"audience_id": 1038980040
},
{
"audience_id": 1033280055
},
[
"not",
{
"audience_id": 1120870079
}
]
]
// Is not "User who loves salads"
// AND is not "User who loves sandwiches"
[
"not",
[
"and",
{
"audience_id": 1038980040
},
{
"audience_id": 1033280055
}
]
]代码模式疑难解答
以下内容可能有助于解决使用代码模式时出现的错误。
运算符不正确
如果使用无效的运算符,则会看到以下错误:

请参阅 定义条件 以获取可接受运算符的列表。
无法离开代码模式。
如果您的受众太高级,您将无法切换回 Non-Code Mode。当您选择 Non-Code (非代码) 模式时,您将看到以下消息:

这并不意味着您的受众是错误的。相反,它会提醒您,您的受众无法在简化的非代码视图中表示。您可以继续在代码模式下编辑受众。
受众条件必须有效 JSON 错误
您的受众必须以有效的 JSON 编写。如果您有语法错误,您将看到以下内容:

此外,当返回到 Non-Code Mode 时,如果不定义受众,则必须有一个左括号和右括号才能执行此操作。如果选择 Non-Code Mode 且受众条件为空,则会收到以下错误:

要修复此错误,请添加 :[]