テンプレート詳細
metatellのプラグインは、企業ごとに2D UIを差し替えるための機能です。
このページでは、各テンプレートの役割と開発方法をまとめています。
📦 GitHubテンプレートリポジトリ: https://github.com/urth-inc/metatell-plugin-template
プラグインの役割と適用ポイント
metatell本体では、次の順序でModule Federationプラグインを読み込みます。
- ルームのプラグイン情報を取得し、
init({ remotes })でリモートを登録 - 各プラグインを
src = "{versionId}/{type}"形式に変換 - 画面ごとの差し込みポイントで
loadRemote(src)し、module.CustomXXXを描画
適用ルール(重要)
AdditionalToolbarButton と CustomOverlay は複数適用可能です。
上記以外は単一適用です。
テンプレート一覧
| type | 置き換えるUI | 表示タイミング | 複数適用 | 公開コンポーネント名 |
|---|---|---|---|---|
AdditionalToolbarButton | ツールバー追加ボタン | 入室後 | 可 | AdditionalToolbarButton |
CustomOverlay | 画面固定オーバーレイ | 入室後 | 可 | CustomOverlay |
CustomEntryPanel | 入室前パネル | 入室前 | 不可 | CustomEntryPanel |
CustomProfileModal | プロフィール編集モーダル | プロフィール編集時 | 不可 | CustomProfileModal |
CustomLeaveButton | 退出ボタン・退出モーダル導線 | 入室後 | 不可 | CustomLeaveButton |
CustomChatButton | チャットボタン・チャットUI | 入室後 | 不可 | CustomChatButton |
CustomMegaphoneButton | メガホンボタン | 入室後 | 不可 | CustomMegaphoneButton |
CustomWebCameraButton | Webカメラボタン | 入室後 | 不可 | CustomWebCameraButton |
CustomTutorial | チュートリアル表示 | 入室後 | 不可 | CustomTutorial |
CustomNearestUserProfile | 最寄り利用者表示 | 入室後 | 不可 | CustomNearestUserProfile |
CustomExitScreen | 退室/エラー画面 | ルーム離脱時 | 不可 | CustomExitScreen |
共通開発フロー
1. テンプレートを選ぶ
git clone https://github.com/urth-inc/metatell-plugin-template.git
cd metatell-plugin-template/<テンプレート名>
2. 依存関係をインストール
npm install
3. 開発用ローカル環境を起動
npm run dev
- Webpack系テンプレート:
http://localhost:3004 CustomExitScreen(Vite):http://localhost:5173
4. package.jsonのメタデータを設定
{
"name": "my-plugin",
"version": "0.1.0",
"description": "My metatell plugin"
}
5. ビルド
npm run build
dist/plugin.zipを管理画面に登録します。
npm run dev/npm run build実行時にVERSION_IDは再生成されます(同一ID固定ではありません)。
各テンプレート詳細
AdditionalToolbarButton
何を置き換えるか
標準ツールバーに、追加ボタンを挿入します。
差し込み位置
入室後のツールバー追加領域です。
受け取るProps
type AdditionalToolbarButtonProps = {}
開発時の注意点
複数適用可能です。
- エクスポート名は
AdditionalToolbarButtonにしてください。
CustomOverlay
何を置き換えるか
画面固定のカスタムオーバーレイUIを描画します。
差し込み位置
入室後の画面固定オーバーレイ領域です。
受け取るProps
type CustomOverlayProps = {}
開発時の注意点
複数適用可能です。
- エクスポート名は
CustomOverlayにしてください。
CustomEntryPanel
何を置き換えるか
入室前のエントリーパネル全体を置き換えます。
差し込み位置
入室前のエントリーパネル領域です。