与 IM 业务集成
您可以将 CallPlus 集成到基于 IMLib SDK 的应用程序中,为用户提供使用通话和聊天服务的无缝体验。
在会话页面插入通话结束消息
应用程序可以通话结束时返回聊天视图,并在会话页面中展示通话结束的消息。
CallPlus SDK 可在通话结束时通过回调 onReceivedCallPlusSummaryMessage
返回一个 IM 消息对象,其中包含消息内容对象包含了通话信息。用户可以通过调用 IMLib SDK 的接口直接将该消息内容对象插入到会话中。
在 IM 中插入通话结束消息
重要
CallPlus SDK 暂仅支持在一对一通话(通话类型为
RCCallPlusType.SINGLE
)结束时返回用于展示通话记录的消息内容。暂不支持支持多人通话。
通话正常、异常结束,或在未接听时挂断,CallPlus SDK 会触发 ICallPlusEventListener 的 onReceivedCallPlusSummaryMessage 回调方法,可在该回调方法获取到通话结束的消息内容对象。
如果被叫时用户不在线,CallPlus SDK 会在下次成功连接 IM 后立即获取离线时产生的。为了确保 CallPlus SDK 可在 IM 连接成功后立即获取到这些消息,请在 IM 连接之前调用 setCallPlusEventListener 注册监听器。
收到通话结束消息时,可以将 message
通过 insertMessage 方法插入到本地会话中,并自行刷新 UI。
TypeScript
onReceivedCallPlusSummaryMessage(message: RCMessage) {
/// CustomSummaryMessage 属于 sdk 提供的自定义消息,包含通话记录所需信息
let summaryMsg = message.content as CustomSummaryMessage
console.log('收到 Call Plus summary message', JSON.stringify(summaryMsg))
IMEngine.getInstance().insertMessage(message).then((result) => {
if (result.code === EngineError.Success) {
console.log('插入消息成功');
} else {
console.log('插入消息失败', result.code);
}
});
}