チャットボットウィジェットのカスタマイズ

チャットボットウィジェットのカスタマイズ

このドキュメントでは、埋め込みチャットボットウィジェットのUIを自社サイトに合わせてカスタマイズするための公開関数 toggle()layoutUpdate(widget) の使い方を説明します。

ジェラート管理画面で提供されているウィジェット設定を使わずに、サイト側でチャットボットウィジェットをカスタマイズする場合にご利用ください。

2つの関数は初期化(init)の後、必要なタイミングで呼び出してください。

チャットボットウィジェットをカスタマイズするには、まずジェラートが提供するチャットボットウィジェットを非表示にする必要があります。現在、この機能は別途お問い合わせいただいた後に適用可能です。

機能に関するご質問や追加の確認事項がある場合は、[email protected] までご連絡ください。

カスタマイズ注意事項

  • チャットボットウィジェットのサイズと位置をカスタマイズした後、管理画面「ジェラート作成 > スタイル/ウィジェット設定」に値を反映してください。


提供関数

要約

関数
説明

gelatto.toggle()

  • チャットボットウィジェットUIの表示/非表示を切り替え

  • フォーカスやスクロールを含むUI状態を安全に切り替え

  • デスクトップ/モバイル環境の両方に対応し、適切に切り替え処理を実行

gelatto.layoutUpdate(widget:必須)

  • 現在の画面(デバイス/ビューポート)に合わせて、チャットボット会話画面とウィジェットボタンのレイアウトをレスポンシブ基準で再計算し、即時に反映します。

  • (widget) 引数は必須です。

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
});

よくある質問(FAQ)

layoutUpdate(widget) 関数を呼び出しましたが、位置が変わりません。

widget フィールド値が無効である可能性があります(例:'20px' → 20)、またはUIがまだレンダリングされていない可能性があります。

Last updated

Was this helpful?