setAudience
setAudience(String sessionID, NameValuePairImpl[] audienceID, 
String audienceLevel, NameValuePairImpl[] parameters)
setAudience 方法使您可以为访问者设置受众标识和级别。
*
sessionID - 用于标识会话标识的字符串。
*
audienceID - 用于定义受众标识的一组 NameValuePairImpl 对象。
*
audienceLevel - 用于定义受众级别的字符串。
*
parameters - NameValuePairImpl 对象,用于标识需要与 setAudience 一起传递的任何参数。这些值存储在会话数据中,并且可以用于细分市场。
您必须为概要文件中的每个列提供一个值。这是为交互式渠道和任何实时数据定义的所有表中所有列的超集。如果您已使用 startSessionpostEvent 填充了所有会话数据,那么不需要发送新参数。
setAudience 方法可触发细分市场重新划分。 getOffers 方法在运行之前将等待细分市场重新划分完成。因此,如果您在 getOffers 调用之前立即调用 setAudience 方法,那么可能会有延迟。
setAudience 方法还将装入受众标识的概要文件数据。您可以使用 setAudience 方法来强制重新装入由 startSession 方法装入的相同概要文件数据。
返回值
运行时服务器对应于 setAudience,后者包含填充了以下属性的 Response 对象:
*
*
*
*
示例
对于此示例,受众级别保持相同,但是标识发生更改,就如同匿名用户登录并且变为已知。
sessionIdaudienceLevel 是相同字符串,用于标识启用此会话的 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());