アクティビティの種類のパス

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

パスは、連絡先が1つのアクティビティから別のアクティビティに移動することができるルートです。1つのアクティビティからのパスの数は、アクティビティのタイプによって決まります。アクティビティタイプでは、次のいずれかを定義できます。

  • 1つのデフォルトパス - 例としては、Sitecore.Marketing.Automation.Activity.ChangeContactBehaviorProfileValueアクティビティタイプがあります。

  • TrueパスとFalseパス - 例としては、Sitecore.Marketing.Automation.Activity.Conditionalアクティビティの種類が含まれます。

大事な

有効なアクティビティー・パス・キー名は、"true""false"、および "default"です。ケースは重要であり、遵守する必要があります。追加のカスタムパスを定義することはできません。

次の例では、強調表示されたアクティビティでSitecore.Marketing.Automation.Activity.GoalTriggeredアクティビティの種類が使用されています。このアクティビティの種類は、UIに反映されるtrueとfalseのパスを定義します。

Example of marketing automation plan activity with true and false paths.

パスは、次のもので構成されます。

  • アクティビティ・タイプ・クラス (return new SuccessMove("true"))内のSuccessMoveクラスのインスタンス。

  • アクティビティ タイプ記述子アイテムの下のパス アイテム。 Keyフィールドの値は、コードで定義されたパス キーと一致する必要があります。

アクティビティパスの設定

メモ

次の手順は、マーケティングオートメーションUIによって実行されます。

自動化プラン定義マネージャーを使用してプランを作成する場合、各AutomationActivityDefinition 1つのパス (デフォルト) または2つのパス (trueとfalse) を定義できます。使用可能なパス・キーは、アクティビティ・タイプによって決まります。

次の例では、firstActivityはキー defaultを持つパスを定義します。これは、記述子項目ID {56632708-510a-46fd-995d-6a4a709e90d4} で表されるアクティビティの種類に、一致するキーを持つパスがあることを前提としています。

var secondActivity = new AutomationActivityDefinition
{
    Id = Guid.NewGuid(), // ID of this instance
    ActivityTypeId = Guid.Parse("24632708-a10a-46fd-995d-6a4a709e90d4"),
};

var firstActivity = new AutomationActivityDefinition
{
    Id = Guid.NewGuid(), // ID of this instance
    ActivityTypeId = Guid.Parse("56632708-510a-46fd-995d-6a4a709e90d4"),
    Paths =
    {
        { "default", secondActivity.Id }
    }
};

連絡先がfirstActivity内で評価され、基になるアクティビティの種類がnewSuccessMove("default")を返す場合、連絡先はデフォルトのパスに沿ってsecondActivityに移動します。

手記

技術的には、特定のパスキーを使用するためにパス項目は必要ありません。アクティビティー・タイプ・クラスにパス・キーが存在する場合、自動化プラン定義マネージャーはそのキーを使用できます。ただし、マーケティングオートメーションUIは、アイテムによって表されるすべてのパスに依存しています。

合法的なパス

パスがプラン内の有効なパスと見なされるのは、AutomationActivityDefinitionオブジェクトのPathsプロパティで宣言されている場合のみです。たとえば、次のAutomationActivityDefinitionでは、defaultという名前の1つのパスを定義しています。

var firstActivity = new AutomationActivityDefinition
{
    Id = Guid.NewGuid(), // ID of this instance
    ActivityTypeId = Guid.Parse("18b8c9e0-dc4e-b757-4f07-ba91f7c60ea7"),
    Paths =
    {
        { "default", secondActivity.Id }
    }
};

Sitecoreでプラン定義アイテムを保存すると、Sitecoreはこのデータを[プラン データフィールドにJSONとして表します。

Plan data shown from the Content Editor

{18b8c9e0-dc4e-b757-4f07-ba91f7c60ea7} IDで表されるアクティビティの種類クラスには、次のパスを誤って返すロジックが含まれている可能性があります。

return new SuccessMove("true");

プラン定義にはキー trueのパスが含まれていないため、パスは正しくありません。この場合は、代わりにエラーが返されます。

return new Failure();

このシナリオは、アクティビティの種類に対して正しいパス項目を作成できなかった場合に発生する可能性があります。

すべてのアクティビティの種類のパスを取得する

アクティビティ タイプ記述子ロケータAPIを使用して、特定のアクティビティ タイプで使用可能なすべてのパスを取得します。次の例は、特定のアクティビティの種類のすべてのパラメーターのキーと名前を取得する方法を示しています。

using System;
using Sitecore.Xdb.MarketingAutomation.Locators.AutomationPlans;
using Sitecore.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using System.Globalization;

namespace Documentation.Examples
{
    public class Locators
    {
        public void LocatorsExample()
        {
            var locatorService = ServiceLocator.ServiceProvider.GetService<IActivityDescriptorLocator>();

            var activityTypeDescriptorId = Guid.Parse("{56632708-510a-46fd-995d-6a4a709e90d4}");

            var descriptor = locatorService.GetDescriptor(activityTypeDescriptorId, CultureInfo.InvariantCulture);

            foreach (var path in descriptor.Paths)
            {
                var key = path.Key; // Path key - e.g. default
                var name = path.Name; // Human-readable path name - e.g. Default Path
            }
        }
    }
}
この記事を改善するための提案がある場合は、 お知らせください!