SalesforceのExperience Selector MFE
このトピックでは、お客様と実装者がSalesforce組織でGenStudio for Performance Marketing Experience Selector マイクロフロントエンド(MFE)をデプロイして実行する方法について説明します。 管理者の手順(コードなし)、開発者手順(デプロイと設定)、およびコンテンツセキュリティポリシー(CSP)などのセキュリティ関連の設定について説明します。
汎用MFE統合オプション、設定プロパティ、およびフレームワークの例については、GenStudio Experience Selector MFEを参照してください。
この統合で何ができるか
Lightning Web コンポーネント (LWC) sfgsmfeは、Adobe Experience Selector UMD バンドルを読み込み、<dialog>にレンダリングして、ユーザーがGenStudio for Performance Marketingからエクスペリエンスを選択できるようにします。
統合では、次の操作も実行できます。
- プレビューとデコード:選択したペイロードをJSON、デコードされたHTML、およびサニタイズされたHTML プレビューとしてLWC内に表示します。
- 電子メールテンプレート (オプション): Salesforceの電子メールテンプレートの作成 フローでは、Apex (
EmailTemplateController.createEmailTemplate)を呼び出して、EmailTemplateレコード (HTML、件名、フォルダー)を挿入できます。
GenStudio for Performance Marketingのエクスペリエンスセレクタースクリプトは、一般的な実装のSalesforce静的リソースからではなく、experience.adobe.com上のAdobeのホスト URLから読み込まれます。
前提条件
-
Salesforce組織: メタデータをデプロイして Lightning App Builder を使用できるサンドボックスまたは実稼動組織。
-
Salesforce CLI: Salesforce CLI (
sf)がインストールされ、認証されています。次に例を示します。code language-bash sf org login web --alias <your-org-alias> -
権限: メールテンプレートを作成するユーザーには、組織のポリシーに従ってテンプレートを作成するためのターゲットメールテンプレートフォルダーと権限へのアクセス権が必要です。 Apexが
with sharingを実行しています。 -
Adobe / GenStudio:お使いのAdobe IMS組織IDとSUSI
clientIdは、お使いのAdobe設定と一致している必要があります(統合値の設定を参照)。 -
ブラウザー / CSP: Salesforceでは、
https://experience.adobe.comからのスクリプトの読み込みが許可されている必要があります( コンテンツセキュリティポリシーとAdobe URLの設定を参照)。
パッケージのデプロイ(開発者)
プロジェクトはSalesforce DX レイアウトを使用しています。既定のパッケージ ディレクトリはforce-appです。
-
プロジェクトのルートから、ソースをターゲット組織にデプロイします。
code language-bash sf project deploy start --source-dir force-app --target-org <your-org-alias> -
エラーなしでデプロイメントが完了することを確認します。
force-app/main/default/lwc/sfgsmfe— LWC バンドル (HTML、JS、CSS、meta)。force-app/main/default/classes/EmailTemplateController.cls— テンプレート作成用Apex。
リポジトリに静的リソース (reactApp、sfgsmfe_react)を含めることもできます。 sfgsmfe.jsの現在のGenStudio for Performance Marketing ローダーは、standalone.jsのAdobe CDN URLを使用しています。これらの静的リソースは、実装を変更しない限り、そのロード パスに必要ありません。
Lightning ページへのコンポーネントの追加(管理者)
sfgsmfe コンポーネントは次の目的で公開されています:
- Lightning アプリページ
- ホームページ
- レコードページ
- タブ(カスタムタブのLightning ページ経由)
コンポーネントを追加するには:
- セットアップで、App Managerを開きます。
- 新しいLightning アプリを作成します(または、拡張する既存のアプリを開きます)。
{width="80%" modal="regular"}
- アプリを開き、編集を選択します。
{width="80%" modal="regular"}
- 新しいページを作成(または既存のLightning ページを編集)。
{width="60%" modal="regular"}
- Lightning App Builderで、sfgsmfe コンポーネントをレイアウトにドラッグします。
- 保存、アクティベートし、ページを適切なLightning アプリ、プロファイル、およびアプリの表示に割り当てて、目的のユーザーが開けるようにします。
コンテンツセキュリティポリシーとAdobe URLの設定
LWCは、src ポイントの<script> タグをAdobeのUMD バンドルに挿入します。例:
https://experience.adobe.com/solutions/GenStudio-experience-selector-mfe/static-assets/resources/@genstudio/experience-selector/umd/standalone.js
組織のCSPおよびLightning セキュリティ設定に従って、このオリジンがスクリプト読み込みに許可されるように、Salesforceを設定する必要があります。
スクリプトの読み込みに失敗した場合:
- ブラウザーの開発者向けツールを開きます。
- ブロックされたリクエストまたはCSP違反については、コンソールおよびネットワーク タブを確認してください。
- Lightningの現在のSalesforce ドキュメントに従って、
https://experience.adobe.comの信頼できるURL (およびSalesforce リリースの関連する設定)を追加または調整します。
{width="80%" modal="regular"}
統合値の設定(開発者/実装)
sfgsmfeのLWC JavaScriptにはいくつかの値が設定されています。 顧客は通常、環境ごとにこれらを置き換えます。
folderId00l...)。 Apexには必須です。フォルダーが存在し、実行中のユーザーがアクセスできる必要があります。imsOrgGenStudioExperienceSelector.renderExperienceSelectorWithSUSIに渡されました。susiConfig.clientIdscript.srcstandalone.js バンドルのURL。Adobeが新しいパスを公開する場合に更新します。メールテンプレートの作成は、GenStudio フィールドをテンプレートにマッピングします(例えば、experienceFieldsの件名)。 コンテンツモデルが異なる場合は、LWCでマッピングを調整します。
renderExperienceSelectorWithSUSIと関連オプションについて詳しくは、「エクスペリエンスセレクターMFE」トピックの設定プロパティ を参照してください。
Apex: EmailTemplateController
EmailTemplateController.createEmailTemplateは通常:
- テンプレート名、フォルダーID、空でないHTMLを検証します。
EmailTemplateを作成し、TemplateType = 'custom'、HtmlValue、Subject、Bodyおよびフォルダーの割り当てを指定します。AuraHandledExceptionを通じてLWCにエラーを表示します。
運用のヒント:
- 組織内のDeveloperNameの一意性と命名ルールを尊重します。
- フォルダーIDと、ユーザーがそのフォルダーに
EmailTemplate件のレコードを作成できることを確認します。 - DMLが正確なエラーを取得できない場合は、Salesforceのデバッグログを使用します。
検証チェックリスト
デプロイメントと設定の後、このリストの項目を確認して、統合を確実に検証します。
- デプロイメントはエラーなしで完了します。
- ユーザーは
sfgsmfeを含むLightning ページを開き、エクスペリエンスセレクターUIを確認できます。 - コンポーネントに読み込みエラーが表示されません。ネットワーク タブは、
standalone.jsに対してHTTP 200を返します。 - GenStudio エクスペリエンスを選択すると、セレクターが開き、選択コールバックが実行されます。
- メールテンプレートの作成は、そのフローを使用すると成功し、テンプレートは 設定 の設定済みフォルダーの下に表示されます。