この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

チャネルメニューの並び替え

顧客が Web サイトを閲覧するときにチャネルメニューの選択内容の表示、非表示、または並び替えを行うことで、より動的なエクスペリエンスを提供します。ユーザのページの場所やそのページでの滞在時間に応じて、表示されるフロート表示アクションボタンやチャネルオプションを変更します。

カスタムアクションボタンと動的チャネルメニューのスクリーンショット。

この API では Web ページ上でのユーザの操作に基づいて、設定 (EmbeddedServiceMenuItem) で指定された任意のチャネルの並び替えや項目の表示/非表示を必要に応じて実行できます。

動的リリースを作成する手順は、次のとおりです。
  1. [設定] の [チャネルメニュー] ページで、新しいリリースを作成するか既存のリリースを使用します。ページ読み込み時に最初に表示するメニュー項目と、Web サイトでユーザが特定のアクションを実行したときに動的に表示するメニュー項目を決定します。
  2. [メニュー設定] で、後で表示する項目の [デフォルト表示] の [このメニュー項目を表示] をオフにします。メニュー項目名を書き留めておきます。
  3. 実行時に、メニュー項目名のリストを含む embedded_svc.menu.reorder をコールすることで Reordering API を呼び出します。項目は、チャネルメニューのコードスニペットと同じ Web ページ上に順にリストされます。

    embedded_svc.menu.reorder(["YourMenuItemName"]);

    配列にメニュー項目の名前を含めなかった場合、そのメニュー項目は並び替え後に表示されなくなります。

    メモ

  4. メニュー項目配列の例 (使用するメニュー項目名に置き換えてください)

    var newOrder = ["ServiceChat", "PriorityPhoneCall", "CallCenter"];

たとえば、高額な品目がショッピングカートに追加された場合には優先チャネルの電話番号のみを表示するには、addToCart JavaScript ロジック内で品目の価格やその他の条件を満たした場合に、embedded_svc.menu.reorder(["PriorityPhoneCall"]); をコールします。高額な品目がカートに追加されると、チャネルメニューの並び替えがトリガされ、エンドユーザに優先チャネルが表示されます。

[設定] の元のチャネルメニュー項目リストへのアクセス

並び替えがコールされると、メニューは API からの新しい順序で表示されます。ユーザに表示される内容を [設定] の [チャネルメニュー] で定義した元のチャネルにすべて戻すには、embedded_svc.menu.menuConfig.menuItems 値にアクセスします。

ユーザに表示される内容を [設定] の [チャネルメニュー] でユーザのオペレーティングシステムに対して定義したチャネルに戻すには、embedded_svc.menu.menuConfig.configuredChannels 値にアクセスします。

API の考慮事項
  • この API は完全にクライアント側です。追加のサーバコールは実行されません。
  • この API は単一項目のアクションボタンを複数のチャネル項目が設定されたメニューに更新します。
  • ブランド設定、表示ラベル、その他の一般的なメニュー設定は、この API によって実行時に動的に更新されることはありません。
  • 空の配列 (例: embedded_svc.menu.reorder([]);) を渡すと、現在のチャネルメニューが非表示になります。embedded_svc.menu.hideButtonAndMenu() をコールすることでも同じことを実行できます。

想定したチャネルが表示されない場合は、コードスニペット内で `embedded_svc.menu.settings.devMode = true;' を設定すると、コンソールログに並び替えられたり非表示になったメニュー項目が表示されます。検証エラーは devMode が false であっても表示されます。

ヒント