setAudience
setAudience(String sessionID, NameValuePairImpl[] audienceID, 
String audienceLevel, NameValuePairImpl[] parameters)
La méthode setAudience vous permet de définir l'ID d'audience et le niveau d'un visiteur.
*
sessionID — Chaîne identifiant l'ID session.
*
audienceID — Tableau d'objets NameValuePairImpl définissant l'ID d'audience.
*
audienceLevel — Chaîne définissant le niveau d'audience.
*
parameters — Objets NameValuePairImpl identifiant tous les paramètres à passer avec setAudience. Ces valeurs sont stockées dans les données de session et peuvent être utilisées pour la segmentation.
Vous devez avoir une valeur dans chaque colonne de votre profil. Il s'agit d'un sur-ensemble de toutes les colonnes de toutes les tables définies pour le canal interactif et de toutes les données en temps réel. Si vous avez déjà rempli toutes les données de session avec startSession ou postEvent, vous n'avez pas besoin d'envoyer de nouveaux paramètres.
La méthode setAudience déclenche une resegmentation. La méthode getOffers attend la fin de la resegmentation avant de s'exécuter. Par conséquent, si vous appelez une méthode setAudience juste avant un appel getOffers, il peut y avoir un retard.
La méthode setAudience charge également les données de profil de l'ID d'audience. Vous pouvez utiliser la méthode setAudience pour forcer un rechargement des mêmes données de profil chargées par la méthode startSession.
Valeur de retour
Le serveur d'exécution répond à setAudience à l'aide d'un objet de réponse dans lequel les attributs suivants sont renseignés :
*
*
*
*
Exemple
Dans cet exemple, le niveau d'audience reste le même, mais l'ID change, comme si un utilisateur anonyme se connectait et était identifié.
sessionId et audienceLevel sont les mêmes chaînes permettant d'identifier la session et le niveau d'audience utilisés par l'appel startSession qui a démarré cette session.
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());