setAudience
setAudience(String sessionID, NameValuePairImpl[] audienceID, 
String audienceLevel, NameValuePairImpl[] parameters)
El método setAudience permite establecer el ID y el nivel de audiencia para un visitante.
*
sessionID: cadena que identifica el ID de sesión.
*
audienceID: matriz de objetos NameValuePairImpl que define el ID de audiencia.
*
audienceLevel: cadena que define el nivel de audiencia.
*
parameters: objetos NameValuePairImpl que identifican los parámetros que se deben pasar con setAudience. Estos valores se almacenan en los datos de sesión y pueden utilizarse para la segmentación.
Debe tener un valor para cada columna de su perfil. Este es un superconjunto de todas las columnas de todas las tablas definidas para el canal interactivo y los datos en tiempo real. Si ya ha completado todos los datos de sesión con startSession o postEvent, no es necesario enviar nuevos parámetros.
El método setAudience desencadena una resegmentación. El método getOffers espera a que la resegmentación finalice antes de ejecutarse. Por lo tanto, si invoca un método setAudience inmediatamente antes de una llamada getOffers, puede producirse un retardo.
El método setAudience también carga los datos del perfil para el ID de audiencia. Puede utilizar el método setAudience para forzar que se vuelvan a cargar los mismos datos del perfil cargados por el método startSession.
Valor de retorno
El servidor de ejecución responde a setAudience con un objeto de respuesta con los siguientes atributos completados:
*
*
*
*
Ejemplo
En este ejemplo, el nivel de audiencia permanece igual, pero el ID cambia, como si un usuario anónimo inicia una sesión y pasa a ser conocido.
sessionId y audienceLevel son las mismas cadenas que identifican la sesión y el nivel de audiencia utilizados por la llamada startSession que ha iniciado esta sesión.
NameValuePair custId2 = new NameValuePairImpl();
custId2.setName("CustomerId");
custId2.setValueAsNumeric(123.0);
custId2.setValueDataType(NameValuePair.DATA_TYPE_NUMERIC);

NameValuePair[] newAudienceId = { custId2 };

/** Los parámetros también pueden pasarse. Para este ejemplo, no hay parámetros y se pasa null */
NameValuePair[] noParameters=null;

/** Realizar la llamada */
response = api.setAudience(sessionId, newAudienceId, audienceLevel, noParameters);

/** Procesar la respuesta según corresponda */
// comprobar si la respuesta es satisfactoria o no
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");
}

// Para los errores, deben aparecer mensajes de aviso explicando por qué
if(response.getStatusCode() != Response.STATUS_SUCCESS)
printDetailMessageOfWarningOrError("setAudience",
response.getAdvisoryMessages());