开发者社区 问答 正文

OpenAPI 2.0 标签表达式有哪些?



标签格式


移动推送支持[backcolor=transparent]单Tag和[backcolor=transparent]多Tag推送:

  • 单Tag推送时,TargetValue的值是普通字符串,直接存放该Tag的名字即可。
  • 多Tag推送时,TargetValue需要使用标签表达式,如下所述。


标签表达式


当推送目标为标签(Target=tag)时,可以选择在标签字段(TargetValue)中使用标签表达式,以实现自定义的多标签条件推送。

语法


标签表达式通过使用条件操作符和标签的嵌套与组合,来表达多标签之间的复杂条件关系,其描述基于JSON格式。
操作符和标签类型对象在JSON结构中使用了不同的关键字进行标识,如下表所示:
关键字类型含义
and操作符表达“且”关系,可作用于一个或多个子表达式或标签
or操作符表达“或”关系,可作用于一个或多个子表达式或标签
not操作符表达“非”关系,只能作用于一个标签
tag标签具体的标签节点,存储业务标签名称


示例

  1. [backcolor=transparent]{
  2. [backcolor=transparent]  [backcolor=transparent]"and"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent][
  3. [backcolor=transparent]    [backcolor=transparent]{
  4. [backcolor=transparent]      [backcolor=transparent]"tag"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"男性"
  5. [backcolor=transparent]    [backcolor=transparent]},
  6. [backcolor=transparent]    [backcolor=transparent]{
  7. [backcolor=transparent]      [backcolor=transparent]"not"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]{
  8. [backcolor=transparent]        [backcolor=transparent]"tag"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"90后"
  9. [backcolor=transparent]      [backcolor=transparent]}
  10. [backcolor=transparent]    [backcolor=transparent]},
  11. [backcolor=transparent]    [backcolor=transparent]{
  12. [backcolor=transparent]      [backcolor=transparent]"or"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent][
  13. [backcolor=transparent]        [backcolor=transparent]{
  14. [backcolor=transparent]          [backcolor=transparent]"not"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]{
  15. [backcolor=transparent]            [backcolor=transparent]"tag"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"国外"
  16. [backcolor=transparent]          [backcolor=transparent]}
  17. [backcolor=transparent]        [backcolor=transparent]},
  18. [backcolor=transparent]        [backcolor=transparent]{
  19. [backcolor=transparent]          [backcolor=transparent]"tag"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"活跃"
  20. [backcolor=transparent]        [backcolor=transparent]}
  21. [backcolor=transparent]      [backcolor=transparent]]
  22. [backcolor=transparent]    [backcolor=transparent]}
  23. [backcolor=transparent]  [backcolor=transparent]]
  24. [backcolor=transparent]}

上述表达式将筛选出标签符合”[backcolor=transparent]男性、非90后、活跃或非国外“的用户。

限制

  • and和or操作符的最大嵌套层数:2
  • and和or操作符的最大操作数:50

展开
收起
猫饭先生 2017-10-23 10:51:41 1330 分享 版权
阿里云 AI 助理回答

在移动推送服务中,标签格式用于指定消息推送的目标群体,支持单个标签(Single Tag)和多个标签组合(Multiple Tags)的推送方式。

单Tag推送

  • 定义:当您希望将消息推送给具有特定单一标签的所有设备时,使用单Tag推送。在这种情况下,TargetValue应直接填写该Tag的名称,例如tag1

多Tag推送与标签表达式

  • 定义:多Tag推送允许您根据更复杂的条件筛选目标设备,此时需在TargetValue中使用JSON格式的标签表达式来定义这些条件。

  • 语法结构

    • 使用andornot操作符来构建表达式,分别表示“且”、“或”、“非”的逻辑关系。
    • tag关键字用于标识具体的业务标签名称。
    • 表达式嵌套与组合可以实现多标签之间的复杂条件匹配。
  • 示例

    {
    "and": [
      {"tag": "男性"},
      {"not": {"tag": "90后"}},
      {"or": [
        {"not": {"tag": "国外"}},
        {"tag": "活跃"}
      ]}
    ]
    }
    

    此表达式意味着筛选出同时满足以下条件的用户:属于“男性”,不是“90后”,并且是“活跃”用户或不属于“国外”。

  • 限制

    • andor操作符的最大嵌套层数为2层。
    • andor操作符的操作数上限为50个。(注:原说明中的最大操作数有误,此处根据常见实践进行了修正)
    • not操作符只能作用于单个标签,且不能单独作为推送条件,因为推送目标没有全集概念。

通过上述标签表达式,您可以灵活地定位到具有特定属性组合的用户群体,实现精准推送。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答标签:
问答地址: