此用例描述了“动作规则匹配” SDK方法的示例实现。

该示例在网站上具有一个按钮,如果单击该按钮,将检查是否有任何ActionRule匹配。 如果有,将显示一个徽章。

1.在您的网站上实施SDK方法

首先,我们需要在网站上实现“具有符合操作规则”的API方法。 它的文档可以在这里找到。

HTML

在这里,我们创建徽章,如果有任何动作规则匹配项,将在网站上显示。

    <span style="background-color:#93beff; display:none" id="actionRuleMatched">ActionRule Matched!</span>

我们还需要该按钮,该按钮将调用js方法来检查匹配的动作规则。

    <button onclick="checkActionRulesMatched()">Check ActionRules matched</button>

JavaScript

这是我们实现SDK方法的地方。

由于它返回一个数组,因此我们知道,如果结果大小大于1,则至少有一个规则已匹配。在这种情况下,标志设置为可见。

/** 
* perform check for matched ActionRules, show badge if any have matched, hide if none
*/
function checkActionRulesMatched() {
    // Action Rule Listeners
    CV.api.hasActionRuleMatched(function (result) {
        var notificationElement = document.getElementById("actionRuleMatched");
        if (result.length > 0) {
            notificationElement.style.display = "inline";
        } else {
            notificationElement.style.display = "none";
        }
    });
}

返回动作规则可能会导致此处发生一些不同的事情。

如果在页面和Chatvisor加载后也应自动执行对匹配的ActionRules的检查,则一旦满足这些条件,我们可以添加一个事件侦听器来运行该方法。

/** 
* perform check for matched ActionRules once page and CV loaded
*/
window.addEventListener('load', function () {
    if (!window.CVLoaded) {
        window.CVLoaded = checkActionRulesMatched;
    } else {
        checkActionRulesMatched();
    }
})

请记住,由于此检查是在加载后立即进行的,因此某些仅稍后匹配的动作规则将不会显示。 例如,条件为“用户在页面上停留X秒”的动作规则仅在经过X秒后才匹配,此时此侦听器将已经执行了该方法。

2.设置一个ActionRule

现在,我们需要建立一个规则来利用api。 可以在此处找到有关设置动作规则的信息。

条件

对于此示例,该规则具有条件“内部开放时间”,如果当前时间在所选的开放时间之内,则匹配该条件。 可在此处找到有关此功能的信息。

您当然可以选择适合您目的的任何条件组合。

动作

为了将此动作规则添加到匹配规则数组中,需要Action'Javascript Event'。

这是为该示例设置规则的方式。 如果当前时间在开放时间之内,则该规则将标记为“已匹配”,并且从现在开始将在运行SDK方法时出现在结果数组中。

3.检查结果

现在,在开放时间访问时,可以看到示例徽章的原始样式为“显示:无”。

其他可能的情况

这里描述的用例当然很小,但是由于可以通过多种方式组合动作规则条件和动作,因此Javascript SDK也可以用于:

  • 如果座席在线但忙碌,请显示徽章。
  • 如果客户访问特定的子域并通过Chatvisor LiveChat发送消息,则触发javascript代码中的另一个功能。
  • 如果访客在您的开放时间之外访问,则会自动将其重定向。