重要提示:此文档不适用于您当前选择的格式 网站!
amp-ad-custom
描述
提供有效 AMPHTML 广告的另一种方法。
必需的脚本
<script async custom-element="amp-ad-custom" src="https://cdn.ampproject.org/v0/amp-ad-custom-0.1.js"></script>
概述
AMP 模板广告是提供有效 AMPHTML 广告的另一种方式,无需进行复杂的服务时间验证和签名。其核心思想是加载以 AMP 编写并从授权的 AMP 代理服务器提供的广告模板,并使用从广告服务器获取的 JSON 格式的广告数据在客户端渲染广告。
对于任何要提供 AMPHTML 模板广告的广告网络,集成包括 3 个部分
- AMPHTML 广告模板创建
- 广告服务器更改:广告服务端点
- AMP 中的广告标签
AMPHTML 广告模板创建
广告网络以 AMP 格式创建广告模板,并将它们托管在自己的域上,类似于规范的 AMP 页面。
例如,adnetwork.com 可以在以下 URL 托管一个模板:https://adnetwork.com/amp_template_1.html
。相应的 AMP 代理 URL 是:https://adnetwork-com.cdn.ampproject.org/ad/s/adnetwork.com/amp_template_1.html.
广告网络的域名(来源)用作命名空间,URL 路径用作其 ID。
代理服务器在首次请求时缓存模板。它遵循与普通 AMP 页面相同的陈旧时重新验证缓存策略,这意味着每次缓存命中后,都会在后台发出同步请求。
为确保模板是有效的 AMPHTML,广告网络必须向缓存 URL 发出 HTTP 请求,如果无效,则返回 4XX 错误。这也将预热缓存,从而加快首次广告加载速度。可以按照上述规则(请参阅此处的详细 URL 格式)从规范的 AMP URL 转换缓存 URL。
要更新模板,广告网络只需更新其域上的页面,然后发出另一个缓存预热请求。
广告服务器
广告网络需要提供一个新的服务端点,该端点以 JSON 格式返回 CORS 响应
{ templateUrl: "https://adexample.com/amp_template_1.html", data: { clickUrl: "https://buy.com/buy-1", buttonText: "Buy now" }, analytics: { type: "googleanalytics", config: { ... } } }
该响应需要一些自定义标头
- CORS 的自定义标头
- AMP-Ad-Template-Extension: amp-mustache
- Amp-Ad-Response-Type: template
广告标签
可以使用 amp-ad-custom
扩展快速声明广告位,使用在 data 属性上设置的键值对来形成广告请求。一个示例广告位可能如下所示
<amp-ad-custom width="320" height="50" src="http://www.my-ad-network.com" data-request-param-{param_1}="{val_1}" data-request-param-{param_2}="{val_2}" . . . data-request-param-{param_N}="{val_N}" > </amp-ad-custom>
生成的广告请求 URL 将是:http://www.my-ad-network.com?{param_1}={val_1}&{param_2}={val_2}&...&{param_N}={val_N}
。
您已经阅读本文档十几次了,但它并没有真正涵盖您的所有问题?也许其他人也有同样的感觉:在 Stack Overflow 上联系他们。
转到 Stack Overflow 发现错误或缺少功能?AMP 项目强烈鼓励您的参与和贡献!我们希望您成为我们开源社区的持续参与者,但我们也欢迎您对您特别感兴趣的问题进行一次性贡献。
转到 GitHub