getOffers
getOffers(String sessionID, String interactionPoint, int numberOfOffers)
getOffers 方法使您可以从运行时服务器中请求商品。
*
sessionID - 用于标识当前会话的字符串。
*
interactionPoint - 字符串,用于标识此方法引用的交互点的名称。
*
*
numberOfOffers - 用于标识请求的商品数量的整数。
getOffers 方法在运行之前,将等待 segmentationMaxWaitTimeInMS 属性中定义的毫秒数以使所有细分市场重新划分完成。因此,如果您调用可触发细分市场重新划分的 postEvent 方法,或者在 getOffers 调用的前一刻调用 setAudience 方法,那么可能会有延迟。
返回值
运行时服务器对应于 getOffers,后者包含填充了以下属性的 Response 对象:
*
*
*
*
*
示例
此示例显示了为“概述页面条幅 1”交互点请求单个商品以及处理响应的方法。
sessionId 是相同字符串,用于标识启动此会话的 startSession 调用所使用的运行时会话。
String interactionPoint = "Overview Page Banner 1";
int numberRequested=1;

/** Make the call */
response = api.getOffers(sessionId, interactionPoint, numberRequested);

/** Process the response appropriately */
// check if response is successful or not
if(response.getStatusCode() == Response.STATUS_SUCCESS)
{
System.out.println("getOffers call processed with no warnings or errors");

/** Check to see if there are any offers */
OfferList offerList=response.getOfferList();

if(offerList.getRecommendedOffers() != null)
{
for(Offer offer : offerList.getRecommendedOffers())
{
// print offer
System.out.println("Offer Name:"+offer.getOfferName());
}
}
else // count on the default Offer String
System.out.println("Default offer:"+offerList.getDefaultString());
}
else if(response.getStatusCode() == Response.STATUS_WARNING)
{
System.out.println("getOffers call processed with a warning");
}
else
{
System.out.println("getOffers call processed with an error");
}
// For any non-successes, there should be advisory messages explaining why
if(response.getStatusCode() != Response.STATUS_SUCCESS)
printDetailMessageOfWarningOrError("getOffers",
response.getAdvisoryMessages());