使用ManyChat增长工具时,该库提供了更多机会:
-
使用无头复选框小部件的功能
-
为动态创建的元素初始化小部件的机会
- 控制小部件的可见性等
初始化 #
库的加载是通过使用脚本完成的。可以在“增长工具”部分(“设置”选项卡,安装JavaScript代码段)中找到此脚本的链接。加载是异步执行的,这就是为什么在调用库的方法之前必须等待库加载的原因。这就是mcAsyncInit回调的目的。加载后,全局MC变量变得可用并提供对功能的访问。
<script src="//widget.manychat.com/YOUR_PAGE_ID.js" async="async"></script>
<script>
窗口.mcAsyncInit = 函数() {
// MC 变量现在可用
控制台.日志(MC);
};
</script>
嵌入小部件初始化 #
要初始化嵌入的窗口小部件(按钮或框),您需要在页面中向您希望窗口小部件出现的位置添加其他代码。通常,此代码如下所示:
<div class="mcwidget-embed" data-widget-id="YOUR_WIDGET_ID" data-widget-payload="OPTIONAL_PAYLOAD"></div>
您可以将代码放在同一页面上的多个位置。小部件的实例将在每个位置初始化。对于小部件的每个实例,您可以设置一个可选的有效负载-这是将保存在小部件设置中指定的“自定义用户字段”中的数据。要设置窗口小部件实例的有效负载,请data-widget-payload为元素设置属性或使用下面描述的方法。 setPayload
核心方法 #
|
方法 |
描述 |
|
|
在页面上查找小部件元素(例如 |
|
|
通过小部件ID或Embed小部件实例的DOM元素返回小部件的对象。使用此对象,您可以侦听小部件的事件和调用方法。窗口小部件的ID可以从Growth Tools中的代码段中获取。 |
| MC.getWidgetList() | 返回所有活动小部件的列表。 |
复选框小部件方法 #
下面列出的所有方法和属性仅适用于“复选框”窗口小部件类型。
|
方法 |
描述 |
|
|
订阅事件
|
|
|
退订一个事件或所有事件。如果没有提供回调,它将取消订阅所有事件。 |
| .提交() |
发送复选框确认的方法。单击按钮后必须调用以确认加入。 |
|
|
此属性允许检查窗口小部件的当前状态。 |
| .ref | 提交小部件时使用引用字符串,仅在提交后才可用。 |
| .userRef | 提交窗口小部件时使用用户标识符,仅在提交后才可用。 |
叠加小部件方法 #
下面列出的所有方法和属性仅适用于“ Bar”,“ Slide-In”,“ Modal”和“ Page Takeover”窗口小部件类型。
|
方法 |
描述 |
| .打开() |
打开小部件。 |
|
|
关闭小部件。 |
| .setPayload(refPayload) | 设置小部件的参考有效载荷。值必须是字符串。最多200个字符。有效字符为a-z A-Z 0-9 +/=-._ |
客户聊天小部件方法 #
下面列出的所有方法和属性仅适用于“客户聊天”窗口小部件类型。
速率限制 #
每个“客户聊天”方法限制为每5秒1个调用。
|
方法 |
描述 |
| .open(shouldOpenDialog) |
打开小部件。您可以使用shouldOpenDialog参数来确定是否也应打开对话框。 |
|
|
关闭整个小部件。 |
| .openDialog() | 打开窗口小部件对话框。 |
| .closeDialog() | 关闭窗口小部件对话框。 |
| .setLoggedInGreeting(文本) | 设置登录用户的问候语。 |
| .setLoggedOutGreeting(文本) | 设置注销用户的问候语。 |
| .setPayload(refPayload) | 设置小部件的参考有效载荷。值必须是字符串。 |
| .set(变更) | 设置问候语和/或ref有效负载参数。变更是具有新值的JSON对象。可用PARAM名称:loggedInGreeting,loggedOutGreeting,refPayload |
嵌入小部件方法 #
下面列出的所有方法和属性仅适用于“按钮”和“框”窗口小部件类型。
要在窗口小部件上执行方法,您需要获取窗口小部件实例对象。您无法通过将传递widgetId给方法来获取它,MC.getWidget因为页面上可能同时存在多个小部件实例。因此,要获取实例对象,您应在调用时传递Widget DOM元素作为参数MC.getWidget,例如
<div id="test-widget" class="mcwidget-embed" data-widget-id="420"></div>
const widgetInstanceElement = document.getElementById('test-widget')
const widget = MC.getWidget(widgetInstanceElement)
widget.setPayload('custom_payload')
|
方法 |
描述 |
| .setPayload(refPayload) | 设置小部件的参考有效载荷。值必须是字符串。最多200个字符。有效字符为a-z A-Z 0-9 +/=-._ |