本文档介绍了跟踪代码管理器参数对象的用途和表示形式。
简介
借助 Tag Manager API,您可以创建和管理跟踪代码管理器资源,例如 Tags、Rules 和 Macros。
大多数代码和宏类型都具有专属的额外参数,可在创建/更新资源时加以设置。代码字典参考和宏字典参考中列出了每种代码和宏类型的参数(key
、type
对)列表。
为配置这些特定于代码或宏的参数,需定义“参数对象”,并将其设置为 Tag 或 Macro 资源的 parameter
属性的值。
参数对象
以下对象表示参数对象:
[ { "type": string, "key": string, "value": string, "list": [ (Parameter) ], "map": [ (Parameter) ] } ]
type
要配置的代码或宏的参数类型。
type
属性用于确定需要在参数对象中包含 value
、list
还是 map
属性,如下表所述。
例如,如果 type
设置为 boolean
,则应在参数对象中包含 value
属性,并将其设置为 true
或 false
。
值 | 要包含的额外属性 | 额外属性的具体设置内容 |
---|---|---|
template |
value |
value 可为任何字符串,包括宏引用(如 foo{{bar}} )。 |
boolean |
value |
value 为 true 或 false 。
|
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" } ]