イベント
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