开发者社区 问答 正文

移动推送的标签表达式有哪些?



标签格式


移动推送支持[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:24:03 1411 分享 版权
阿里云 AI 助理回答

在移动推送服务中,标签格式设计用于实现精准的消息推送策略,支持两种推送模式:单Tag推送和多Tag推送。

单Tag推送

  • 定义:当您希望向具有特定单一标签的所有设备发送消息时,使用单Tag推送。在这种情况下,TargetValue的值直接是一个字符串,内容即为该Tag的名称。

多Tag推送

  • 定义:若需根据更复杂的标签组合来定位目标设备,应采用多Tag推送。此时,TargetValue需要填写一个基于JSON格式的标签表达式,以精确描述推送目标的标签条件。

标签表达式的语法与结构

  • 基础结构:表达式基于JSON格式,通过andornot操作符以及tag类型对象来构建逻辑关系。
    • and表示“且”关系,连接的各部分条件需同时满足。
    • or表示“或”关系,至少其中之一的条件需满足。
    • not用于表达“非”关系,否定其后跟随的标签条件。
    • tag用于指定具体的业务标签名称。

示例解析

以下示例展示了如何构造一个多标签条件的表达式:

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

此表达式筛选的目标用户群体是:属于“男性”,且不是“90后”,同时满足“活跃”或不属于“国外”的用户。

限制说明

  • 逻辑深度与广度andor操作符的最大嵌套层数为2层,且每个操作符下的直接子元素(包括标签和其他子表达式)数量上限为50个。
  • 其他注意事项:在进行标签计算时,并不直接处理到设备ID层面,而是基于KeyType(如DEVICEACCOUNTALIAS)和ClientKey的键值对进行运算。

通过上述规则和示例,您可以灵活设计标签表达式,实现针对不同用户群体的精准消息推送。

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