resetState resetstate
Diese Funktion wurde hauptsächlich für A4T-Kunden entwickelt, um sie bei der Lösung von Problemen bei der Arbeit mit IDs auf Single-Page-Sites/-Bildschirmen oder -Apps zu unterstützen.
Anwendungsfälle section-840b88a5cdb042488b340cad5d7b22a5
Als A4T-Kunde, der den Besucher-ID-Service verwendet, empfiehlt es sich möglicherweise, die visitor.resetState()-Funktion zu verwenden, wenn Folgendes erforderlich ist:
- So übergeben Sie eine zusätzliche Daten-ID (SDID) oder eine andere ID über eine Umleitung von einer Seite oder einem Bildschirm an eine andere. Normalerweise gibt der Besucher-ID-Dienst diese ID ohne diese Funktion nicht weiter.
- Verwenden Sie Code, der nur bestimmte Abschnitte einer Seite oder eines Programms über Ajax-Aufrufe aktualisiert, wenn Sie diese Aktionen verfolgen möchten. Angenommen Sie haben eine Seite, auf der das Klicken auf ein Objekt nur einen bestimmten Abschnitt lädt oder ändert. In diesem Fall kann der Besucher-ID-Service keine andere ID anfordern, es sei denn, die Seite wird neu geladen. Mit
visitor.resetState()können Sie eine neue ID unter diesen Bedingungen anfordern.
Siehe Codebeispiele weiter unten.
Syntax section-9e63503e178f4be28ac850abf44d6d91
Syntax: visitor.resetState( *state*);
Code-Beispiele section-d75b211bb4ea473887eb284de2ad838b
Die Implementierung des Besucher-ID-Service wirkt sich darauf aus, wie Sie diese Funktion verwenden. Beispiele finden Sie in der unten stehenden Tabelle.
Serverseitige Implementierung
Eine Server-seitige Implementierung ist für A4T-Kunden mit gemischten Server- und Client-seitigen Implementierungen von Target, Analytics und dem Besucher-ID-Service vorgesehen. Wenn Sie den Besucher-ID-Dienst mit dieser Methode eingerichtet haben, müssen Sie lediglich visitor.resetState() zur Seite hinzufügen. Aufrufe des Besucher-ID-Service geben automatisch eine neue ID und einen neuen Server-Status zurück.
Benutzerdefinierte Implementierung (mit ID)
Wenn Sie den Besucher-ID-Dienst mit einer Nicht-Standardimplementierung eingerichtet haben, müssen Sie ein variables Objekt konfigurieren, das die SDID (oder andere IDs) enthält, die Sie mit visitor.resetState() übergeben möchten. Wie unten dargestellt, enthält dies Ihre IMS-Organisations-ID und die ID, die Sie übergeben möchten. Ihr Code sollte dem folgenden Beispiel ähneln.
//Instantiate server state variable
var serverState = {
"INSERT-IMS-ORG-ID-HERE": {
//Specify the SDID or other ID
supplementalDataIDCurrent: "1234",
supplementalDataIDCurrentConsumed: {
"payload:top-center": false
}
}
};
//Instantiate Visitor ID Service
var visitor = Visitor.getInstance ("INSERT-IMS-ORG-ID-HERE", {
...
});
//Reset server state to pass the SDID
visitor.resetState(serverState);
Benutzerdefinierte Implementierung (ohne Übergeben einer ID)
In diesem Fall kann mit visitor.resetState() eine neue ID generiert werden. Dies kann in einem einseitigen Programm nützlich sein, wenn ein Benutzer zu einem neuen Bildschirm navigiert, ohne die Seite zu aktualisieren, und Sie eine neue ID benötigen.
//Instantiate Visitor ID Service
var visitor = Visitor.getInstance ("INSERT-IMS-ORG-ID-HERE", {
...
});
//Request a supplemental Data ID for consumer1 and consumer2:
var sdid1 = visitor.getSupplementalDataID("consumer1"); // sdid1: 1234
var sdid2 = visitor.getSupplementalDataID("consumer2"); // sdid2: 1234
//User navigates to a new screen in a single-page app, without refreshing the page.
//To reset the Supplemental Data ID internal, call resetState without passing any parameters.
//This way we will not be recycling the `1234` ID anymore. Instead Visitor will generate a new supplemental Data ID going forward.
visitor.resetState();
//Request a supplemental Data ID for consumer3 and consumer4:
var sdid1 = visitor.getSupplementalDataID("consumer3"); // sdid1: 5678
var sdid2 = visitor.getSupplementalDataID("consumer4"); // sdid2: 5678