如何使用OpenRTB协议在Python中设置扩展com.google.doubleclick.bid.impression\u tracking\u url?

2024-04-18 23:39:46 发布

您现在位置:Python中文网/ 问答频道 /正文

openrtb-proto

adx-proto

现在我想将extensions com.google.doubleclick.bid.impression\u tracking\u url设置为message,我希望得到如下结果:

BidResponse {
seatbid{
  bid{ 
   [com.google.doubleclick.bid]{
   impression_tracking_url:xxx
}
}
}
}

我的代码:

bid_resp_bid = openrtb_proto_pb2.BidResponse().seatbid.add().bid.add()


bid_resp_bid.Extensions[ openrtb_adx_proto_pb2.bid ].impression_tracking_url.extend([nurl + '&crid=' + crid])
p = bidResponse.SerializeToString() # protobuf  serilazed data
bid_esponse = openrtb_proto_pb2.BidResponse()
bid_esponse.ParseFromString(p)# unserilazed protobuf  data

但我不知道为什么,现在我得到了这样的结果:

BidResponse {
seatbid{
  bid{ 
   [com.google.doubleclick.bid.bid]{
   impression_tracking_url:xxx
}
}
}
}

正如您所看到的,我得到了更多的出价(com.google.doubleclick.bid.bid),因为doc我使用它是正确的。 原始文件定义:

    extend com.google.openrtb.BidResponse.SeatBid.Bid {
    // Extension key for AdX Bid.ext.
    optional BidExt bid = 1014;
    }
    message BidExt {
    // [AdX: BidResponse.Ad.impression_tracking_url]
    repeated string impression_tracking_url = 1;
    }

你能帮我解决这个问题吗?谢谢


Tags: comurlmessagegoogletrackingxxxprotopb2