跳转到正文

SDK 参数与返回对象 ​

SDK 方法调用与 HTTP 请求是两层接口。宿主一般调用 SDK;SDK 负责网络请求、消息缓存和界面。本页解释宿主接入时使用的对象,具体方法见各平台参考。

用户资料 ​

含义Web / uni-appAndroidiOS / HarmonyOS
外部用户 IDuserIduserIduserID
账号usernameusernameusername
昵称nicknamenicknamenickname
头像地址avataravataravatar
个性签名signaturesignaturesignature
IP 属地uni-app: ipRegion不在 PopoUser 构造参数中ipRegion

用户 ID 是宿主系统提供的稳定 ID,不能用昵称代替。昵称用于展示,头像使用 URL。没有头像时原生平台与 uni-app 可传空字符串。可选账号、签名和属地按各平台构造函数省略或传空值;Web 的可选字段省略即可。

资料项值类型提交要求
外部用户 ID文本必填,1–64 字符,保持稳定,不含控制字符和首尾空白。
昵称文本必填,1–80 字符,用于显示。
头像URL 文本Android、iOS、HarmonyOS、uni-app 用户对象需要此字段,无头像时为空字符串;Web 可省略。
账号文本或空值可选,用于按账号查找用户,不是昵称。
个性签名文本或空值可选,没有签名时按平台使用空值或省略。
IP 属地文本或空值仅提供此字段的平台可使用,不参与身份判断。

认证结果 ​

各平台的 IMAuth 或 PopoAuthInfo 都包含三项:

字段类型说明
user当前平台的用户对象与 Token 对应的用户资料。
tokenstring / String宿主后端向 PopoIM 获取的 IM Token。
expireAtnumber / Long / Int64过期时间,Unix 秒时间戳,不是毫秒。

authProvider 由宿主实现:先依据宿主自己的登录态向宿主后端取票,再返回此对象。不要把 sdkSecret 放到客户端,也不要在客户端自行生成 Token。

会话目标 ​

字段含义
typefriend 单聊或 group 群聊;Android/HarmonyOS 使用对应枚举。
id / targetId / targetID单聊填写对方外部用户 ID;群聊填写公开 group_id。不是 conversation_id。
messageId / messageID需要定位消息时传正十进制消息 ID。uni-app 放在目标对象里,Android/iOS 使用方法重载;其他入口打开最新消息。

Android 使用 PopoConversationTarget.friend(userId) 或 .group(groupId);iOS 和 HarmonyOS 也提供同名创建方法。它们返回对应平台的会话目标对象,参数无效时按平台抛出错误。

未读数量 ​

字段类型说明
conversationinteger当前未读消息数。
contactinteger当前未读申请数。

均为当前总数,范围 0–100,100 可展示为 99+。收到回调后替换宿主角标,不要累加。

完成回调与错误 ​

Android PopoCallback 的 onComplete(error)、iOS PopoCompletion 的 error,为空表示成功;有值表示失败。方法本身通常返回 void/Void,结果通过回调送达。Android 和 iOS 的宿主完成回调在主线程处理。

HarmonyOS 与 uni-app 主要使用 Promise。Promise<void> 完成时没有业务数据,失败进入 catch;Promise<boolean> 则用布尔值表示该方法说明的结果。

错误字段说明
codeSDK 的错误枚举或稳定分类,适合程序判断。
category配置、状态、认证、网络、协议、业务或取消等大类。
message供开发排查或界面提示的说明。
serverCode对应服务器业务错误码;本地错误可能没有有效服务器错误码。

Web 的错误规则见 Web 方法参考。错误不等于全部需要重新登录:网络失败保留可读界面,认证失效才重新通过宿主取票。

缓存大小 ​

原生 SDK 的 cacheSize 返回可清理的媒体缓存字节数;clearCache 返回清理后剩余的字节数。清理不会删除聊天记录、草稿或待发送内容。显示给用户时再换算为 MiB。