setAudience
setAudience(String sessionID, NameValuePairImpl[] audienceID, 
String audienceLevel, NameValuePairImpl[] parameters)
Mit der setAudience-Methode können Sie die Zielgruppen-ID und die Zielgruppenebene für Besucher festlegen.
*
sessionID - eine Zeichenfolge zur Identifizierung der Sitzungs-ID.
*
audienceID — ein Array von NameValuePairImpl-Objekten zum Definieren der Zielgruppen-ID.
*
audienceLevel - eine Zeichenfolge zum Definieren der Zielgruppenebene.
*
parametersNameValuePairImpl-Objekte zum Identifizieren aller Parameter, die mit setAudience übergeben werden müssen. Diese Werte werden in den Sitzungsdaten gespeichert und können zur Segmentierung verwendet werden.
Sie benötigen für jede Spalte in Ihrem Profil einen Wert. Dies ist eine Obermenge aus allen Spalten in den Echtzeitdaten und in allen Tabellen, die für den interaktiven Kanal definiert sind. Wenn Sie bereits alle Sitzungsdaten mit startSession oder postEvent ausgefüllt haben, ist es nicht erforderlich, neue Parameter zu senden.
Die setAudience-Methode löst eine erneute Segmentierung aus. Die getOffers-Methode wartet, bis die erneute Segmentierung abgeschlossen ist, und wird erst danach ausgeführt. Daher kann es zu einer Verzögerung kommen, wenn Sie eine setAudience-Methode aufrufen, bevor ein getOffers-Aufruf erfolgt.
Die setAudience-Methode lädt auch die Profildaten für die Zielgruppen-ID. Mit der setAudience-Methode können Sie erzwingen, dass erneut die gleichen Profildaten geladen werden wie mit der startSession-Methode.
Rückgabewert
Der Laufzeitserver beantwortet setAudience mit einem Response-Objekt, das die folgenden Attribute enthält:
*
*
*
*
Beispiel
In diesem Beispiel bleibt die Zielgruppenebene gleich, aber die ID ändert sich, wie wenn sich ein anonymer Benutzer anmeldet und dann bekannt wird.
sessionId und audienceLevel sind die gleichen Zeichenfolgen, die beim Start der Sitzung mit dem startSession-Aufruf verwendet wurden, um die Sitzung und die Zielgruppenebene zu identifizieren.
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());