1、ICS 35.240.60 A 10 DB33 浙江省 地方标准 DB 33/T 2179 2019 互联网广告标注与传输技术规范 Technical Specifications for Internet Advertising Publication and Transmission 2019 - 01 - 15发布 2019 - 02 - 15实施 浙江省市场监督管理局 发布 DB33/T 21792019 I 目 次 前 言 . II 1 范围 . 1 2 术语和定义 . 1 3 标注 . 2 3.1 内容 . 2 3.2 标注方式 . 3 3.3 方式 . 3 4 传输 . 8 4.
2、1 SDK采集 . 8 4.2 HTTP交互 . 10 附录 A (规范性附录) 商品与服务广告分类标准 . 16 附录 B (规范性附录) C语言开发包用法 . 20 附录 C (规范性附录) Java语言开发包用法 . 22 参考文 献 . 24 DB33/T 21792019 II 前 言 本标准按照 GB/T 1.1 2009给出的规则起草。 本标准由浙江省工商行政管理局提出并归口。 本标准起草单位:浙江省广告监测中心、全国互联网广告监测中心、浙江省广告协会、浙江省标准 化协会。 本标准主要起草人:杨拥军、毛觉、徐峰、朱远超、殷虎、张欢、冯曹冲、袁青、强劲、赵践。 本标准为首次发布。
3、DB33/T 21792019 1 互联网广告标注与传输技术规范 1 范围 本标 准规定了互联网广告的标注与传输的技术要求。 本标准适用于互联网信息服务提供者开展互联网广告的发布与传输,互联网广告监管平台开展的随 机监测工作,以及企业自设的互联网广告监测机 构对其发布或提供信息服务的互联网广告的监测。 2 术语和定义 下列术语和定义适用于本文件。 2.1 广告需求方平台 是指整合广告主需求,为广告主提供发布服务的广告主服务平台。广告需求方平台的经营者是互联 网广告发布者、广告经营者。 2.2 互联网广告监测 是指对于在特定网站、在线服务或应用的网页、广告浏览记录、服务、应用等使用记录的收集或使
4、 用,或对与浏览网页、广告、服务、应用有关的浏览器、操作系统、域名、浏览时间和次数等信息的收 集或使用,以及对发布在互联网媒介上的广告内容的采集、分析和处理。 2.3 互联网广告监管平台 是指依法设立的互联网广告监测机构,根据行政管理机关委托或授权,开发的具有互联网广告采集 监测、分析研判、违法预警、线索交办、处理反馈等功能的服务平台。 2.4 密文标注方式 是对明文标注方式的一种升级。将明文标注进行加密和 BASE64编码转换成可读字符串的过程,就是 密文标注过程。本标准中使用非对称的 RSA算法作为密文标注的标准算法。 2.5 RSA算法 是互联网界被普遍采用的国际公认的安全算法,其采用非
5、对称的公钥加私钥的加解密体系。 DB33/T 21792019 2 2.6 广告数据 SDK采集 是一种程序介入性广告信息监测方式。统一采用 SDK开 发包的方式形成技术标准。 SDK方式是 互联网 广告监管平台 与广告信息交换平台( ADx)、媒介方平台等的数据采集与交互方式。 2.7 SDK接口 是以标准的程序语言开发的,便于使用端进行广告信息采集和传输的开发包。 2.8 超文本标记语言 Hyper Text Markup Language 是用于描述网页文档的一种标记语言。 2.9 超文本传输协议 Hyper Text Transfer Protocol 是互联网常用的数据传输协议。 2
6、.10 落地页 是指点击广告跳转到的目标网页。 2.11 统一资源定位符 Uniform Resource Locator 是对可以从互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址。 互联网上的每个文件都有一个唯一的 URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。 3 标注 3.1 内容 发布互联网广告时应当对该广告以文字或声音的形式显著标明(表明)“广告”,并在广告的页面 源代码中对广告主信息、广告产品(服务)信息、广告来源和路径进行准确、清晰标注。广告信息标注 的规则见表 1。 DB33/T 21792019 3 表 1 广告信息标注规则 属性名称
7、 属性取值示意 可选性 描述 data-alpham “ XXXXXXXX” 必选 从事互联网广告发布的媒介可通过 互联网广告监 管平台 注册获得该媒介的广告唯一识别编码(以下 简称编码)。 data-ad-owner “广告主” 必选 广告主名称,可以是被广泛接受的简称。 data-ad-product “洗衣液” 必选 本广告产品的简称。 data-ad-type “日用品” 可选 本广告产品所属的产品类别,可以采用产品分类代码(见附录 A)。 data-ad-medias “ XXXXXXXX” 必选 参与交易的媒介的编码列表。每个参与了一则广告 的交易的媒 介平台,都应该为本属性字符串
8、赋值自 己的编码。 data-ad-url “ http:/xxx” 必选 广告落地页的 URL地址 data-ad-group “ XXXXXXXX” 可选 发布在同一个广告位的一组广告的编号(简称广告组编号) data-ad-pos-owner “某某网” 必选 广告位拥有者标注,可以是简称 data-alpham-x “密文编码字符串” 可选 表示本标签为一个密文标签,解密后可以得到包含 上述字段内容的字符串。本字段是二进制内容的 BASE64编码后的字符串。 注: 可选字段可以 不呈现在源代码中,也可以出现,但属性值取空字符串“”。 3.2 标注方式 3.2.1 媒介平台可同时采用明文
9、和密文的 HTML标签标注,也可选择其中一种标注方式。 3.2.2 密文标注方式,需要媒介平台增加一定的处理量( RSA加密),媒介平台可根据自身情况决定 是否使用密文标注方式。 3.2.3 为了增强整个系统的信息安全程度, 互联网广告监管平台 在使用过程中,将根据需要定期发布 新的密钥,各媒介平台应及时响应并按要求完成密钥更替工作。 3.3 方式 3.3.1 明文 HTML标签标注 媒介平台在生成网页时,应为广告 位的 HTML页面元素,增加 本规范规定的自定义属性,并按本规范 要求填写属性值。自定义属性的形式为:“ data-*-*”,以“ data-”开头。参见示例。 示例: 3.3.2
10、 明文广告发布形式与标注方法 3.3.2.1 呈现方式 互联网广告位的呈现方式,一般归纳为以下的几种(包含但不限于): a) 广告位: DB33/T 21792019 4 1) div中包含文字链接; 2) div中包含图片; 3) div中包含视频和动画; 4) div中包含文字、图片、视频和动画的组合。 b) 广告位 : 1) iframe中不包含 iframe; 2) iframe中包含 iframe。 注: 针对上述不同的广告位呈现方式,广告信息标注的位置和内容有所不同。 3.3.2.2 中包含文字链接 3.3.2.2.1 一个以 标签包含的一系列文字广告信息内容,每一段文字都是一个链
11、接( 标签), 文字本身是广告信息内容。参见示例。 示例: 3.3.2.2.2 一个由交易平台“ abcdef”推送到编码为“ 2f3r4d7u”网站上的广告。参见示例。 示例: 3.3.2.2.3 在 中包含的每一条文字链接的 标签(也就是广告链接)中,应进一步的标注广告 信息内容。每条广告链接中,都应由经手的媒介平台标注广告的具体信息,同时必须加入该媒介平台自 己的广告唯一识别编码。 data-ad-medias字段中的编码串,表明了该条广告经过的广告交易路径。提 供广告位的媒介有责任核对使用该广告位的相关媒介是否属于对应广告信息中的媒介,即互联网信息服 务提供者有责任督促媒介平台在每一条
12、广告上都标注该平台自己的 编码。参见示例。 示例: 这 12套适合改善族 最全的厨房风水攻略! 3.3.2.3 中包含图片 3.3.2.3.1 广告以图片的形式呈现, 下只有一个包含在 标签中的图片。广告位和发布方的信 息应标注在 标签中,而广告信息和广告交易信息应标注在包含图片的 标签中。参见示例。 示例: 3.3.2.3.2 标签可以如下标注。当 内部只有一个图片广告时,不用标注广告组信息。广告 图片如果就是网站自身发布的,则由网站自身进行标注。参见示例。 DB33/T 21792019 5 示例: 3.3.2.3.3 广告图片是由广告交易平台最终发布到广告位的,则由最后的交易平台进行标注
13、。参见示 例。 示例: 3.3.2.4 中包含视 频和动画 3.3.2.4.1 展示在 div标签中的视频和动画广告的结构参见示例,一个 div中包含一则广告。 示例: 注: 与 div中包含一则图片广告的情况类似,视频和动画广告也是在 标签中标注广告位相关的信息。 3.3.2.4.2 广告链接在 embed标签之外,所有广告信息标注在 标签中。参见示例。 示例: style=position:absolute;background:#fff;opacity:0;filter:alpha(opacity=0);width:120px;height:270 px;left:0;top:0 hre
14、f=http:/sx .26769 data-link=http:/sx .6769 target=_blank onmousedown=return sidToolkit.url.fortp(this, event);data-ad-onwer=“房产网 ” data-ad-product=“房产 ” data-ad-type=“房地产 ” data-ad-medias=“11111” 3.3.2.4.3 广告链接在 标签之内或由脚本动态生成时的情况。参见示例。 示例: 3.3.2.5 中包含组合内容 3.3.2.5.1 包含组合内容的 标签,是指在一个 广告位中,包含多条广告,并且这些广告
15、可 能以多种方式出现,例如文字 +图片,文字 +图片 +视频等。参见示例。 DB33/T 21792019 6 示例: 文字广告链接 文字广告链接 文字广告链接 3.3.2.5.2 对于这种情况,广告位的标注还是在 标签中进行,标注方式参见示例。 示例: 3.3.2.6 中不包含 广告位的标注信息应包括自身的媒介编码、广告位拥有者、广告媒介信息。如,假定本网站的编码 为“ 2f3r4d7u”,而该广告最后是从交易平台“ abcdef”过来的。参见示例。 示例: 3.3.2.7 中包 含 在 标签中包含嵌套的 标签,通常发生在同一广告位在不同的广告交易平台之间交 易的情况,即最终呈现在用户页面上
16、的 iframe广告位,在交易过程中有多个广告位经营者参与其中,或 者是大的广告位中的一部分被上级广告交易者作为一个广告位进行了交易 。每一个广告交易者应在自己 投放广告内容的 iframe标签中,按 3.3.2.6的要求进行广告信息标注。 3.3.2.8 其它 对于与 3.3.2.2 3.3.2.7规定之 外的情况,应按照最相近的情况进行广告位标注和广告信息标注。 3.3.3 密文 HTML标签标注 方式 3.3.3.1 密文标注的原理见图 1。 DB33/T 21792019 7 注: 参考表 1中的定义, data-alpham-x标签,就是用来承载密文标签的。 图 1 密文标注方式 3
17、.3.3.2 密文标签可能放置的地方,包括: a) 广告位: 1) div中包含文字链接; 2) div中包含图片; 3) div中包含视频和动画; 4) div中包含文字、图片、视频和动画的组合。 b) 广告位: 1) iframe中不包含 iframe; 2) iframe中包含 iframe。 c) 其他情况。 3.3.4 密文标签标注方法 3.3.4.1 以 中包含 图片为例(其它几种情况的处理方式相同),明文标注的情况下 div标签标注 见示例。参见示例。 明文标签 公钥 密文标签 RSA加密 媒介 1 明文标签 公钥 密文标签 RSA加密 媒介 2 明文标签 公钥 密文标签 RSA
18、加密 媒介 3 公钥 私钥 明文标签 RSA私钥解密 互联网广告监管 平台 互联网 DB33/T 21792019 8 示例: 3.3.4.2 上例中加粗部分的明文标注字符串,可以通过使用 互联网广告监管平台 发布的加密公钥进行 RSA加密,然后将得到的二进制结果通过 BASE64变换转成非二进制的普通字符串,并将字符串作为 data-alpham-x标签的值即可。参见示例。 示例: 4 传输 4.1 SDK采集 4.1.1 广告数据采集 SDK 4.1.1.1 广告数 据采集 SDK由各互联网广告监管平台开发,并向相关被监管媒介提供的可以直接安装 部署在媒介的 Web服务器上的开 发包。广告
19、数据包括广告信息数据和广告素材数据。 4.1.1.2 媒介通过在其 Web服务器上使用此 SDK,与相关 互联网广告监管平台 进行互联网广告的基本 内容和访问情况的数据交互。 SDK方式示意图见图 2。 4.1.1.3 采用 SDK方式进行互联网广告数据采集时,应注意: 广告数据 SDK部署在媒介平台的 Web服务器上。在互联网用户和广告平台访问媒介平台的广告 数据时,媒介的 Web服务器平台可以获得广 告的素材和访问信息。通过使用 SDK提供的方法, 媒介的相关程序可以自动将这些信息以最简单的方式暂存在本地缓存(非内存)中。缓存的信 息以一定周期压缩打包,并通过 SDK开发包提供的方法上传到
20、 互联网广告监管平台 ; 为了兼容各媒介平台的服务器软件环境,互联网广告监管平台针对主流的 Web服务器提供相应 版本的 SDK开发包。开发包可以在互联网媒介登录相关互联网广告监管平台后获取。 SDK提供 基于计算机语言的库(例如 C语言库和 Java语言类库),内部封装了广告数据获取、本地数 据缓存、复杂的通讯过程和打包过程,以及用户安全验证功 能; 媒介平台应选择适合本平台的 SDK包,再经过程序编制,实现与 互联网广告监管平台 的登录验 证、广告数据记录、广告数据传输等功能; SDK接口支持并发的数据访问,可以发起限定规模的并发数据传输请求; 使用方须按照 SDK开发指南的规定,编写合理
21、的回调方法或者协议方法; 媒介平台应按照 互联网广告监管平台 要求的抽查数据量进行相应规模的 SDK方法调用。 DB33/T 21792019 9 图 2 SDK方式示意图 4.1.2 SDK接口的形式 在 SDK的使用中,媒介平台在收到来自互联网用户或其它广告平台的广告数据请求时,在准备好广 告数据的同时,填写相应广告信息字段 调用 SDK的相应方法后,再将广告数据回复给互联网用户或其他 平台。需要填写的字段应包含并不仅限表 2的内容。 表 2 SDK接口需要填写的字段 字段名 字段含义 类型 描述 ad_name 广告名称 字符串 广告所包含产品或服务的名称(媒介自 行命名),例如,可以由
22、商标 +产品分类 + 型号名称在一起构成的唯一的广告名 称、或者是落地页的 title等 fetcher_ip 访问者地址 字符串 访问广告信息的访问者的 IP地址 ad_owner 广告主 字符串 商品经营者或服务提供者等(商品与服务广告分类标准见附录 A) ad_owner_area 广告主所在地 字符串 县级行政区划名称,标注方法为 *省 *市 *县(市、区) link_url 广告链接地址 URL字符串 访问者发起的访问链接 ad_url 广告落地页 URL字符串 广告落地页链接地址 current_date 当前时间 年月日 YYYY-MM-DD ad_type 产品分类 字符串 广
23、告中产品或服务的分类,媒介应按照附录中的产品分类填写本字段内容 DB33/T 21792019 10 表 2 SDK接口需要填写的字段 (续) 字段名 字段含义 类型 描述 ad_type 产品分类 字符 串 广告中产品或服务的分类,媒介应按照附录中的产品分类填写本字段内容 ad_text 广告文本 字符串 可能的广告文字、简述、标题等 ad_keys 广告关键字 字符串 逗号分隔 ad_material_url 广告素材地址 字符串 广告素材的 URL地址。素材可能是图片、动画和视频等 4.1.3 广告数据采集 SDK用法 互联网广告媒介平台下载合适的 SDK包后,应按照 SDK的使用指南进
24、行相应的采集程序编制工作。不 同计算机语言的 SDK包有不同的编译链接方法。 以 C语言和 Java语言为例,媒介平台的开发人员可以参考 附录 B中的 C语言 SDK包和附录 C中的 Java语 言 SDK包的使用方法。 4.1.4 SDK开发包的获取方式 媒介平台应依照本规范的要求在相关 互联网广告监管平台 上注册并通过平台的认证后,获取访问 互 联网广告监管平台 的账户。通过登录该账户,媒介相关技术人员可以免费在 互联网广告监管平台 WEB页 面的下载板块,选择合适的 SDK包下载。 4.2 HTTP交互 4.2.1 交互方式 4.2.1.1 广告信息数 据包定义了广告信息数据的内容组织方
25、式,实际的打包数据,要通过本章中定义 的传输方式,由媒介平台发送到 互联网广告监管平台 。 4.2.1.2 媒介平台需要在相关 互联网广告监管平台 (例如: )注册并获得有效的 访问账号。具体的广告数据传输过程为:登录 互联网广告监管平台 、发送广告数据、获取违法广告线索。 媒介平台应及时删除涉嫌违法广告或与涉嫌违法的广告断开链接。 4.2.1.3 HTTP广告数据传输方式,具体使用范围由 互联网广告监管平台 方确定( 互联网广告监管平台 须根据业务需要和工作的推进确定相应的使用范围)。 4.2.1.4 媒介平台的客户端程序(以下简称客户端)是由媒介开发人员编写的,遵循 HTTP协议通讯。 通
26、过访问 互联网广告监管平台 发布的监管服务器地址,与 互联网广告监管平台 进行交互。媒介平台的相 关程序通过与 互联网广告监管平台 的服务程序交互完成广告数据上传和违法广告数据下载等过程。 4.2.1.5 交互过程总是由客户端发起 HTTP请求并得到 互联网广告监管平台 服务器的回复。其中,广告 数据的上传是通过客户端发起的 HTTP请求的 HTTP包体来承载的。 4.2.1.6 客户端发起的 HTTP请求项目如下: a) 登录请求; b) 发送广告数据请求; c) 请求违法数据; d) 发送违法广告详情请求。 4.2.1.7 互联网广告监管平台 响应客户端的请求,并返回相应的请求结果。客户端
27、需要正确处理 HTTP 回复的状态,以决定是否需要重新传送或终止传送过程。 DB33/T 21792019 11 4.2.1.8 客户端和 互联网广告监管平台 之间 传输的广告信息数据应采用 JSON格式进行编码,广告素材 数据(图片、视频等)则通过二进制数据传输。本规范未详细阐述 JSON格式的具体定义和要求,请参 考 JSON格式的相关资料。 4.2.1.9 客户端以 POST方式发起 HTTP命令请求和数据上传请求,包括实现身份认证、数据请求和数 据传输过程。其中,客户端上传和下载数据之前必须完成身份认证过程。 4.2.1.10 广告信息数据采用文件方式存储,多条广告信息以下文中规定的格
28、式保存在一个文件中,通 过 HTTP协议传输到 互联网广告监管平台 相应的服务器上。对于较大的存储文件必须经压缩处理后传输。 4.2.1.11 为提高广告 数据传输的效率以及传输过程中的稳定性问题,各媒介平台将需要传输的数据, 以压缩方式( gzip),分片成一组较小的压缩包,批量传输到 互联网广告监管平台 。 4.2.2 交互保障 4.2.2.1 媒介编码的获取与应用 4.2.2.1.1 媒介平台需要在相关 互联网广告监管平台 (例如: )注册并获得有效 的账号。完成注册的媒介平台将会获得 互联网广告监管平台 分配的唯一识别编码,被使用在广告数据传 输过程,并需要在发布广告的源代码中使用该编
29、码进行广告信息标注,具体的标注方法请参考第 3章。 4.2.2.1.2 媒介平台应切实履行广告审查和广告发布行为管理责任,自 觉履行并要求相关媒介在互联 网广告发布活动中使用唯一识别编码,以及根据本规范的要求进行信息标注,接受 互联网广告监管平台 的识别和监测,依法依规开展广告发布活动。 4.2.2.1.3 媒介平台应要求参与同一广告发布活动的相关媒介在广告内容的代码中,标注或保留涉及 广告主、广告产品、广告来源和发布路径的编码和代码。网站广告位最外层页面元素的代码中,应标识 网站自身的编码。具体标注方法请参考第 3章。 4.2.2.2 广告数据传输内容 4.2.2.2.1 向 互联网广告监管
30、平台 传输 的广告数据内容应包括广告名称、发布媒体、广告主名称、广 告主所在地、广告内容、广告链接地址、广告落地页 地址等。传输的广告数据应真实、准确,不得虚构 或隐瞒。相同广告的广告主信息和广告内容,应去重后传输。不得传输除上述广告数据内容以外的数据, 相关媒介在不执行数据传输命令时,应及时断开与 互联网广告监管平台 的连接。 4.2.2.2.2 媒介平台应对 互联网广告监管平台 通报的违法广告线索及时反馈和整改。 4.2.3 数据包 4.2.3.1 单条广告数据的格式 4.2.3.1.1 单条广告的广告信息数据应包含该广告在当前计算周期(如每天)的综合统计和记录信息。 单条广告信息数据使用
31、 JSON格式组织。参见示例。 示例: ad_name: “”, media_name: “”, ad_owner: “”, ad_owner_area: “北京 ”, link_url: “ / 初始化过程,返回初始化结果 int record_one_ad_data(char *json_string); / 发送一条广告数据 extern void on_upload_timer(); / 回调函数,处理上传定时 int send_ad_data(char *path_name,); / 发送广告信息数据 extern void on_ad_proc_fail(interror_num)
32、; / 回调函数,错误处理程序 DB33/T 21792019 21 B.1.6 C语言 SDK开发包的使用符合标准 Linux/Unix平台的 C语言开发模式。开发者(媒介)需要在 自己的代码中包含必要的头文件,然后调用开发包中的函数。见示例。具体的函数与参数要求,以实际 使用的 SDK开发包为准。 示例: #include “ad_data_proc.h” B.1.7 开发好的广告数据传输程序,在编译的时候,需要链接广告数据 SDK开发包的库文件,生成可 执行文件或库文件,示例见图 B.4。具体的函数与参数要求,以实际使用的 SDK开发包为准。 示例: 命令行 gcco demo_prog
33、ram -L 链接库所在目录 lad_data_proc 注: 互联网广告媒介平台的可执行文件的部署方法,本标准不做具体要求,平台可以按照自己的实际情况编译出一 个或多个可执行文件,并将它们使用在自己的广告业务脚本中。 DB33/T 21792019 22 B D 附 录 C (规 范性附录) Java语言开发包用法 C.1 用法 C.1.1 Jar包由 互联网广告监管平台 提供,应用于 Java开发环境的程序开发。 C.1.2 与 C语言不同的是,为广告数据 SDK开发的 Jar包,是以被封装成类 AdDataProc和协议 AdDataProtocol的方式提供的。具体类名和协议名,以实际
34、使用的 SDK开发包为准,此处为示意。 C.1.3 在 AdDataProtocal协议中,定义了使用者必须实现的方法,包括错误处理方法和处理接收到的 违法广告列表的方法。广告数据 SDK的 Java接口的定义参见示例。 示例: interface AdDataProtocol void OnUploadTimer(); / 处理上传定时 void OnError(interrNum); / 错误处理方法 ; C.1.4 实现媒介自身的广告数据记录和传输类参见示例。 示例: import AlphaM.AdDataProc; public class MyAdDataProcexterndsA
35、dDataProc implements AdDataProtocol void OnUpdateTimer() / 读取本地缓存 / 压缩、打包数据 / 清理本地缓存 void OnError(interrNum) / 错误处理 C.1.5 广告数据类 AdDataProc包含的方法参见示例。为了使用广告数据 Jar包,应将 Jar包的路径加 入 CLASSPATH或者在命令行编译时,指定 Jar包的位置。 示例: class AdDataProc bool RecordOneAdData(String *json_string); / 记录一条广告数据 bool SendAdData(String *path_name); / 发送广告数据到监管平台 DB33/T 21792019 23 DB33/T 21792019 24 参 考 文 献 1 互联网广告管理暂行办法(工商总局 87号令, 2016年 9月 1日施行)。 2 工商总局、国家标准委关于加强广告业标准化工作的指导意见(工商广字 2017 143号)。 3 YG/B 3.15-2015 中国移动互联网广告标准。 4 GB/T 10001 标志用公共信息图形符号。 _