
PostMessage Empfangen Trigger
Der PostMessage Received Trigger wird aktiviert, wenn Ihr laufendes Labvanced-Experiment eine eingehende Nachricht von einer externen Quelle über die postMessage API des Browsers empfängt. Verwenden Sie ihn, um Ihre Studie mit einer übergeordneten Webseite, einer benutzerdefinierten Anwendung oder einer eingebetteten externen Website zu verbinden, die Daten direkt in das Experiment sendet.
Inhaltsverzeichnis
Überblick
Der PostMessage Received Trigger ist im API/External Trigger im Trigger-Auswahlmenü aufgeführt.

Häufige Anwendungsfälle
- Eine eingebettete Website, die Benutzerinteraktionsereignisse (Klicks, Formularabschlüsse) als strukturierte postMessages in Labvanced weiterleitet.
- Eine übergeordnete Anwendung (z. B. ein benutzerdefiniertes LMS oder ein institutionelles Webportal), die eine Nachricht sendet, um das Experiment voranzubringen oder Teilnehmerdaten zu übergeben.
- Eine von JavaScript gesteuerte Integration, bei der ein externes Skript einen bestimmten Punkt in der Experimentlogik auslöst.
Die Zweiseitige Einrichtung
Die Verwendung von postMessage zwischen Labvanced und einer externen Seite (wie einem iFrame oder einer übergeordneten Anwendung) ist ein zweiseitiger Prozess. Labvanced kümmert sich um eine Seite: Dieser Trigger hört auf eingehende Nachrichten. Die andere Seite ist die externe Seite, die programmiert werden muss, um diese Nachrichten zu senden.
Die postMessage API ist eine Standardfunktion des Browsers. Die externe Seite ruft window.parent.postMessage(data, targetOrigin) auf, um Daten an Labvanced zu senden. Sie oder Ihr Entwickler müssen diesen Code schreiben. Ein KI-Coding-Tool kann Ihnen auch helfen, dies einzurichten, indem Sie ihm die Informationen geben und es bei Bedarf schnell generieren.
Ein gängiges Muster besteht darin, dass die externe Seite auf ihre eigenen Benutzerereignisse (wie Klicks, Formularübermittlungen oder Anmeldungen) hört und dann jedes dieser Ereignisse als postMessage an Labvanced weiterleitet. Jeder Ereignistyp kann mit einem Label (z. B. click_event, signup_event) mithilfe des Key Feldes versehen werden, sodass Labvanced jede einzelne separat mit ihrem eigenen Ereignis filtern und darauf reagieren kann.
Wie es funktioniert
Wenn das Experiment läuft, hört Labvanced auf eingehende postMessages. Jedes Mal, wenn eine Nachricht eintrifft, überprüft es zwei Dinge:
- Ursprungsdomäne: Kommt diese Nachricht von einer erlaubten Quelle?
- Schlüssel: Trägt diese Nachricht den erwarteten Schlüsselwert (falls einer gesetzt ist)?
Wenn beide Bedingungen erfüllt sind, wird der Trigger aktiviert und die Nachricht wird als Message Content in Ihren Aktionen verfügbar.
Die externe Seite ist verantwortlich für das Senden der Nachrichten. Sie tut dies, indem sie window.parent.postMessage(data, targetOrigin) in ihrem eigenen Code aufruft. Die data, die sie sendet, kann alles sein: ein einfacher String, ein strukturierten Wert oder ein Ereignislabel. Das Key Feld in Labvanced ist, wie Sie auf einen bestimmten Wert dieses Labels abgleichen können, um einen Nachrichtentyp von einem anderen zu unterscheiden.
Jeder Nachrichtentyp kann in Labvanced ein eigenes spezielles Ereignis haben. Zum Beispiel wird ein Ereignis verwendet, das Key: click_event verwendet, um ausgelöst zu werden, wenn die externe Seite einen Klick meldet, und ein anderes verwendet Key: signup_event, um ausgelöst zu werden, wenn es eine Formularübermittlung meldet.
Nach Auswahl von PostMessage Received erscheint der folgende Dialog:

Trigger Optionen
| Menüeintrag | PostMessage Empfangen Trigger Optionen |
|---|---|
Origin Domain | Gibt an, welche Domäne Berechtigung hat, Nachrichten an diesen Trigger zu senden. Der Standardwert ist *, der Nachrichten von jeder Herkunft akzeptiert. Um den Trigger auf eine spezifische Quelle zu beschränken, ersetzen Sie * durch die vollständige Ursprungs-URL (z. B. https://yoursite.com). Dies wird empfohlen, wann immer die sendende Quelle bekannt ist. |
Key | Geben Sie den spezifischen Schlüsselwert ein, den dieser Trigger abgleichen soll (z. B. click_event, signup_event). Der Trigger wird nur aktiviert, wenn eine eingehende Nachricht diesen genauen Schlüsselwert trägt. Lassen Sie das Feld leer, um bei jeder eingehenden Nachricht zu aktivieren, unabhängig vom Inhalt. |
Hinweis: Der eingehende Nachrichtenwert wird als Nachricht Inhalt exportiert und kann in Aktionen über das Wert-Auswahlmenü referenziert werden.
Trigger-spezifische Werte für PostMessage Empfangen
Nach Auswahl des PostMessage Received Triggers können Sie die folgenden trigger-spezifischen Werte in nachfolgenden Aktionen über die Value-Select Menu referenzieren.
| Wert | Beschreibung |
|---|---|
Message Content | Die Datenlast der empfangenen postMessage. Dies ist der Wert, der von der externen Quelle gesendet wird und in einer Variablen gespeichert, zur Logik verwendet oder als Teil Ihres Datensatzes aufgezeichnet werden kann. |
Trigger Timestamp (Unixtime) | Der Zeitstempel, wann der Trigger aktiviert wurde, in Unixtime. |
Trigger Time (From Frame Onset) | Zeit in Millisekunden vom Beginn des aktuellen Frames bis zum Zeitpunkt, an dem der Trigger aktiviert wurde. |
Weiterführende Literatur und offene Materialien
- PostMessage Senden Aktion: die zugehörige Aktion zum Senden einer Nachricht zurück an eine externe Quelle.
- Wert-Auswahlmenü: wie man trigger-spezifische Werte in seinen Aktionen referenziert.
- Ereignisse Überblick: eine vollständige Einführung in das Trigger-und-Aktion-Logiksystem in Labvanced.