PostMessage Empfangen Trigger
Der PostMessage Empfangen Trigger wird ausgelöst, 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 ins Experiment sendet.
Inhaltsverzeichnis
Übersicht
Der PostMessage Empfangen Trigger ist im Triggerauswahlmenü unter dem API/Externer Trigger zu finden.

Häufige Anwendungsfälle
- Eine eingebettete Website, die Benutzerinteraktionsereignisse (Klicks, Formularabschlüsse) als strukturierte postMessages an Labvanced weiterleitet.
- Eine übergeordnete Anwendung (z. B. ein benutzerdefiniertes LMS oder institutionelles Webportal), die eine Nachricht sendet, um das Experiment voranzutreiben 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 lauscht auf eingehende Nachrichten. Die andere Seite ist die externe Seite, die programmiert werden muss, um diese Nachrichten zu senden.
Die postMessage-API ist ein Standardbrowsermerkmal. 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 den Kontext geben und es schnell generieren lassen, wenn nötig.
Ein häufiges Muster besteht darin, dass die externe Seite auf ihre eigenen Benutzerereignisse (wie Klicks, Formularübermittlungen oder Anmeldungen) lauscht und dann jedes als postMessage an Labvanced weiterleitet. Jeder Ereignistyp kann mit einem Label (z. B. click_event, signup_event) unter Verwendung des Key-Feldes versehen werden, sodass Labvanced jedes einzelne separat filtern und darauf reagieren kann.
Wie es funktioniert
Wenn das Experiment läuft, lauscht Labvanced auf eingehende postMessages. Jedes Mal, wenn eine Nachricht eintrifft, überprüft es zwei Dinge:
- Ursprungsdomain: Kommt diese Nachricht von einer erlaubten Quelle?
- Key: Trägt diese Nachricht den erwarteten Schlüsselwert (falls einer gesetzt ist)?
Wenn beide Bedingungen erfüllt sind, wird der Trigger ausgelöst und der Nachrichteninhalt wird als Message Content in Ihren Aktionen verfügbar.
Die externe Seite ist dafür verantwortlich, die Nachrichten zu senden. Dies geschieht, indem window.parent.postMessage(data, targetOrigin) in ihrem eigenen Code aufgerufen wird. Die data, die sie sendet, kann alles sein: ein einfacher String, ein strukturiertes Wert oder ein Ereignislabel. Das Key-Feld in Labvanced ist, wie Sie auf einen bestimmten Wert dieses Labels abgleichen, um eine Art von Nachricht von einer anderen zu unterscheiden.
Jede Nachrichtenart kann ihr eigenes dediziertes Ereignis in Labvanced haben. Zum Beispiel verwendet ein Ereignis Key: click_event, um ausgelöst zu werden, wenn die externe Seite einen Klick meldet, und ein anderes nutzt Key: signup_event, um ausgelöst zu werden, wenn es eine Formularübermittlung meldet.
Nach der Auswahl von PostMessage Empfangen erscheint das folgende Dialogfeld:

Trigger-Optionen
| Menüpunkt | PostMessage Empfangen Trigger-Optionen |
|---|---|
Ursprungsdomain | Gibt an, welche Domain berechtigt ist, Nachrichten an diesen Trigger zu senden. Der Standardwert ist *, der Nachrichten von jedem Ursprung akzeptiert. Um den Trigger auf eine bestimmte Quelle zu beschränken, ersetzen Sie * durch die vollständige Ursprungs-URL (z. B. https://ihrewebsite.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, unabhängig vom Inhalt, auszulösen. |
Hinweis: Der eingehende Nachrichtenwert wird als Message Content exportiert und kann in Aktionen über das Value-Select Menü referenziert werden.
Trigger-spezifische Werte für PostMessage Empfangen
Nachdem Sie den PostMessage Empfangen Trigger ausgewählt haben, können Sie die folgenden trigger-spezifischen Werte in nachfolgenden Aktionen über das Value-Select Menü referenzieren.
| Wert | Beschreibung |
|---|---|
Message Content | Der Dateninhalt des empfangenen postMessage. Dies ist der Wert, der von der externen Quelle gesendet wurde und kann in einer Variablen gespeichert, zur Steuerung der Logik verwendet oder als Teil Ihres Datensatzes aufgezeichnet werden. |
Trigger-Zeitstempel (Unixtime) | Der Zeitstempel, wann der Trigger ausgelöst wurde, in Unixtime. |
Trigger-Zeit (Ab Rahmenbeginn) | Zeit in Millisekunden vom Beginn des aktuellen Rahmens, wann der Trigger ausgelöst wurde. |
Weiterführende Literatur und offenes Material
- Send PostMessage Aktion: die zugehörige Aktion zum Senden einer Nachricht an eine externe Quelle.
- Value-Select Menü: wie man trigger-spezifische Werte in Ihren Aktionen referenziert.
- Ereignisse Übersicht: eine vollständige Einführung in das Trigger-und-Aktion-Logiksystem in Labvanced.