Marketing Cloud Next でのプレビューとテストの拡張
プレビューとテストは、送信前にメッセージコンテンツを確認するための Marketing Cloud Next の組み込み機能です。[プレビューとテスト] モーダルから、メール、SMS、または WhatsApp メッセージが受信者にどのように表示されるかを確認したり、特定のセグメントメンバーでプレビューをパーソナライズしたり、差し込み項目を検証したりできます。モーダルには、表示されるコンテンツをプレビューしたり、テスト送信を実行したりするための専用タブが含まれます。
必要なエディション
| 使用可能なエディション: Marketing Cloud Next Growth Edition または Advanced Edition が付属する Salesforce Enterprise Edition および Unlimited Edition、および Starter Edition および Pro Suite Edition。使用しているエディションによって、使用できるオプションが決まります。 |
| 必要なユーザー権限 | |
|---|---|
| コンテンツをプレビューおよびテストする | 「Marketing Cloud マネージャー」権限セットおよび任意の CMS ワークスペース寄稿者ロール |
モーダルにカスタムタブを追加して、[プレビュー] と [テスト] を拡張できます。各カスタムタブは、作成して組織にリリースする Lightning Web コンポーネント (LWC) によって提供されます。このタブでは、チャネル種別、コンテンツ、差し込み項目値などのライブプレビューデータが受信されるため、カスタム検証ツールの作成、プレビューの表示、インテグレーションチェックをプレビューおよびテスト環境で直接行うことができます。
拡張メカニズムはメタデータ型のUiPreviewMessageTabDefに基づいています。UiPreviewMessageTabDefレコードを作成して有効化すると、カスタムタブがモーダルの標準の [プレビュー] タブと [テスト] タブと共に表示されます。
-
Marketing Cloud Growth Edition または Advanced Edition の設定を完了します。設定手順については、「使用開始ガイド」を参照してください。
-
Salesforce ワークベンチを設定します。
-
メールチャネルをプロビジョニングします。これがないと、
UiPreviewMessageTabDefにアクセスできません。
- previewData オブジェクトについて
カスタム LWC は、プレビュー中のメッセージに関するコンテキスト情報を含む previewData オブジェクトを受信します。previewData で使用できるフィールドはチャネルによって異なります。
ステップ 1: Lightning Web コンポーネントの作成およびリリース
LWC を作成して組織にリリースします。このコンポーネントは、カスタムタブに表示されるコンテンツを提供します。手順で指定されたディレクトリ構造とファイルの内容を使用します。
-
コンポーネントのディレクトリ構造を作成します。
lwc/ customTab/ customTab.html customTab.js customTab.js-meta.xml package.xml「Create Lightning Web Components」を参照してください。 -
次のマークアップを customTab.html に追加します。
<template> <div style="padding: 20px;"> <div>This content appears in the custom tab.</div> <div>previewData.channelType: {previewData.channelType}</div> <div>previewData.content: {previewData.content}</div> <div>previewData.contentKey: {previewData.contentKey}</div> <div>previewData.emailSubject: {previewData.emailSubject}</div> <div>previewData.emailPreheader: {previewData.emailPreheader}</div> </div> </template> -
次のコードを customTab.js に追加します。
import { LightningElement, api } from "lwc"; export default class CustomTab extends LightningElement { @api previewData; } -
次のメタデータを customTab.js-meta.xml に追加します。
<?xml version="1.0" encoding="UTF-8"?> <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata"> <apiVersion>64.0</apiVersion> <isExposed>true</isExposed> <capabilities> <capability>lightning__dynamicComponent</capability> </capabilities> </LightningComponentBundle> -
次のコンテンツを package.xml に追加します。
<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>*</members> <name>LightningComponentBundle</name> </types> <version>64.0</version> </Package> -
コンポーネントを組織にリリースします。
「Deploy Using Your Own Tools」を参照してください。
ステップ 2: UiPreviewMessageTabDef エントリの作成
LWC をリリースしたら、UiPreviewMessageTabDefレコードを作成してカスタムタブを登録します。
- 組織で、設定アイコンをクリックし、[開発者コンソール] を選択します。
- 開発者コンソールで、[Query Editor (クエリエディター)] タブをクリックします。
- クエリエディタの下部で、「Use Tooling API」チェックボックスをオンにします。
-
次のクエリを入力し、[実行] をクリックします。
SELECT Id, DeveloperName, TabName, IsActive, SupportedChannel, LightningComponentDefId FROM UiPreviewMessageTabDef - [Insert Row (行を挿入)] をクリックし、各必須項目の値を指定します。項目の説明については、「UiPreviewMessageTabDef」を参照してください。
-
リリースした LWC の ID を取得するには、クエリエディターで次のクエリを実行します。
SELECT Id, DeveloperName, IsExposed, NamespacePrefix FROM LightningComponentBundle WHERE IsExposed = true -
コンポーネントから
Id値をコピーして、LightningComponentDefId フィールドに入力します。 - [Save Rows (行を保存)] をクリックします。
IsActiveを [true] に設定してUiPreviewMessageTabDefレコードを保存すると、カスタムタブが標準の [プレビュー] タブと [テスト] タブの横にある [プレビュー & テスト] モーダルに表示されます。コンポーネントに渡されるpreviewDataオブジェクトは、ユーザーが別のセグメントメンバーを選択したり、パーソナライズされたビューとパーソナライズされていないビューを切り替えたりした場合など、プレビューコンテキストが変更されたときに自動的に更新されます。

