安卓客服SDK怎么接入,iOS要另接吗
作者:周屿|更新于 2026-10-25
老板说 APP 里要加个「联系客服」,活落到安卓开发手上。手上本来就排着别的需求,最想知道的是要动哪些地方,会不会给上架审核惹麻烦。用现成的安卓客服SDK,工作量不大。
安卓这边加一行依赖,写两行代码,点「联系客服」就能打开一个完整的客服页。客户在里面发消息、发图片、按住说话,客服在电脑上回。

那 iOS 要不要另接?要。iOS 是另一套工程,也得集成一次。不过两边用的是同一个渠道 ID,后台不用建两套。
下面按顺序走一遍,用的是合从的 SDK,代码都照文档站原样贴。
先在工作台拿一个渠道 ID
开发要的只有一个东西,就是渠道 ID。不要密钥,不要证书,也不要备案域名。
渠道 ID 在工作台里建。工作台,就是客服回消息的那个页面。建渠道要管理员账号,普通客服账号看不到这个入口。
- 登录工作台,左侧导航最下面点「设置」。
- 在「客户」下面找到「渠道管理」,点「接入新渠道」。
- 渠道类型选「APP SDK」,填个渠道名称,比如「商城 APP 客服」,点「创建渠道」。
团队第一次建渠道时,会先弹一个窗,写着工作台和手机上合从 APP 要什么版本。版本太低,收不到这个渠道的消息。看完点「我知道了」,再接着建。

建好以后,页面直接跳到这个渠道的「SDK 接入」。安卓和 iOS 两段代码都在上面,渠道 ID 已经填进去了,整段复制给开发就行。安卓那段能切 Kotlin 和 Java,iOS 那段能切 Swift 和 Objective-C。

