チャットボットウィジェットのカスタマイズ
チャットボットウィジェットのカスタマイズ
このドキュメントでは、埋め込みチャットボットウィジェットのUIを自社サイトに合わせてカスタマイズするための公開関数 toggle() と layoutUpdate(widget) の使い方を説明します。
ジェラート管理画面で提供されているウィジェット設定を使わずに、サイト側でチャットボットウィジェットをカスタマイズする場合にご利用ください。
チャットボットウィジェットをカスタマイズするには、まずジェラートが提供するチャットボットウィジェットを非表示にする必要があります。現在、この機能は別途お問い合わせいただいた後に適用可能です。
機能に関するご質問や追加の確認事項がある場合は、[email protected] までご連絡ください。
カスタマイズ注意事項
チャットボットウィジェットのサイズと位置をカスタマイズした後、管理画面「ジェラート作成 > スタイル/ウィジェット設定」に値を反映してください。

チャットボットウィジェットをカスタマイズしても、管理画面でのウィジェット設定は必須です。
チャットボットの会話画面(対話インターフェース)の位置は、ウィジェットのサイズと位置を基に調整されます。
linkToStartAutoOpen:true の場合、ボタンのレンダリング速度が遅いと、やや不自然に動作することがあります。
linkToStartAutoOpen:false(デフォルト)の場合は影響ありません。
*linkToStartAutoOpen:gelatto.init() で提供されるリンク、またはチャットボットの回答内リンクをクリックした際、遷移先ページで自動的に会話画面を開くための設定値です。
提供関数
要約
gelatto.toggle()
チャットボットウィジェットUIの表示/非表示を切り替え
フォーカスやスクロールを含むUI状態を安全に切り替え
デスクトップ/モバイル環境の両方に対応し、適切に切り替え処理を実行
gelatto.layoutUpdate(widget:必須)
現在の画面(デバイス/ビューポート)に合わせて、チャットボット会話画面とウィジェットボタンのレイアウトをレスポンシブ基準で再計算し、即時に反映します。
(widget)引数は必須です。
必須事項
gelatto.layoutUpdate(widget)関数は、(widget)オプションを引数として渡し、即時に適用する必要があります。2つの関数はいずれも初期化(init)後に呼び出してください。
toggle()
説明:チャットボットユーザー会話画面(コンテナ)の開閉状態を切り替えます。
内容
閉じる → 開く:チャットボットユーザー会話画面(コンテナ)を表示し、フォーカス/スクロールを処理
開く → 閉じる:チャットボットユーザー会話画面(コンテナ)を非表示にする
入力パラメータ
なし
戻り値
なし
使用例
// JavaScript
// チャットボットウィジェットボタンのクリックなど、ユーザーアクションにバインド
document.getElementById('openChatBtn').addEventListener('click', () => {
if (window.gelatto && window.gelatto.toggle) {
gelatto.toggle();
}
});layoutUpdate(widget)
説明:チャットボットユーザー会話画面(コンテナ)とチャットボットウィジェットボタン(フローティングボタン)の位置/サイズを、現在のビューポート(デスクトップ/モバイル)に合わせて再設定します。
内容
ビューポートに応じてモバイル/デスクトップを分岐
チャットボットユーザー会話画面(コンテナ)の最大サイズ、角丸、下部オフセットを計算 / 展開・縮小状態に応じてサイズを切り替え
チャット画面の位置・余白を再計算
入力パラメータ
widget(必須):チャットボットレイアウト位置の計算に使用するオプションオブジェクト
戻り値
void
widget オプションフィールドの例
posType
string
'RIGHT_BOTTOM' | 'LEFT_BOTTOM' (デスクトップ位置)
posSide
number
デスクトップ横マージン(px)
posBottom
number
デスクトップ縦マージン(px)
mobilePosType
string
'RIGHT_BOTTOM' | 'LEFT_BOTTOM' (モバイル位置)
mobilePosSide
number
モバイル専用横マージン(px)
mobilePosBottom
number
モバイル専用縦マージン(px)
size
number
円形フローティングボタン直径(px)
使用例
// JavaScript
// 新しいチャットボットの位置/余白を即時に反映したいとき
gelatto.layoutUpdate({
posType: 'LEFT_BOTTOM',
posSide: 24,
posBottom: 24,
mobilePosType: 'RIGHT_BOTTOM',
mobilePosSide: 16,
mobilePosBottom: 16,
size: 56
});必須事項
初期レンダリング後の動的なレイアウト変更時に呼び出し、最新のレイアウトを維持してください。
管理画面の設定値と同じ値を渡し、必要な部分だけ修正してください。
SPAルーティング環境では、画面遷移時に開いている状態を閉じるなど、一貫性を保つ必要があります
よくある質問(FAQ)
Last updated
Was this helpful?