Appearance
调试模式
调了 identify()、工作台却没显示客户资料时,用调试模式在页面上直接查:传了什么、到哪一步、被谁丢了、该怎么改。
怎么打开
首选:网址上加参数。 在你自己网站的网址后面加 ?hcdebug=1,打开这个地址,聊天窗里就有调试面板。不用改接入代码,也不用发版。
https://你的网站.com/vip?hcdebug=1只有 1 和 true 算打开,填别的值等于没开。
备选:接入代码上加属性。 网站是 hash 路由(网址里带 #),或者前端框架把网址参数吃掉了,网址参数就读不到。这种情况给接入代码加 data-debug="1":
html
<script src="..." data-channel="你的渠道 ID" data-debug="1"></script>两个开关一起用时
网址参数优先。网址上写了 ?hcdebug=0,即使接入代码里有 data-debug="1" 也是关的。
查完记得把 data-debug="1" 去掉再发版,否则每位访客都能看到面板。
两个容易误解的地方
开关只在页面加载时判定。 聊天窗打开之后再改参数没有用,因为面板要记的正是「刚打开时收到了什么」。改完重新打开一次页面。
面板说「资料记下了,工作台还看不到」不是出错。 客户还没有档案时,资料会先挂着,等客户发出第一条消息再自动补写进档案。这是设计如此,你什么都不用改。
面板长什么样
调试模式打开后,聊天窗标题栏下面多一条状态条,点开是调试面板。它嵌在聊天窗里,不遮挡输入框。
状态条一眼给结论:
| 颜色 | 文案 | 意思 |
|---|---|---|
| 灰 | 还没传入客户信息 | 这次打开没带任何客户资料 |
| 红 | 资料没送出去 | 带了资料但没有会员 ID,资料没地方存,已被丢弃 |
| 红 | 有自定义字段没被收下 | 字段名没在工作台定义过 |
| 红 | 会员 ID 被拒绝了 | 用了 guest、test、0 这类占位值,换成你系统里真实的用户编号 |
| 黄 | 资料正在送出… | 已经发出,还没等到结果 |
| 黄 | 资料记下了,工作台还看不到 | 客户还没有档案,等他发第一条消息就会补写 |
| 绿 | 资料已写入,工作台能看到了 | 正常 |
| 绿 | 会员身份已送达 | 只传了会员 ID、没带其他资料时的正常状态 |
面板里有两个标签页。
概览:你传了什么(会员 ID、姓名、手机、邮箱、自定义字段逐项列出,每项标明去向)、实际写进去几项、连接状态、现在识别成谁。
去向分三种:
- 没传 —— 压根没带这一项
- 没送出 —— 带了,但客户端就丢了,请求没发出去
- 没收下 —— 发出去了,服务器没收(多半是字段没在工作台定义)
没带的姓名、手机、邮箱不会单独列一行,只有会员 ID 缺失时会明确标出来。
记录:你调了哪些命令、订阅了哪些事件、发生了哪些事件,都带时间。最多留最近 50 条。
查不出来的时候
面板底部的 复制诊断信息 会把上面这些整理成一段文字,可以直接发给合从客服。
里面不含合从的内部信息,也不含任何凭据。但它包含你自己传进去的客户资料明文,姓名、手机、邮箱、会员 ID 都在里面。转发前自己判断一下,必要时先把这些值抹掉。
访客会不会看到
不会,除非他打开的正是带调试参数的那个地址。不带参数时面板的代码根本不会下载。
它也不影响正常接待:开着的时候聊天功能一行没变,只是消息区顶部被状态条占掉一条。
调试参数没有密码,谁拿到带参数的地址谁就能看到面板。所以带参数的链接不要对外发,自己测完就换回不带参数的地址。