self-hosting - 如何使自托管的预投标服务器与 AMP 一起使用?
问题描述
github repo 没有提及如何使用自托管服务器与 AMP 一起使用。在将请求存储在服务器中后,他们提供了一个可供访问的端点:
/openrtb2/amp?tag_id={ID} //id is the file name of request stored.
我确实得到了空的定位响应(因为服务器在本地设置上)。但是这些数据将如何到达放大器页面?应该在哪里请求这个端点?我在 AMP 文档中读到用户生成的 js 在 AMP 中不起作用。我还在 amp 广告标签上设置了 rtc 配置,并根据供应商配置(callout-vendor.js)添加供应商,它将请求发送到投标人的预投标服务器 url。例如:
如果我在 rtc-config 供应商中添加 appnexus,请求将发送到:
https://prebid.adnxs.com/pbs/v1/openrtb2/amp?tag_id={id of tag}
我如何请求转到自托管的预投标服务器 url
解决方案
好的,想通了这件事..
所以,首先我们制作一个 amp-ad 标签,其中我们有rtc-config
属性。因为,我们使用的是我们自己的服务器,所以我们需要将它添加到url
属性中,如 doc 中的示例中所述。
<amp-ad width="320" height="50"
type="network-foo"
data-slot="/1234/5678"
rtc-config={"urls":["our-server-url"]}>
</amp-ad>
服务器返回的定位数据将由 amp-ad 标签获取并附加到 adserver 请求中。
此外,我们可以向 github 上的 amphtml repo 发出拉取请求,以在 callout-vendor.js 文件中添加我们的服务器 url
文件参考:https ://github.com/ampproject/amphtml/blob/master/extensions/amp-a4a/0.1/callout-vendors.js
然后,amp-ad 标记将如下所示:
<amp-ad width="320" height="50"
type="network-foo"
data-slot="/1234/5678"
rtc-config={"vendors": {"serverAliasAsSetInCalloutVendorFile": {"MACRO1": "MacroValue"}}>
</amp-ad>
推荐阅读
- perl - 从 db 值计算 perl cgi
- python - Tk() 和 Frame() 有什么区别?
- node.js - 使用 nodejs 生成数百万个模拟数据
- version-control - 您如何在 mercurial 中找到两个标签之间的变更集?
- arrays - 将 numpy 数组转换为 ctype 数组的最快方法是什么?
- php - Angular 应用程序中的 HttpErrorResponse | PHP API
- r - 过滤两个日期之间的数据框
- tomcat - Apache Tomcat 未在 Windows 7 中启动
- android - android api 23中的导航视图通货膨胀错误
- mysql - Mybatis:limit offset,length不像mysql-client