Tag Manager API - 参数参考

本文档介绍了跟踪代码管理器参数对象的用途和表示形式。

简介

借助 Tag Manager API,您可以创建和管理跟踪代码管理器资源,例如 TagsRulesMacros

大多数代码和宏类型都具有专属的额外参数,可在创建/更新资源时加以设置。代码字典参考宏字典参考中列出了每种代码和宏类型的参数(keytype 对)列表。

若要配置这些特定于代码或宏的参数,请定义参数对象,并将其设置为 Tag Macro 资源的 parameter 属性的值。

参数对象

以下对象表示参数对象:

[
  {
    "type": string,
    "key": string,
    "value": string,
    "list": [
      (Parameter)
    ],
    "map": [
      (Parameter)
    ]
  }
]

type

要配置的代码或宏的参数类型。

type 属性用于确定需要在参数对象中包含 valuelist 还是 map 属性,如下表所述。

例如,如果 type 的设置是 boolean,则参数对象中应包含已设置为 truefalsevalue 属性。

要包含的额外属性 额外属性的具体设置内容
template value value 可为任何字符串,包括宏引用,例如 foo{{bar}}
boolean value valuetruefalse
number value value 是一个整数值。
list list list 将包含零个或多个参数,顺序可能重要,也可能不重要;list 中的任何参数的 key 均会被忽略。
map map map 将包含零个或多个参数,顺序不重要;map 中的任何参数上的 key 均应具有唯一性。

key

要配置的代码或宏的参数键。

key 字段用于标识要设置的特定代码或宏的参数。所有参数类型都需要一个 key 属性(list 参数除外)。

示例

以下是自定义 HTML 代码的参数对象示例,其包含一个 template 类型参数和两个 boolean 类型参数:

"parameter": [
  {
    "key": "html",
    "type": "template",
    "value": "<script>alert('hello world')</script>"
  },
  {
    "key": "supportDocumentWrite",
    "type": "boolean",
    "value": "false"
  }
]

下面是对照表宏的参数对象,其中包含两个 template 类型参数和一个 list 类型参数:

"parameter": [
  {
    "type": "template",
    "key": "input",
    "value": "{{event}}"
  },
  {
    "type": "list",
    "key": "map",
    "list": [
      {
        "type": "map",
        "map": [
          {
            "type": "template",
            "key": "key",
            "value": "EventEqualsThis"
          },
          {
            "type": "template",
            "key": "value",
            "value": "ThenSetToThis"
          }
        ]
      }
    ]
  },
  {
    "type": "template",
    "key": "defaultValue",
    "value": "MyDefaultValue"
  }
]

以下是函数调用代码的参数对象示例,其包含一个 template 类型参数和一个 map 类型参数:

"parameter": [
  {
    "key": "functionName",
    "type": "template",
    "value": "fn"
  },
  {
    "key": "functionArgument",
    "map": [
      {
        "key": "argkey1",
        "type": "template",
        "value": "argval1"
      }
    ],
    "type": "map"
  }
]