public interface ExchangeAdapter<RequestType,ResponseType>
Copyright © Enremmeta LLC 2015. All Rights Reserved.
Modifier and Type | Interface and Description |
---|---|
static class |
ExchangeAdapter.BidChoiceAlgorithm
What to return.
|
Modifier and Type | Method and Description |
---|---|
default String |
checkExchangeTargeting(OpenRtbRequest req,
Impression imp,
ExchangeTargeting targeting)
Check any exchange-specific targeting.
|
OpenRtbRequest |
convertRequest(RequestType req) |
ResponseType |
convertResponse(OpenRtbRequest req,
OpenRtbResponse resp) |
default void |
debug(String msg) |
default void |
error(String msg) |
default void |
error(String msg,
Throwable t) |
default void |
fillPlatformInfoFromUa(OpenRtbRequest req) |
default ExchangeAdapter.BidChoiceAlgorithm |
getBidChoiceAlgorithm()
Defaults to
ExchangeAdapter.BidChoiceAlgorithm.MAX . |
String |
getClickEncMacro() |
String |
getClickMacro() |
default long |
getDefaultTimeout()
What is the default timeout, in milliseconds (default, because timeout can also be provided
dynamically as
OpenRtbRequest.getTmax() on each request, which takes precedence). |
String |
getName() |
default javax.ws.rs.core.Response.ResponseBuilder |
getOptoutBuilder(OpenRtbRequest req)
Get a
Response.ResponseBuilder proper for the opt-out response for this exchange. |
default String |
getPartnerInitiatedSyncUrl(String myUserId) |
String |
getResponseMediaType() |
default String |
getSampleWinningPrice()
Return sample winning price suitable for decoding with
parse(String, long) |
default String |
getSeat(Ad ad) |
String |
getWinningPriceMacro()
Winning price macro.
|
default long |
getWinTimeout()
How long, in seconds, to wait, before declaring a loss.
|
default void |
info(String msg) |
default boolean |
isAggregator() |
default boolean |
isMacrosInNurl() |
default boolean |
isNurlRequired()
Whether
NUrl is required (two-step response). |
boolean |
localUserMapping()
Whether the mapping of
our user ID to exchange
ID is stored by us. |
default Map<String,Object> |
makeExchangeSpecificInstructionsMap() |
default Bid |
massageBid(OpenRtbRequest req,
Impression imp,
Tag tag,
Bid bid)
Post-process a bid.
|
ParsedPriceInfo |
parse(String winningPriceString,
long bidMicros) |
default void |
parseUserId(String userId,
OpenRtbRequest req) |
default javax.ws.rs.core.Response.ResponseBuilder |
setHeaders(OpenRtbResponse bResp,
javax.ws.rs.core.Response.ResponseBuilder builder) |
default void |
trace(String msg) |
default boolean |
trueWinOnNurlOrImpression()
Whether the true win is known by the
winning price , gotten
either during the call of NUrl or out of band. |
default List<String> |
validateAd(Ad ad)
For calls from
Ad.validate() , for example. |
default void parseUserId(String userId, OpenRtbRequest req)
default Map<String,Object> makeExchangeSpecificInstructionsMap()
default void info(String msg)
default void debug(String msg)
default void trace(String msg)
default void error(String msg)
default void fillPlatformInfoFromUa(OpenRtbRequest req)
default javax.ws.rs.core.Response.ResponseBuilder getOptoutBuilder(OpenRtbRequest req)
Response.ResponseBuilder
proper for the opt-out response for this exchange. Default is
to send a 204
.default boolean isMacrosInNurl()
default javax.ws.rs.core.Response.ResponseBuilder setHeaders(OpenRtbResponse bResp, javax.ws.rs.core.Response.ResponseBuilder builder)
default long getWinTimeout()
default String getSampleWinningPrice()
parse(String, long)
default ExchangeAdapter.BidChoiceAlgorithm getBidChoiceAlgorithm()
ExchangeAdapter.BidChoiceAlgorithm.MAX
.default boolean isAggregator()
String getResponseMediaType()
String getName()
default boolean isNurlRequired()
NUrl is required
(two-step response). Since most exchanges for
now accept single-step response (returning the entire markup at once
, we
default the implementation to false.default boolean trueWinOnNurlOrImpression()
winning price
, gotten
either during the call of NUrl or out of band. For example, OpenX
does the latter, and so a true Win should be registered in
StatsSvc.resultsOpenX(javax.ws.rs.core.UriInfo, String, com.enremmeta.rtb.proto.openx.AuctionResultMessage, String, javax.servlet.http.HttpServletRequest, String, javax.ws.rs.core.HttpHeaders)
StatsSvc#nurl(javax.ws.rs.core.UriInfo, String, String, String, String, String, String,
String, String, String, String, long, String, String, String, String, String, String,
javax.servlet.http.HttpServletRequest, String, String, String, String, String)
,
LogUtils.logWin(String, String, String, String, String, String, String, double, long,
long, long, String, String, String, String, String,
javax.servlet.http.HttpServletRequest, String, Long, String, java.net.URI, boolean,
String, String, String, String, String, String, boolean, boolean, String)
,
StatsSvc.impression(javax.ws.rs.core.UriInfo, String, String, String, String, String,
String, String, String, String, long, String, int, String, String, String, String,
String, String, String, javax.servlet.http.HttpServletRequest, String,
javax.ws.rs.core.HttpHeaders, String, String)
default long getDefaultTimeout()
OpenRtbRequest.getTmax()
on each request, which takes precedence).String getWinningPriceMacro()
parse(String, long)
boolean localUserMapping()
our user ID
to exchange
ID
is stored by us.OpenRtbRequest convertRequest(RequestType req) throws Throwable
Throwable
ResponseType convertResponse(OpenRtbRequest req, OpenRtbResponse resp) throws Throwable
Throwable
ParsedPriceInfo parse(String winningPriceString, long bidMicros) throws Throwable
Throwable
getWinningPriceMacro()
String getClickMacro()
String getClickEncMacro()
default Bid massageBid(OpenRtbRequest req, Impression imp, Tag tag, Bid bid)
Tag.getBid(OpenRtbRequest, Impression)
default String checkExchangeTargeting(OpenRtbRequest req, Impression imp, ExchangeTargeting targeting)
checkExchangeTargeting(OpenRtbRequest, Impression, ExchangeTargeting)
default List<String> validateAd(Ad ad)
Ad.validate()
, for example. Same semantics. Default implementation is
to return null.