创建高级受众组合
创建高级受众组合
如何使用代码模式创建高级受众组合。
使用 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 版本。有关当前 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 测试或多臂老虎机优化)的标志。
选择 Code Mode 在 Audiences 下,以访问代码编辑器并定义您的 JSON 受众组合。

获取受众群体标识符
每个单独的条件都是一个 JSON 对象,其中包含一个audience_id
。您可以直接在 Code Mode 中添加这些标识符,也可以通过选中标记为 Search and add audiences 的搜索框并选择受众来自动添加受众标识符。

定义条件
条件在列表中联接在一起:
- 每个列表中的第一个元素是运算符
"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 且受众条件为空,则会收到以下错误:

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