【必読】なぜ今、Aura ではなく LWR を選ぶべきなのか?

【Spring ’26決定版】MIAW 拡張チャット v1 vs v2 徹底比較:機能パリティの達成と「Agentforce」時代の選択基準

この記事はバージョン Spring ’26 において執筆しています。
現在の動作と異なる場合がありますので、ご認識おきください。

皆さんは Messaging for In-App and Web (MIAW) の実装において、「拡張チャット(Enhanced Chat)」のバージョン選びに迷っていませんか? 「v2は新しいけど機能が足りないらしいから、とりあえずv1で」と考えているとしたら、その情報はもう古いかもしれません。

今回は、Spring ’26リリース時点での最新情報に基づき、拡張チャット v1 と v2 の技術的な違いと、なぜ今「v2一択」なのかを解説します。

LWRって何?どんなメリットがあるの?
そんな疑問を解決するにはまずは以下の記事をご覧ください。
Salesforce LWRとは? Experience Cloudの次世代ランタイムを徹底解説

エグゼクティブサマリー:パラダイムシフト

まず結論から言うと、v1からv2への変化は、単なるバージョンアップではありません。これは、「Web開発主導型モデル」から「マネージドランタイムモデル」へのパラダイムシフトです

  • v1 (Standard): 従来のWeb開発のように、DOM操作やCSSオーバーライドに依存してUIを制御するモデル。人間同士のチャットツールとして発展しました。
  • v2 (Enhanced): Salesforceが管理するランタイム上で動作し、セキュリティとAI統合を最優先するモデル。これは「AIエージェント(Agentforce)と協働するためのインターフェース」として再設計されています 。
v1
v2

技術アーキテクチャの徹底比較

表面的な機能の前に、深層にあるアーキテクチャの違いを見てみましょう。ここを理解すると、なぜv2で「CSSハック」が効かないのかが腹落ちします。

特徴拡張チャット v1 (Standard)拡張チャット v2 (Enhanced)
コアスクリプトembedded_svc.jsenhanced-chat.js
UIフレームワークAura FrameworkLightning Web Components (LWC)
DOM操作開発者が直接DOMやCSSを操作可能(Fragile)Shadow DOMによりカプセル化(Stable/Secure)
セッションクライアントサイド主導(タブ閉じると切断)サーバー主導・永続的(タブを閉じても維持)

「自由度」と「堅牢性」のトレードオフ

v1では <div> 要素として展開されるため、CSSで無理やり色を変えたり、JavaScriptでDOMを書き換えることが容易でした 。しかし、これはSalesforce側のアップデートで突然崩れるリスク(Fragility)と隣り合わせでした。

対してv2は、LWCとShadow DOMを採用しています。外部からのスタイル干渉を遮断するため、「CSSで無理やりデザインを変える」ことはできませんが、その分、セキュリティと将来の互換性が担保されています

Spring ’26の更新:機能ギャップの解消(パリティ)

「v2は待機時間が表示できないから採用できない」 これまでは、そんな声が現場で聞かれました。しかし、Spring ’26のリリースで状況は一変しました。

以下の表をご覧ください。初期に存在した機能ギャップは、Spring ’26によってほぼ完全に解消されています 。

機能項目拡張チャット v1拡張チャット v2 (Spring ’26以降)評価
待機時間表示対応対応 Omni-Channel統計に基づき表示可能に
キュー順位表示対応対応 顧客の不安を解消する重要機能
トランスクリプトDL対応 (PDF)対応 (PDF) 会話終了後の記録保存が可能に
ユーザー認証対応対応 IDトークンによる認証
reCAPTCHA対応対応 ボット攻撃対策も完備

もはや、機能不足を理由にv1を選択する必要はありません。企業のIT部門は、純粋にアーキテクチャと将来性に基づいてv2を選択できる段階に達しています 。

DXforce Point

正直な話、v2を導入するのは Spring ’26 になってからがおすすめです。

v2を選ぶ最大の理由:AgentforceとCustom Lightning Types

