イベント

hosted-experience-events

クライアントアプリケーションをさらに細かく制御したり、デジタルヒューマンの状態とウェブサイトを同期させたりしたい場合があります。そのために、デジタルヒューマンアプリケーションからのメッセージイベントを提供しており、これをウェブクライアントで利用することができます。そのためには、windowイベントUneeqMessageをリッスンします。

以下のコード例では、セッションがライブになるとbody要素のクラスリストを更新するために、どのようにメッセージをリッスンできるかを示しています。リッスンすることができるその他のメッセージイベントについては、以下に記載されています。

window.addEventListener( 'UneeqMessage', (event) => {
    const msg = event.detail;
    console.log('UneeQ Message: ', msg);

    switch( msg.uneeqMessageType ){

        case 'SessionStateUpdate':
            if( msg.live ) {
                document.body.classList.add('uneeq-session-live');
            } else {
                document.body.classList.remove('uneeq-session-live');
            }
            break;

        // Add additional event handlers here...

        default:
            break;

    }
});
 

以下に、リッスン可能なメッセージの完全なリストを定義しています:

AvatarAnswer

アバターの応答メッセージ

AvatarInterrupted

アバターの発話が中断されました。ユーザーの割り込みやシステムによる中断が発生した場合に発火します

AvatarStartedSpeaking

デジタルヒューマンが発話を開始しました

AvatarStoppedSpeaking

デジタルヒューマンの発話が終了しました

AvatarUnavailable

利用可能なデジタルヒューマンがありません

CallToActionDismissed

ユーザーによってコールトゥアクションボックスが閉じられました

CreateSessionFailed

セッション作成(または再開)リクエストが失敗しました

CustomData

NLPシステムから「instructions」フィールドで提供されたJSONデータ。このデータは、NLPシステムからフロントエンドアプリケーションにカスタム指示を渡すために使用できます。 例えば、ウェブサイトに表示したい製品のカスタムデータを設定するなどです。

CustomMetadataUpdated

チャットメタデータが正常に更新されました。メッセージには新しく設定されたメタデータの値が含まれています

DataProcessingWarning

データ処理に関する警告が発生しました。データの処理中に問題が検出された場合に通知されます

DeviceError

デバイス関連のエラーが発生しました

DigitalHumanMuted

デジタルヒューマンの音声出力がミュート状態になりました

DigitalHumanPlayedInMutedModeSuccess

ブラウザの自動再生ポリシーにより、デジタルヒューマンの音声を再生できませんでした。デジタルヒューマンは音声がミュートされた状態で起動しました。ユーザーのインタラクション後にuneeqUnmuteDigitalHuman()を呼び出すとミュートが解除される場合があります

DigitalHumanUnmuted

デジタルヒューマンの音声出力ミュートが解除されました

DisplayContentUpdated

コンテンツ表示エリアでコンテンツが更新されました

EnableMicrophoneUpdated

マイクの有効状態が更新されました。enabled値がtrueの場合はマイクが有効、falseの場合はマイクが解放されています

FrameReady

アプリケーションがロードされ、設定が検証されました。セッションはuneeqInstance.startSession()を呼び出すことで開始できます

FrameResize

iframeのサイズや位置の変更が要求されました。レイアウトモードやセッション状態の変化に応じて、iframeの表示領域を制御するために使用されます

Instructions

指示ペイロードがNLPから送信されました。指示はNLP内でJSONとして設定されている場合があります

LayoutModeUpdate

レイアウトモードが変更されました(overlay / fullScreen / contained)

MicPermissionDenied

ユーザーがページにマイクの使用許可を与えていませんが、音声入力をプロンプトとして使用しようとしています

Notification

通知がありました

PromptRequest

会話プラットフォームに送信される、ユーザーの入力(テキスト/音声)および関連メタデータです。各リクエストには追跡用の一意な UUID(requestId)が含まれます。

⚠️ セキュリティに関する重要な注意:

書き起こしテキスト(transcript)はXSSに対してサニタイズされていません。このデータをHTMLに直接挿入すると、XSS(クロスサイトスクリプティング)攻撃を受ける可能性があります。

