文档

Mobile SDK

在您的原生 Android、iOS 和 Flutter 应用中,接入与网页版完全相同的「AI + 人工」客服聊天。 一套后端契约、一致的行为、三个平台。

平台#

三个原生 SDK 共享完全一致的公共 API 接口。选择与您的应用匹配的那一个:

SDK技术栈最低要求
AndroidKotlin、Jetpack ComposeminSdk 24,Kotlin 2.x
iOSSwift、SwiftUI(零依赖)iOS 15+,Swift 5.9+
Flutter纯 Dart,无原生桥接Dart 3.4+,Flutter 3.16+

每个 SDK 都会把真正的原生聊天以底部弹出面板(bottom sheet)的形式呈现在您的应用之上——不是 WebView。 您的应用负责绘制入口(按钮、图标或角标),并通过 Respondo.open() 打开聊天。

包含哪些功能#

移动端 SDK 完整对齐网页版挂件的功能集:

  • 聊天核心:AI 智能体、实时转交人工客服、正在输入与已读状态、文件附件。
  • 资讯流(「新功能」)和上手引导清单。
  • 调查问卷(NPS、CSAT 等)。
  • 与当前屏幕绑定的页面级横幅和主动式提示。在导航时通过 Respondo.setCurrentScreen("screen_name") 上报当前屏幕——主动式提示和页面级定向会与之匹配。
  • 针对客服回复和营销活动的推送通知,并可深度链接直达对应的对话。
产品导览和工具提示是仅限网页的功能,不会带入移动端 SDK。

工作原理#

每个 SDK 都是同一套公共挂件契约的轻量客户端,与网页版挂件相同——后端原封不动地复用。 消息通过 REST 加 WebSocket 传输,投递会优雅降级(先 WebSocket,再 SSE,最后 REST 轮询), 并在连接恢复的瞬间重新升回上层通道。

授权分为多层:

  • visitor_id —— SDK 生成并安全存放在设备上的稳定匿名 id:Android 使用 Keystore 加密的偏好设置,iOS 使用钥匙串,Flutter 则使用您在 init 时传入的 storageDirectory 中的应用私有文件。
  • userHash —— 由您的后端生成的 HMAC 签名,用于把对话绑定到真实的人(身份校验)。
  • session-token —— 针对每个对话签发,并在 REST 和 WebSocket 调用中重放。

开始使用#

前往与您的应用匹配的平台页面——Android SDK、 iOS SDK 或 Flutter SDK——完成安装并跑通一个可用的初始化。 随后接入身份校验,以便跨设备识别已登录用户;再接入推送通知, 实现离线投递。

每个 SDK 都从各自平台的仓库安装:Android 来自 Maven Central (ai.respondo:respondo-sdk),iOS 通过 Swift Package Manager 来自 github.com/respondo-app/sdk-ios,Flutter 来自 pub.dev (respondo_sdk)。 Android 和 iOS 的源码已在 GitHub 公开。