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

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

トリガーオプション
| メニュー項目 | PostMessage 受信トリガーオプション |
|---|---|
Origin Domain | このトリガーにメッセージを送信できるドメインを指定します。デフォルト値は * で、任意のオリジンからのメッセージを受け入れます。特定のソースにトリガーを制限するには、* を完全なオリジン URL(例:https://yoursite.com)に置き換えます。送信元が知られている場合は、これを推奨します。 |
Key | このトリガーが一致させる特定のキー値を入力します(例:click_event, signup_event)。着信メッセージが正確なキー値を持つ場合にのみトリガーが発火します。コンテンツに関係なく、どんな着信メッセージでも発火させるには、フィールドを空のままにします。 |
注: 着信メッセージ値はメッセージコンテンツとしてエクスポートされ、値選択メニューを介してアクション内で参照できます。
PostMessage 受信のトリガー固有の値
PostMessage Received トリガーを選択した後、次のトリガー固有の値をその後のアクション内で Value-Select Menu を介して参照できます。
| 値 | 説明 |
|---|---|
Message Content | 受信した postMessage のデータペイロード。これは外部ソースから送信された値で、変数に保存したり、ロジックを駆動したり、データセットの一部として記録したりできます。 |
Trigger Timestamp (Unixtime) | トリガーが発火した時のタイムスタンプ(Unix 時間)。 |
Trigger Time (From Frame Onset) | 現在のフレームの開始からトリガーが発火するまでの時間(ミリ秒)。 |
さらに読むとオープン資料
- Send PostMessage アクション: 外部ソースにメッセージを送り返すためのペアリングアクション。
- 値選択メニュー: アクション内でトリガー固有の値を参照する方法。
- イベント概要: Labvanced のトリガー・アクションロジックシステムへの完全な導入。