安全な実装例:

// ❌ 危険:直接HTMLに挿入しない
element.innerHTML = promptResult.transcript;

// ✅ 安全:テキストとして挿入
element.textContent = promptResult.transcript;

// ✅ 安全:エスケープ処理を行ってから挿入
element.innerHTML = escapeHtml(promptResult.transcript);

PromptResult

会話プラットフォームからの応答です。初期要求/userInputと応答メタデータが含まれています

PromptUpdated

プロンプトが更新されました。会話プラットフォームへ送信されるプロンプト内容が変更された場合に発火します

ReadyToStart

セッションの開始準備が完了しました。接続の初期化が終わり、セッションを開始できる状態になったことを示します

RecordingStarted

音声認識のための録音が開始されました

RecordingStopped

音声認識のための録音が終了しました

SceneReady

3Dシーンの準備が完了しました。アバターのレンダリング環境が整い、表示可能な状態になったことを示します

ServiceUnavailable

問題が発生しました。詳細については含まれているメッセージを参照してください

SessionBackendError

セッションに関するバックエンド側でのエラーが発生したことを通知します

SessionConnecting

セッションの接続を開始しています。デジタルヒューマンとの通信を確立するための初期接続プロセスが進行中です。

SessionDisconnected

セッションが再接続できなかった場合、SessionDisconnectedメッセージとともにセッションが終了します。

SessionEnded

セッションが終了しました

SessionError

セッション中に発生したエラーを含むメッセージです(例:TTS呼び出しの失敗、ネットワーク中断など)

SessionLive

セッションがライブ状態になり、アバタービデオがアクティブになりました

SessionReconnecting

ユーザーとバックエンド間で切断が発生し、セッションの再接続を試みています

SessionReconnectingFinished

セッションの再接続が完了しました

SessionStateUpdate

セッションの状態が更新されました

SoftSwitchFinished

アバターのソフトスイッチ(切替)が完了しました。別のアバターへの切り替えが正常に終了したことを示します

SoftSwitchStarting

アバターのソフトスイッチ(切替)が開始されました。別のアバターへの切り替え処理が進行中であることを示します

SpeechEvent

ウェブページにトリガーを組み込んで、デジタルヒューマンに話すコマンドを送信できます。詳細はスピーチイベントを参照してください

SpeechStarted

音声認識が開始されました。ユーザーの音声入力の受付が開始されたことを示します

SpeechTranscription

ユーザーの音声の暫定的または最終的な書き起こしが受信されました

UnhandledMessage

ストリーマーから受信したメッセージのうち、既知のハンドラーで処理されなかったメッセージです

UserStartedSpeaking

ユーザーの音声入力アクティビティの開始が検出されました

UserStoppedSpeaking

ユーザーの音声入力アクティビティが停止または一定間隔で一時停止しました

VadInterruptionAllowed

音声アクティビティ検出(VAD)による割込みが許可されました

VideoInitialised

ビデオストリームの初期化が完了しました。アバターの映像表示の準備が整ったことを示します

VideoLayoutConfiguring

ビデオレイアウトの設定処理中です。アバター映像の表示レイアウトが構成されている状態を示します

WaitingForRenderer

レンダラーの割り当てを待機しています。セッション開始後、レンダリングサーバーの準備が完了するまでの待機状態です

WaitingForStartRequest

開始リクエストの待機中です。セッションの開始指示を待っている状態を示します

WaitingInQueue

ユーザーが待機列にいることを示します。ユーザーがデジタルヒューマンと対話できるようになるまでの待機状態を管理し、進行状況をカウントダウンします

WaitingToStart

セッションの開始を待機しています。接続処理が進行中で、まもなくセッションが開始される状態を示します

WebRtcConnected

WebRTC接続が確立されました。ブラウザとレンダリングサーバー間のリアルタイム通信が正常に接続されたことを示します

WebRtcStats

WebRTC 接続やメディアストリームに関する統計情報(接続品質やパフォーマンス指標)を提供します

お役に立ちましたか?
😞
😐
🤩

最終更新日 April 14, 2025