入门
Integration overview
一个后端,所有平台 —— 接入一次,始终保持最新。
AskAIs 智能客服系统 是「一个后端 + 多端 SDK」:你只需把工作区配置一次,就能把客服聊天嵌到任何地方 —— 网站、移动 App、或任意后端服务。所有端连的都是同一个收件箱、同一个 AI 助手、同一套知识库。
一个后端,所有平台
无论用哪个平台,接入都很短,而且对话、访客、AI 回复、各项配置全部共享。下面是每个平台怎么装,以及——很关键——它以后怎么拿到更新:
平台一览
| 平台 | 安装方式 | 如何更新 |
|---|---|---|
| 网站 | <script src="…/widget.js"> | 自动 —— 每次页面加载都拉取最新版 |
| iOS(Swift) | Swift Package / CocoaPods | 升级 SDK 版本号,重新打包发版 |
| Android(Kotlin) | Gradle | 升级 SDK 版本号,重新打包发版 |
| Flutter | pub | 升级 SDK 版本号,重新打包发版 |
| React Native | npm | 升级 SDK 版本号,重新打包发版 |
| 任意后端 | REST API / OpenAPI | 你自己的服务 —— 随你部署 |
各端 SDK 通用吗?
通用。它们只是同一个 AskAIs 智能客服系统 工作区的不同入口,完全互通:
- 同后端、同 app-id:所有端都连到你工作区里的同一个收件箱。
- 同一访客跨端续聊:用同一个 externalId 识别,网页上开始的对话能在 App 里接着聊。
- 配置全端共享:AI 助手、知识库、营业时间、关键词回复、常见问题都只配一次,处处生效。
网页 —— 官方嵌入(推荐)
在 </body> 前放这一行就装好了,就这么简单。app-id 是公开的、可以放心写进 HTML,在「设置 → 收件箱」里复制。
<script src="https://cs.askais.com/widget.js"
data-app-id="YOUR_APP_ID"
data-base-url="https://cs.askais.com"
async></script>⚠️ 不要下载或自托管 widget.js
网页挂件务必从 https://cs.askais.com/widget.js 加载。如果你把这个文件下载下来自己托管、或编译进自己的打包产物,就等于把它「冻」在某个旧版本 —— 我们之后的样式更新、Bug 修复、新功能都到不了你这里。从 cs.askais.com 加载,挂件会自动保持最新,你什么都不用改。
在你的页面里控制它(可选)
脚本加载后,会有一个全局对象 window.SingChat:
// Open / close the widget
window.SingChat.open();
window.SingChat.close();
// Identify a logged-in user (so chats follow them across devices)
window.SingChat.identify({ externalId: "user_123", name: "Ada", email: "ada@acme.com" });移动 App(iOS / Android / Flutter / React Native)
原生 SDK 是编译进 App 的,不像网页挂件那样运行时自动更新;要拿新版,在包管理器里升级 SDK 版本号、重新发版即可。各端初始化思路一致 —— 指向 https://cs.askais.com,用 app-id 识别:
// Swift Package Manager
.package(url: "https://github.com/singlink/singlink-ios", from: "0.1.0")
let client = SingChatClient(baseURL: "https://cs.askais.com")
try await client.identify(.deviceAnonymous(appId: "YOUR_APP_ID"))任意后端 / 任意语言
不用 SDK 也行 —— 直接调 REST API 即可识别访客、收发消息。我们还基于 OpenAPI 规范生成了 30+ 语言的 SDK。
# Any backend / language — talk to the REST API directly
curl -X POST https://cs.askais.com/api/v1/auth/identify \
-H 'Content-Type: application/json' \
-d '{"appId":"YOUR_APP_ID","externalId":"user_123"}'