此用例描述了“动作规则匹配” 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代码中的另一个功能。
- 如果访客在您的开放时间之外访问,则会自动将其重定向。