此用例描述了“动作规则匹配” SDK方法的示例实现。
该示例在网站上具有一个按钮,如果单击该按钮,将检查是否有任何ActionRule匹配。 如果有,将显示一个徽章。
首先,我们需要在网站上实现“具有符合操作规则”的API方法。 它的文档可以在这里找到。
在这里,我们创建徽章,如果有任何动作规则匹配项,将在网站上显示。
<span style="background-color:#93beff; display:none" id="actionRuleMatched">ActionRule Matched!</span>
我们还需要该按钮,该按钮将调用js方法来检查匹配的动作规则。
<button onclick="checkActionRulesMatched()">Check ActionRules matched</button>
这是我们实现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秒后才匹配,此时此侦听器将已经执行了该方法。
现在,我们需要建立一个规则来利用api。 可以在此处找到有关设置动作规则的信息。
对于此示例,该规则具有条件“内部开放时间”,如果当前时间在所选的开放时间之内,则匹配该条件。 可在此处找到有关此功能的信息。
您当然可以选择适合您目的的任何条件组合。
为了将此动作规则添加到匹配规则数组中,需要Action'Javascript Event'。
这是为该示例设置规则的方式。 如果当前时间在开放时间之内,则该规则将标记为“已匹配”,并且从现在开始将在运行SDK方法时出现在结果数组中。
现在,在开放时间访问时,可以看到示例徽章的原始样式为“显示:无”。
这里描述的用例当然很小,但是由于可以通过多种方式组合动作规则条件和动作,因此Javascript SDK也可以用于: