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 };

/** Sie können auch Parameter übergeben. In diesem Beispiel sind keine Parameter vorhanden,
* übergeben Sie daher null */
NameValuePair[] noParameters=null;

/** Aufruf durchführen */
response = api.setAudience(sessionId, newAudienceId, audienceLevel, noParameters);

/** Antwort entsprechend verarbeiten */
// Prüfung, ob die Antwort erfolgreich ist oder nicht
if(response.getStatusCode() == Response.STATUS_SUCCESS)
{
System.out.println("setAudience-Aufruf ohne Warnungen oder Fehler verarbeitet");
}
else if(response.getStatusCode() == Response.STATUS_WARNING)
{
System.out.println("setAudience-Aufruf mit einer Warnung verarbeitet");
}
else
{
System.out.println("setAudience-Aufruf mit einem Fehler verarbeitet");
}

// Für alle fehlgeschlagenen Aktionen sollten Advisory Messages die Ursache erklären
if(response.getStatusCode() != Response.STATUS_SUCCESS)
printDetailMessageOfWarningOrError("setAudience",
response.getAdvisoryMessages());