getOffers
getOffers(String sessionID, String interactionPoint, int numberOfOffers)
getOffers 메소드를 사용하여 런타임 서버로부터 오퍼를 요청할 수 있습니다.
*
sessionID - 현재 세션을 식별하는 문자열입니다.
*
interactionPoint - 이 메소드가 참조하는 상호작용 지점의 이름을 식별하는 문자열입니다.
*
*
numberOfOffers - 요청한 오퍼 수를 정의하는 정수입니다.
getOffers 메소드는 실행 전에 segmentationMaxWaitTimeInMS 특성에 정의된 시간(밀리초) 동안 모든 재세그먼트가 완료되기를 기다립니다. 따라서 getOffers 호출 직전에 재세그먼트 또는 setAudience 메소드를 트리거하는 postEvent 메소드를 호출하면 지연이 있습니다.
리턴 값
런타임 서버는 다음 속성이 채워진 Response 오브젝트로 getOffers에 응답합니다.
*
*
*
*
*
다음 예는개요 페이지 배너 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());