setAudience
setAudience(String sessionID, NameValuePairImpl[] audienceID, 
String audienceLevel, NameValuePairImpl[] parameters)
setAudience メソッドを使用して、訪問者のオーディエンス ID とレベルを設定できます。
*
sessionID - セッション ID を識別する文字列。
*
audienceID - オーディエンス ID を定義する NameValuePairImpl オブジェクトの配列。
*
audienceLevel - オーディエンス・レベルを定義する文字列。
*
parameters - setAudience を使用して渡す必要のあるパラメーターを識別する NameValuePairImpl オブジェクト。これらの値はセッション・データに格納され、セグメンテーションに使用できます。
プロファイルのすべての列に値が必要です。 これは、対話式チャネルおよびリアルタイム・データ用に定義されたすべてのテーブルのすべての列のスーパーセットです。 startSession または postEvent を使用してすべてのセッション・データを既に追加済みの場合は、新しいパラメーターを送信する必要はありません。
setAudience メソッドは、再セグメンテーションをトリガーします。 getOffers メソッドは、実行する前に、再セグメンテーションが完了するまで待機します。 したがって、getOffers 呼び出しの直前に setAudience メソッドを呼び出す場合は、遅延が生じる可能性があります。
setAudience メソッドは、オーディエンス ID のプロファイル・データもロードします。 setAudience メソッドを使用して、startSession メソッドでロードされる同じプロファイル・データを強制的に再ロードすることができます。
戻り値
ランタイム・サーバーは、以下の属性が設定されたレスポンス・オブジェクトを使用して setAudience に応答します。
*
*
*
*
この例の場合、オーディエンス・レベルは同じままですが、匿名ユーザーがログインし、既知のユーザーになる場合のように、ID が変わります。
sessionId および audienceLevel は、このセッションを開始した startSession 呼び出しで使用するセッションおよびオーディエンス・レベルを識別する同じ文字列です。
NameValuePair custId2 = new NameValuePairImpl();
custId2.setName("CustomerId");
custId2.setValueAsNumeric(123.0);
custId2.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

NameValuePair[] newAudienceId = { custId2 };

/** Parameters can be passed in as well. For this example, there are no parameters,
* therefore pass in null */
NameValuePair[] noParameters=null;

/** Make the call */
response = api.setAudience(sessionId, newAudienceId, audienceLevel, noParameters);

/** Process the response appropriately */
// check if response is successful or not
if(response.getStatusCode() == Response.STATUS_SUCCESS)
{
System.out.println("setAudience call processed with no warnings or errors");
}
else if(response.getStatusCode() == Response.STATUS_WARNING)
{
System.out.println("setAudience call processed with a warning");
}
else
{
System.out.println("setAudience call processed with an error");
}

// For any non-successes, there should be advisory messages explaining why
if(response.getStatusCode() != Response.STATUS_SUCCESS)
printDetailMessageOfWarningOrError("setAudience",
response.getAdvisoryMessages());