一对一消息
文档里都是以发普通的文字消息为例,若有其他需求,将文字换成自己定义的JSON即可。
比如发图片,您可以上传到自己服务器或使用第3方图片存储(如七牛云,阿里云OSS等)将图片上传后,发送url即可。
4.1 接收一对一消息
通过登录过程中传入的回调函数接收一对一消息;function callBack(data,status) {
switch (status){
...
case "onVoipMessage":
//收到voip消息
switch(data.type)
{
case "voipCall":
//收到voip呼叫消息
break;
case "voipRefuse":
//收到voip拒绝消息
break;
}
break;
case "onSingleMessage":
//data结构
//data = {
// "fromId": 消息来源
// "digest":
// "msg": 消息结构
//}
//msg结构
//msg = {
// "fromId": 消息来源
// "targetId": 消息接收方
// "time": 时间戳
// "msgIndex": 消息序号
// "type": 类型
// "code": 消息控制类型码
// "contentData": 消息内容
//};
break;
}
}
//登录SDK
var starSDK = new StarRtc.StarSDK();
starSDK.login(appID,userId,authKey,callBack);
4.2 发送一对一消息
消息分“普通消息(sendMessage)”和“在线消息(sendOnLineMessage)”。
“普通消息”是指正常的聊天消息,用户不在线时会缓存,再次上线时会取走所有的离线消息。
“在线消息”只有对方在线才能收到,消息不会缓存。
示例:/**
* 发送单聊消息
* @param _targetId 目标userId
* @param _digest digest
* @param _txt 正文
* @param _type 消息类型
*/
StarRtc.StarSDK.sendSingleMsg(_targetId,_digest,_txt, _type);