v2を選択する最大の動機、それは Agentforce との統合です。 特に Custom Lightning Types (CLT) は、v1では絶対に実現できないv2だけの特権です 。

チャットの中で「アプリ」が動く

v1のボットは、テキストや静止画、単純なボタン(Quick Replies)を返すのが精一杯でした。 しかしv2とCLTを組み合わせると、Agentforceはチャットのタイムライン上に インタラクティブな LWC をレンダリングできます 。

  • 動的な座席予約: 映画館や飛行機の座席マップをチャット内に表示し、ユーザーが直接座席をタップして予約 。
  • カレンダー連携: エージェントの空き時間をリアルタイム表示し、日程調整を完結 。
  • 複雑なフォーム入力: ステップウィザード形式の入力フォームをチャットの吹き出し内で展開 。

これらは Schema.json で構造を定義し、 Renderer.json でLWCを指定することで、Salesforceのマネージドランタイム上で安全に描画されます 。

コンテキスト共有の進化:setSessionContext

Webサイト側の情報(カートの中身や現在のURL)をチャットに渡す方法も進化しています。 v1では隠しフィールドを使うハック的な手法が一般的でしたが、v2では正規のAPIである utlAPI (Utility API) が提供されています

実装コード例

以下のように、任意のタイミングでセッションコンテキストを更新できます。

// v2でのコンテキスト設定の実装例
embedded_svc.utils.setSessionContext({
    "name": "_AgentContext",
    "value": {
        "valueType": "StructuredValue",
        "value": {
            // 現在のページURL
            "currentPage": "https://example.com/checkout",
            // カートの合計金額
            "cartTotal": 15000,
            // ユーザーセグメント情報
            "userSegment": "VIP"
        }
    }
});

この情報はAgentforce Service Agentが即座に認識します。「決済ページでエラーが出ているVIPユーザー」であることをAIが理解し、先回りした対応が可能になるのです 。

移行ガイドと結論

v2への切り替え方法

v2にアップデートするのは簡単です。
[設定] > [組み込みサービスリリース] の組み込みサービスリリース設定で、[V2に切り替える] ボタンを押します。いつでもv1に戻せるから安心。

スクリプトの張り替え

外部サイトに組み込んでいる場合、移行にはスクリプトの張り替えが必要です。

  1. [設定] > [拡張チャット] で「Switch to Enhanced Chat v2」を選択、または新規作成 。
  2. Webサイト上の embedded_svc.js (v1用) を削除。
  3. 新しく生成された enhanced-chat.js (v2用) を配置 。
    • 注意: 両方のスクリプトを同一ページに混在させるとコンフリクトの原因になります 。

結論:迷ったら「v2」

v1を選択すべきなのは、以下の極めて限定的なケースのみです。

  • IEなどのレガシーブラウザ対応が必須な場合 。
  • DOM操作を伴う、製品仕様を逸脱した極端なUIハックがどうしても必要な場合 。

それ以外のすべての新規導入、および将来を見据えた改修において、v2が唯一の合理的選択肢です 。 Agentforceという新しい「頭脳」を活かすために、ぜひ最新の「身体(v2)」を用意してあげてください。

参考URL

拡張チャット v1 と拡張チャット v2 の比較|Salesforce Help

Streamline Enhanced Chat v2 Conversations with the Latest Improvements|Salesforce Spring ’26 Release Notes

Use Lightning Type Overrides in Enhanced Chat v2

DXforceの管理人

福島 瑛二

2013年にJavaエンジニアとしてのキャリアをスタート。2019年にSalesforceと出会い、Salesforceエンジニアの道へ。

デザインや UI/UX の観点からもシステムを捉え、ユーザーにとって心地よい体験を実装することにやりがいを感じています。

CRM(顧客データ)や Data Cloud と連携した高度なサイトを目に見える形で表現できる Experience Cloud に大きな可能性を見出しており、バックエンドのデータ構造とフロントエンドの表現力を極めることがこれからの Salesforce エンジニアに求められるスキルだと確信しています。

Trailblazer: efukushima

福島 瑛二をフォローする

読者の声

タイトルとURLをコピーしました