如何使自托管预投标服务器与 AMP 一起工作?

How to make self hosted prebid server work with AMP?

github 存储库没有提及任何关于如何使用自托管服务器与 AMP 一起工作的内容。在服务器中存储请求后,他们提供了一个端点来访问:

/openrtb2/amp?tag_id={ID} //id is the file name of request stored.

我确实得到了空的定位响应(因为服务器在本地设置)。但是这些数据将如何到达 amp 页面?应该在哪里请求这个端点? 我在 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

好的,想通了..

文档参考:https://github.com/ampproject/amphtml/blob/master/extensions/amp-a4a/rtc-publisher-implementation-guide.md#setting-up-rtc-config

所以,首先我们制作一个 amp-ad 标签,其中我们有 rtc-config 属性。由于我们使用的是自己的服务器,因此我们需要将其添加到 url 属性 中,如文档中的示例所述。

<amp-ad width="320" height="50"
        type="network-foo"
        data-slot="/1234/5678"
        rtc-config={"urls":["our-server-url"]}>
</amp-ad>

服务器返回的定位数据将由 amp-ad 标记获取,并将附加到广告服务器请求中。

此外,我们可以向 github 上的 amphtml 存储库发出拉取请求,以在 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>