只想单独拿渠道 ID,在左边「进阶」下面点「开发者」,最上面那张「接入参数」卡里就是。
还没注册、没建团队的,先看在线客服系统从注册到开始接待。
安卓客服SDK:加一行依赖,写两行代码
前提有两个。minSdk 不低于 21,也就是 Android 5.0。工程能从 Maven Central 拉依赖。
新建的安卓工程默认就有 mavenCentral(),多数时候不用改。老工程翻一下,Android Gradle Plugin 7.0 以上看 settings.gradle.kts 里的 dependencyResolutionManagement,更早的看根 build.gradle 的 allprojects。
- 在 APP 模块的
build.gradle.kts里加一行依赖,然后同步 Gradle:
dependencies {
implementation("com.aihecong:hecong-chat-sdk:0.7.0")
}
用 Groovy DSL 的工程写成 implementation 'com.aihecong:hecong-chat-sdk:0.7.0'。
- 在 APP 启动流程里调一次
configure,把渠道 ID 交给 SDK:
HecongChat.configure(this, HecongChatConfig("你的渠道ID"))
这一步只登记参数,不联网,也不收集信息。还是建议放在用户同意隐私政策之后调,国内应用市场审核会看第三方 SDK 什么时候初始化。
想让客户头一回点开更快,可以在 configure 后面再调一次 HecongChat.prewarm(this)。这一步会联网,一定要放在用户同意隐私政策之后。不调也能用,头一回打开慢一点。
- 在「联系客服」的点击事件里打开客服页:
HecongChatActivity.start(this, HecongChatConfig("你的渠道ID"))
到这就能用了。聊天页整页打开,顶上一条标题栏写着「在线客服」,左上角是返回。
AndroidManifest.xml 不用为这个页面改,SDK 自己的 manifest 已经声明好了。选文件、拍照、返回键、前后台切换,整页打开时都处理好了。
项目是 Java 写的也能直接调,导入 HecongChat、HecongChatActivity、HecongChatConfig 三个类,写法一样。
语音和拍照的权限自己声明
这是最容易漏的地方。SDK 自己一条权限都不声明。客户要按住说话发语音,或者直接拍照拍视频发给客服,就要在自己的 AndroidManifest.xml 里声明:
<!-- 要让客户按住说话发语音,这两条必须一起声明 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<!-- 要让客户直接拍照或拍视频发给客服 -->
<uses-permission android:name="android.permission.CAMERA" />
用到哪个声明哪个。只让客户打字、发相册里的照片和文件,一条都不用加。
语音那两条要一起加。只加 RECORD_AUDIO,客户点了「允许」,还是提示麦克风被占用,重启 APP 也没用。
漏声明不会崩,只是对应的按钮没反应。没声明相机,拍摄入口点了没动静;没声明麦克风,发语音会提示权限没开。
申请权限的流程不用自己写。SDK 在弹系统授权框之前,会先弹一层说明,写清要什么权限、拿来做什么,这是国内应用市场审核要的。也只在客户点了那个功能时才申请,不会一启动就弹。
APP 如果是多进程的,要在任何 WebView 创建之前,给非主进程设一个数据目录后缀,不然会直接崩。
iOS 要另接一次,渠道 ID 用同一个
iOS 填同一个渠道 ID 就行,后台不用另建渠道。想在工作台里把安卓和 iOS 的咨询分开看,再建一个渠道,两边各填各的。
部署目标不低于 iOS 13。
发语音另有门槛。iPhone 系统要 iOS 14.5 以上,安卓手机上的 Android System WebView 要比较新。达不到的手机,按住说话的入口不显示,打字、发图片、发文件不受影响。
- 在 Xcode 里选「File > Add Package Dependencies」,搜仓库地址,依赖规则选 Up to Next Major Version,版本填
0.7.0,把HecongChatSDK加到 APP target:
https://github.com/sandywk/hecong-ios-sdk
SDK 从 GitHub 拉,国内网络头一回解析可能要等很久。解析失败了,在「File > Packages > Reset Package Caches」之后重试。
- 启动时登记渠道 ID:
import HecongChatSDK
HecongChat.shared.configure(HecongChatConfig(channelId: "你的渠道ID"))
- 点「联系客服」时打开客服页:
HecongChat.shared.push(config: HecongChatConfig(channelId: "你的渠道ID"))
SDK 自己找到当前的导航栏,把客服页推进去,UIKit 和 SwiftUI 写法一样。
- 在
Info.plist里补两句用途说明。NSMicrophoneUsageDescription写在客服会话里录语音要用麦克风,NSCameraUsageDescription写在客服会话里拍照片视频要用相机。
苹果会审这两句话,只写「需要相机」会被拒。
装到手机上发一条试试
App 渠道只能在手机或模拟器里测。渠道地址拿到浏览器里打开,只会看到一张提示页,让你去 APP 里打开。
把 APP 装上,点开客服,能看到带欢迎语的对话界面。发一条消息,工作台的对话列表里能看到,就通了。
自己工程还没集成完,可以先装示范 App。这是一个已经装好 SDK 的 APP,扫码地址是 https://assets.aihecong.com/app-demo/index.html,安卓和 iPhone 同一个码。
用微信、QQ、钉钉扫,会被拦住,下不了安装包,也跳不到 TestFlight。点右上角的「···」,选「在浏览器中打开」,再照常装。安卓装的时候会提示未知来源,选继续安装就行。
装好以后底部切到「配置与诊断」,打开「渠道配置」,把渠道 ID 粘进去保存。发一条消息,工作台收到了,就说明渠道和账号这边是通的,之后再出问题只用查自己的工程。
联调发的消息会真的进客服的对话列表,和真客户混在一起。可以建两个 App 渠道,测试包用一个,正式包用另一个。
上线前再看两件事。
- 客户在 APP 里退出登录时,调一次
resetUser()。不调的话,下一个在这台手机上登录的人,会看到上一个人的聊天记录。 - 提交应用市场前,把 SDK 的公示信息填进自己的隐私政策,漏了会被打回。
接通以后,客服就能在工作台回 APP 里来的咨询了。客户退出 APP 后客服才回的消息,可以推到他手机上。夜里没人值班,渠道上可以绑一个 AI 机器人先接着,做法见AI 客服机器人怎么搭。
先装示范 App 填进渠道 ID 发一条,工作台收到了,再动自己的工程。
常见问题
安卓 SDK 21 对应安卓几?
minSdk 21 对应 Android 5.0。这也是合从安卓客服SDK的最低要求,APP 的 minSdk 不低于 21 就能装。
uni-app、Flutter 写的 APP 能用安卓客服SDK吗?
uni-app、React Native、Flutter 这三类不用装原生 SDK,在 APP 里放一个 WebView 组件,打开一条对话链接就行。对话链接,就是一个点开就能聊天的网址,对话链接是什么单独写过。
这条路少三样,未读红点、客户退出 APP 后的离线消息通知、应用市场要的权限说明弹窗。这三样都要,框架又能写原生模块的,可以在原生层集成 SDK,再从 JS 那边调用打开客服页。合从没在这几个框架上验证过,具体怎么集成,以框架自己的文档为准。
第三方客服系统 SDK 怎么挑?
看四点。安卓和 iOS 是不是都有原生 SDK;接入要准备多少东西,要不要密钥、证书、后端改动;权限申请和隐私合规有没有按应用市场的要求替你做好;能不能先装个示范 App,看清客户那边长什么样再排开发。
上一篇:公众号怎么设置几个客服同时回复
下一篇:内嵌客服系统选H5还是SDK