ads.txt是一个文件,每个广告支持的网站都应该放入其根文件夹中。IAB ADS.TXT规范指示它看起来像:
<FIELD #1>, <FIELD #2>, <FIELD #3>, <FIELD #4>
数据应在接受不同空间或字段的文件中是自由的 分离字符。
,但同样的呼吸也提到:
消费者系统应忽略任何空格或选项卡的序列。没有字段应包含选项卡,逗号或Whitespace ,否则应使用URL编码[13]。
将其逃脱
我的问题是:如果"没有字段应包含whitespace" ,为什么规范在其自己的示例中使用空格[update:我是指之间的空格 the fields]]?是否可以接受?默认值应该是什么?stackoverflow本身使用空间,但这并不意味着它是正确的。
您问:
如果"没有字段应包含空格",为什么规范在自己的示例中使用空间?
混乱的来源仅仅是 <FIELD #1>, <FIELD #2>, ...
不是示例,而是要遵循的格式或结构,换句话说a andtax 。作为语法 <FIELD #1>
确实是一个符号,是标记位置的备用。您可以用greenadexchange.com
规则:
没有字段应包含... whitespace
可以更好地理解为:
无字段 value 应包含... whitespace
-
field
此处是在一个点或位置的内容的意义上使用的,换句话说field value
- 因此,IAB作者决定使用的特定符号,例如
<FIELD #1>
。
也就是说,IAB作者可能可以通过编写不使用诸如<FIELD#1>
之类的空间的符号来改进,第二个字段,第二个字段的<FIELD#2>
等。这将有助于避免潜在的混乱风险,同时仍在传达该位置上有第一个领域,该位置的第二个领域,依此类推。
您也想澄清:
但是周围的空间呢?默认情况下规范是否喜欢
<FIELD#1>,<FIELD#2>,<FIELD#3>,<FIELD#4>
或<FIELD#1>, <FIELD#2>, <FIELD#3>, <FIELD#4>
?
规范似乎没有偏好,仅规范允许 因为它被忽略。
建议:
- 逗号之后有一个空间,以帮助仅与一条长期不间断的行相比,使其清晰,更可读。
下面的详细说明。
语法
查看围绕<FIELD...
的其他文本时,您最初引用的iabs.txt规范,PDF Page 7:
... The records consist of a set of
lines of the form:
<FIELD #1>, <FIELD #2>, <FIELD #3>, <FIELD #4>
or
<VARIABLE>=<VALUE>
它说的是of the form:
,这表明它要展示的是结构,换句话说,语法,而不是一个示例。直到以后页面,它也不使用example
一词,因此,该<FIELD #1>, ...
更好地理解为不是字面的示例,而是说明语法。
另外,当您看到角度括号(<
,>
((例如<FIELD #1>
和<VARIABLE>
(时,这是在技术手册或文档中经常使用的惯例,以表示角度支架和内部的任何内容,就是实际使用时,用一个值替换为。
field
限制(例如PDF Page 8:No field should contain tabs, commas or whitespace
(可以更好地理解为对您最终写入的字段价值的限制,而与<FIELD #1>
无关,这仅仅是一种惯例,这是一种与您交流的方式在该位置或"位置"的第一个字段。
示例4.1
稍后在本节中:4. EXAMPLES
我们可以看到我们之前看到的语法:
<FIELD #1>, <FIELD #2>, <FIELD #3>, <FIELD #4>
是这样应用的:
greenadexchange.com, XF7342, DIRECT, 5jyxf8k54
我们可以将语法与其实现进行比较:
| SYNTAX | EXAMPLE | WHAT |
| --- | --- | --- |
| <FIELD #1> | greenadexchange.com | Domain value |
| , | , | Delimiter |
| | | Ignorable whitespace |
| <FIELD #2> | XF7342 | Publisher's Account ID value |
| , | , | Delimiter |
| | | Ignorable whitespace |
| <FIELD #3> | DIRECT | Type of account value |
| , | , | Delimiter |
| | | Ignorable whitespace |
| <FIELD #4> | 5jyxf8k54 | Certification Authority ID value |
- 该语法的
<FIELD #1>
,替换为greenadexchange.com
,greenadexchange.com
在其中没有空格 - 逗号(
,
(是一个定界符,因为规范,PDF Page 7:a comma separated format
,因此它是分隔符或分隔符 - whitespace(
(将被忽略,因为通常所有的空间都必须忽略:
,
- 这就是为什么您的现场价值,规格强调您不应该拥有空格,这可能是因为它可能会混淆事物,因为它应该忽略whitespace
在此示例中,其余的理解适用于
这些是规则,但至于偏好,我找不到任何特别喜欢逗号之后空间的东西。
,但我强烈建议写逗号,然后是 space ( <...>
(,因为它比不间断的文本更清晰,更可读的人类。清晰度有助于最大程度地减少误解和错误的风险,并且从长远来看通常使其更加可维护。
其他想法
阅读更多技术文档时,您可能会看到角度括号的其他示例(<FIELD 1>
(表示您替换的内容。一个有趣的实例是在中,"开放式基本规格"第7期,2018年版, 12.公用事业约定:
4. Frequently, names of parameters that require substitution by actual values are shown with embedded <underscore> characters. Alternatively, parameters are shown as follows:
<parameter name>
- 导致您混乱的CC_32似乎是这种替代方法
如果IAB作者想更有帮助并避免造成混乱的风险,那么他们可能会写出没有空间的语法
<FIELD#1>, <FIELD#2>, <FIELD#3>, <FIELD#4>
或"嵌入式下划线"字符,如开放式群体所建议的:
<FIELD_1>, <FIELD_2>, <FIELD_3>, <FIELD_4>
可能会更有帮助,因为它进一步强调了没有空格的观点,并且避免了潜在的混乱。