首页 > 解决方案 > 如何使自托管的预投标服务器与 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

标签: self-hostingaccelerated-mobile-pageprebid.jsamp-ad

解决方案


好的,想通了这件事..

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

所以,首先我们制作一个 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>

推荐阅读