1. 条件のテスト

進行した状態の検査

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

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

重要

機能の利用可能性は段階的に展開される一環です。あなたの組織はまだこの機能に気づいていないかもしれません。環境が導入された際に利用可能になります。

Sitecore Personalizeは、特定のゲストに対して条件を テスト することを可能にします。このトピックでは、実験や体験リクエストにヘッダーやパラメータを含む高度な条件をテストする方法について説明します。

条件をテストする際、Sitecore Personalizeはサーバー側でJavaScriptをテストします。これにより、JavaScriptが実行されるコンテキスト内で検証されることが保証されます。

UserDeveloper、またはAdminSitecore Cloud Portalで役割を持つチームメンバーは、進行状態を検査することができます。

進行状態の検査:

  1. 条件をOpenしてTestをクリックします。

    Testing a condition
  2. Test Conditionダイアログでは、ゲストに対してその条件をテストしなければなりません。デフォルトのゲストの属性と照合するか、検索ボックスをクリックして最近アクティブなゲストリストからRecentを選んだり、ブックマークしたゲストのリストからBookmarksを選ぶこともできます。システムは最近アクティブだったゲストを選びます。例えば、メールアドレスや他のユニークな識別子、ブラウザIDを使ってゲストを検索できます。

    注記

    設定やテスト時によく使うゲストがいれば、starアイコンをクリックしてゲストをブックマークし、検索しなくて済むようにしましょう。

  3. Experience requestオプションをクリックすると、テスト内の実験や体験のヘッダーやパラメータを含めることができます。これを行うには、JavaScriptコードエディタでrequestコンテキストを呼び出します:

    (function () {
            return { request: request };
    })();
  4. 経験リクエストにヘッダーを追加するには、コードエディタのJavaScriptでヘッダーを含める必要があります。例えば、箱から出した条件のDevice条件はJavaScriptにUser-Agentヘッダーを含みます。以下は以下の通りです。

    (function () {
        load("classpath:ua-parser.js");
        var comparator = "[[is | enum(is, is not) | is | { required: true, placeholder: is/is not }]]";
        var deviceTypes = "[[device type(s) | multienum(mobile, tablet, desktop, other) |  | { required: true, placeholder: device type(s) }]]";
        var deviceTypesArray = deviceTypes.toLowerCase().split(',');
        var desktopOSTypes = ['Mac OS', 'Windows', 'Ubuntu', 'Unix', 'Linux', 'Chromium OS'];
        var deviceMatch = false;
    
        if (request && request.requestDetails && request.requestDetails.headers && request.requestDetails.headers['User-Agent']) {
            var parser = new UAParser();
            parser.setUA(request.requestDetails.headers['User-Agent']);
            var uaParsed = parser.getResult();
            if (uaParsed.device.type) {
                var deviceType = uaParsed.device.type.toLowerCase();
                if (deviceType !== 'mobile' && deviceType !== 'tablet') {
                    deviceMatch = deviceTypesArray.indexOf('other') >= 0;
                } else {
                    for (var k = 0; k < deviceTypesArray.length; k++) {
                        if (deviceType === deviceTypesArray[k].toLowerCase()) {
                            deviceMatch = true;
                            break;
                        }
                    }
                }
            } else {
                var device = 'other';
                if (uaParsed.os.name) {
                    for (var i = 0; i < desktopOSTypes.length; i++) {
                        if (uaParsed.os.name.toLowerCase() === desktopOSTypes[i].toLowerCase()) {	
                            device = 'desktop';
                            break;
                        }
                    }
                }
                deviceMatch = deviceTypesArray.indexOf(device) >= 0;
            }
        }
        
        return (comparator === "is") && deviceMatch || (comparator === "is not") && !deviceMatch;
    })();
  5. Test ScenarioオプションからAdd Headerをクリックします。

  6. この形式でキーとしてオブジェクトを含めることができます: objects.keys。例えば、User_Agentはキー、Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.58は以下の通りの値です。

  7. クリックTest。テストシナリオに追加したパラメータや値は回答に含まれます。

  8. エクスペリエンスリクエストにパラメータを追加するには、JavaScriptコードエディタでパラメータへの全パスを含める必要があります。こちらに示されています。

    (function () {
            return { request: request.params.utm.campaign === "summer_sale"};
    })();
  9. Test ScenarioオプションからAdd Parametersをクリックします。

  10. この形式でキーとしてオブジェクトを含めることができます: objects.keys。例えば、utm_campaignはキー、summer_saleは以下の通りの値です。

    Add parameters to test conditions
  11. クリックTest。テストシナリオに追加したパラメータや値は回答に含まれており、以下に示されています。

    Parameters in the test response
この記事を改善するための提案がある場合は、 お知らせください!