getOffers
getOffers(String sessionID, String interactionPoint, int numberOfOffers)
getOffers メソッドを使用して、ランタイム・サーバーからのオファーを要求できます。
*
sessionID - 現行セッションを識別する文字列。
*
interactionPoint - このメソッドが参照するインタラクション・ポイントの名前を識別する文字列。
*
*
numberOfOffers - 要求されるオファーの数を識別する整数。
getOffers メソッドは、segmentationMaxWaitTimeInMS プロパティーに定義された時間 (ミリ秒単位) 待機し、すべての再セグメンテーションが完了してから実行されます。 したがって、getOffers 呼び出しの直前に、再セグメンテーションまたは setAudience メソッドをトリガーする postEvent メソッドを呼び出す場合は、遅延が生じる可能性があります。
戻り値
ランタイム・サーバーは、以下の属性が設定されたレスポンス・オブジェクトを使用して getOffers に応答します。
*
*
*
*
*
この例は、Overview Page Banner 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());