一对一消息
文档里都是以发普通的文字消息为例,若有其他需求,将文字换成自己定义的JSON即可。
比如发图片,您可以上传到自己服务器或使用第3方图片存储(如七牛云,阿里云OSS等)将图片上传后,发送url即可。
3.1 接收一对一消息
创建CChatManager对象,传入用户配置信息和回调指针
示例:对象所属类需要实现IStarIMC2CListener接口接收消息回调
m_pChatManager = new CChatManager(pUserManager, this);
3.2 发送一对一消息
消息分“普通消息(sendMessage)”和“在线消息(sendOnLineMessage)”。
“普通消息”是指正常的聊天消息,用户不在线时会缓存,再次上线时会取走所有的离线消息。
“在线消息”只有对方在线才能收到,消息不会缓存。
示例:bool CChatManager::sendOnlineMessage(char* toUserId, char* msgStr)
{
CIMMessage* pIMMessage = StarIMMessageBuilder::getC2CMessage(m_pStarRtcCore->m_pUserManager->m_ServiceParam.m_strUserId, toUserId, msgStr);
if (pIMMessage != NULL)
{
addMessageToMap(pIMMessage);
m_pStarRtcCore->sendOnlineMessage(pIMMessage);
}
return true;
}
bool CChatManager::sendVoipOnlineMessage(char* fromId, char* targetId, int code, char* data)
{
CIMMessage* pIMMessage = StarIMMessageBuilder::getVoipMessage(fromId, targetId, code, data);
if (pIMMessage != NULL)
{
m_pStarRtcCore->sendOnlineMessage(pIMMessage);
}
return true;
}