PostMessage 受信トリガー
PostMessage 受信 トリガーは、実行中の Labvanced 実験がブラウザの postMessage API を介して外部ソースから incoming メッセージを受信したときに発火します。これを使用して、研究を親ウェブページ、カスタムアプリケーション、または実験に直接データを送信する埋め込み外部ウェブサイトに接続できます。
概要
PostMessage 受信 トリガーは、トリガー選択メニューの API/External Trigger にリストされています。

一般的な使用例
- 埋め込まれたウェブサイトがユーザーインタラクションイベント(クリック、フォームの完了)を構造化された postMessages として Labvanced に転送する。
- 親アプリケーション(例:カスタム LMS または学内ポータル)が実験を進めたり、参加者データを渡したりするためのメッセージを送信する。
- 外部スクリプトが実験ロジックの特定のポイントをトリガーする JavaScript ドリブンの統合。
二者の設定
Labvanced と外部ページ(iFrame や親アプリケーションなど)間で postMessage を使用することは、二者のプロセスです。Labvanced は片側を処理し、このトリガーは incoming メッセージを待ち受けます。もう一方は外部ページであり、メッセージを送信するようにプログラムされている必要があります。
postMessage API は標準のブラウザ機能です。外部ページは window.parent.postMessage(data, targetOrigin) を呼び出して Labvanced にデータを送ります。このコードを書く必要があるのはあなたかあなたの開発者です。AI コーディングツールを使用すると、コンテキストを提供することで迅速に設定できる場合もあります。
一般的なパターンは、外部ページが自分のユーザーイベント(クリック、フォームの送信、サインアップなど)を待ち受け、その後各イベントを Labvanced への postMessage として転送することです。各イベントタイプは、Key フィールドを使用してラベル(例:click_event、signup_event)でタグ付けできるため、Labvanced はそれぞれを個別にフィルタリングして応答できます。
動作原理
実験が実行中のとき、Labvanced は incoming postMessages を待ち受けます。メッセージが到着するたびに、2 つのことを確認します。
- オリジンドメイン: このメッセージは許可されたソースから来ていますか?
- キー: このメッセージは期待されるキー値を持っていますか(設定されている場合)?
両方の条件が満たされている場合、トリガーが発火し、メッセージペイロードはあなたのアクションの中で Message Content として利用可能になります。
外部ページはメッセージを送信する責任があります。これは、自身のコードで window.parent.postMessage(data, targetOrigin) を呼び出すことで行います。送信する data は、プレーンな文字列、構造化された値、またはイベントラベルのいずれでもかまいません。Labvanced の Key フィールドは、そのラベルの特定の値に基づいて一致させ、異なるタイプのメッセージを区別する方法です。
各メッセージタイプには、Labvanced 内の専用イベントを持たせることができます。たとえば、あるイベントは外部ページがクリックを報告したときに発火するために Key: click_event を使用し、別のイベントはフォームの送信を報告するときに発火するために Key: signup_event を使用します。
PostMessage 受信 を選択すると、次のダイアログが表示されます:

トリガーオプション
| メニュー項目 | PostMessage 受信トリガーオプション |
|---|---|
Origin Domain | このトリガーにメッセージを送信することが許可されているドメインを指定します。デフォルト値は * で、任意のオリジンからのメッセージを受け入れます。特定のソースにトリガーを制限するには、* をフルオリジン URL(例:https://yoursite.com)に置き換えます。送信元が知られている場合はこれが推奨されます。 |
Key | このトリガーが一致する特定のキー値を入力します(例:click_event、signup_event)。incoming メッセージがその正確なキー値を持つ場合のみトリガーが発火します。内容にかかわらず、incoming メッセージに対して発火させるには、フィールドを空のままにします。 |
注意: incoming メッセージ値はMessage Contentとしてエクスポートされ、アクション内で Value-Select Menu を介して参照できます。
PostMessage 受信トリガー特有の値
PostMessage 受信 トリガーを選択した後、次のトリガー特有の値を後続のアクションで Value-Select Menu を介して参照できます。
| 値 | 説明 |
|---|---|
Message Content | 受信した postMessage のデータペイロード。これは外部ソースから送信された値であり、変数に格納したり、ロジックを駆動させたり、データセットの一部として記録したりできます。 |
Trigger Timestamp (Unixtime) | トリガーが発火した時刻の Unixtime。 |
Trigger Time (From Frame Onset) | トリガーが発火するまでの現在のフレームの開始からの時間(ミリ秒単位)。 |
さらなる読み物とオープン教材
- Send PostMessage Action: 外部ソースにメッセージを返すためのペアアクション。
- Value-Select Menu: アクション内でトリガー特有の値を参照する方法。
- Events Overview: Labvanced のトリガーとアクションロジックシステムへの完全な導入。