gpt4 book ai didi

java - 使用 Java 在 openRTB 中创建 protobuf 扩展

转载 作者:行者123 更新时间:2023-11-30 07:23:33 25 4
gpt4 key购买 nike

我正在尝试在 openRTB protobuf 请求中创建扩展,但我不知道如何创建。正如他们在文档(https://github.com/google/openrtb/wiki)中所说,我应该可以做这样的事情:

BidRequest request = BidRequest.newBuilder()
// ... add Imp, etc.
.addDevice(Device.newBuilder()
.setModel("Nexus 85")
// ... other standard Device fields
.setGeo(Geo.newBuilder()
.setCountry("USA")
.setCity("Newer York")
.zetZip("102879")
.setExtension(SpaceAdsExt.planet, "Mars")))
.build();

在此示例中,他们设置了一个名为 SpaceAdsExt.planet 的自定义扩展。我如何实现这样的扩展?

最佳答案

BidRequest 原型(prototype)为扩展保留了一定范围的标签号。根据其定义here ,标签200到999和2000到9999保留供交易所和项目扩展。您需要创建一个 .proto 文件,通过为这些标签编号之一定义扩展名来扩展 BidRequest。看起来像这样:

extend com.google.openrtb.BidRequest {
optional MyExtension my_extension = 2111;
}

有关更多详细信息,请参阅 Protocol Buffer 文档 here 。需要注意的一件事是,您必须为您的扩展选择一个唯一的标签号 - 如果其他人定义了与您选择的标签号相同的扩展,则可能会导致数据损坏。我建议与 OpenRTB 开发人员联系,看看他们是否有确保分机号唯一性的约定。

关于java - 使用 Java 在 openRTB 中创建 protobuf 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37143416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com