即时通信

更新时间:2023-01-03 01:10:12 阅读: 评论:0


2023年1月3日发(作者:中文在线翻译成英文)

即时通讯IMWEB

腾讯云即时通信IMSDK

官⽅简介

腾讯是国内最早也是最⼤的即时通信开发商,QQ和微信已经成为每个互联⽹⽤户必不可少的应⽤。顺应⾏业数字化转型

的趋势,腾讯将⾼并发、⾼可靠的即时通信能⼒进⾏开放,您可以轻易地根据腾讯提供的SDK将即时通信功能集成到

App中,来满⾜您业务的各种需求。

针对开发者的不同阶段需求及不同场景,即时通信IM团队提供了⼀系列解决⽅案,包括:Android、iOS、Windows、

Web的SDK组件、服务端集成RESTAPI接⼝、第三⽅回调接⼝等。利⽤这些组件和能⼒,开发者可以简单快捷地构

建⾼可靠且稳定的即时通信产品,随⼼所想,触达全球。

使⽤⽅法:

1.安装sdk

//IMWebSDK

npminstalltim-js-sdk--save

//发送图⽚、⽂件等消息需要的上传插件(不需要可不安)

npminstalltim-upload-plugin--save

2.创建SDK实例

//创建SDK实例,()⽅法对于同⼀个SDKAppID只会返回同⼀份实例

privateoptions={

SDKAppID:0,//接⼊时需要将0替换为您的即时通信应⽤的SDKAppID

urID:'',

urSig:'',

};

privatecreateTim(){

=({SDKAppID:ID});

/**设置SDK⽇志输出级别,详细分级请参见tLogLevel接⼝的说明

*0普通级别,⽇志量较多,接⼊时建议使⽤

*1relea级别,SDK输出关键信息,⽣产环境时建议使⽤

*2告警级别,SDK只输出告警和错误级别的⽇志

*3错误级别,SDK只输出错误级别的⽇志

*4⽆⽇志级别,SDK将不打印任何⽇志

*/

Level(0);

//注册腾讯云即时通信IM上传插件,即时通信IMSDK发送图⽚、语⾳、视频、⽂件等消息需要使⽤上传插件,将⽂件上传到腾讯云对象存储(不需要可不注册)

erPlugin({'tim-upload-plugin':TIMUploadPlugin});

//添加监听

();

}

注意:create=>tLogLevel=>监听=>login

在login前调⽤监听事件,避免漏掉SDK派发的事件

3.监听

letonMessageReceived=function(event){

//收到推送的单聊、群聊、群提⽰、群系统通知的新消息,可通过遍历获取消息列表数据并渲染到页⾯

//E_RECEIVED

//-存储Message对象的数组-[Message]

};

(E_RECEIVED,onMessageReceived);

4.取消监听

(E_RECEIVED,onMessageReceived);

注意:对于同⼀个事件,如[E_RECEIVED],调⽤[on]接⼝监听事件和调⽤[off]接⼝取消监听

事件,handler参数应当指向同⼀个function,避免以下写法:

//注意!以下代码有bug,⽆法取消监听E_RECEIVED,因为bind()⽅法每次会返回⼀个新的函数

(E_RECEIVED,(this));

(E_RECEIVED,(this));

//建议写法

(E_RECEIVED,onMessageReceived,this);

(E_RECEIVED,onMessageReceived);

调⽤[logout]接⼝,不会取消监听事件,需接⼊侧主动调⽤[off]接⼝

5.登录

使⽤⽤户ID(urID)和签名串(urSig)登录即时通信IM,这两个字段通常由服务端下发

letpromi=({urID:'yoururID',urSig:'yoururSig'});

(function(imRespon){

();//登录成功

if(Login===true){

//标识账号已登录,本次登录操作为重复登录。v2.5.1起⽀持

(nfo);

}

}).catch(function(imError){

('loginerror:',imError);//登录失败的相关信息

});

注意1:登录成功,需等待sdk处于ready状态后才能调⽤[ndMessage]等需要鉴权的接⼝。

6.登出

letpromi=();

(function(imRespon){

();//登出成功

}).catch(function(imError){

('logouterror:',imError);

});

7.销毁SDK实例。SDK会先logout,然后断开WebSocket长连接,并释放资源

y();

//取消监听事件

();

8.⽅法的使⽤

⽅法接⼝实在是太多了,这⾥只⽰例发送消息:

//发送⾃定义消息

publicndMessage(option:{action:string;content:object},groupid:string){

if(!||dyStatus!=='SDK_READY'){

return;

}

//创建⾃定义消息

constmessage=CustomMessage({

to:groupid,

conversationType:_GROUP,

//消息优先级,⽤于群聊(v2.4.2起⽀持)。如果某个群的消息超过了频率限制,后台会优先下发⾼优先级的消息

//⽀持的枚举值:_PRIORITY_HIGH,_PRIORITY_NORMAL(默认),_PRIORITY_LOW,_PRIORIT

//priority:_PRIORITY_HIGH,

payload:{

data:ify(option),

description:'',

extension:'',

},

});

//2.发送消息

.ndMessage(message)

.then(function(imRespon){

//发送成功

('ndMessagesuccess:',imRespon);

})

.catch(function(imError){

//发送失败

//聊天消息發送失敗

if(=='chat'){

('發送失敗,請重新發送');

}

('ndMessageerror:',imError);

});

}

9.监听EVENT

标红的事件,是必须做处理的事件,其余的监听事件根据⾃⼰的业务需要进⾏增减

_CODE错误码

常见错误码:

2000⽆SDKAppID

2002⽆urID

2003⽆urSig

2024⽤户未登录

2025重复登录

2100消息发送失败

2800⽹络错误

2801请求超时

2805未连接到⽹络

本文发布于:2023-01-03 01:10:12,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/81156.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:怎样使胸更大
下一篇:廖满嫦
标签:即时通信
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图