网易云信即时通讯JavaScript SDK概要介绍
产品综述
网易云信JavaScript SDK(WEB-SDK)为PC/移动Web应用及NodeJS、React Native、微信小程序、字节跳动小程序等跨平台应用,提供完善的即时通信功能开发能力,屏蔽其内部复杂细节,对外提供较为简洁的 API 接口,方便第三方应用快速集成即时通信功能。
WEB-SDK(浏览器版本)兼容IE9+(音视频部分为IE10及以上)、Edge、Chrome 58+、 Safari 10+、Firefox 54+等主流桌面版浏览器,兼容iPhone 5s以上机型(操作系统iOS 8.0+)的Safari浏览器及其内置微信浏览器、主流机型Android 5+系统的Chrome浏览器及其内置微信浏览器。
WEB-SDK(跨平台系列)支持微信小程序、React Native、Nodejs等场景应用。(Cordova、HBuild、AppCan、Electron等混合APP可直接使用浏览器版本的SDK,不需要跨平台支持)
若需要支持IE8浏览器,请联系商务获取(v5.0.0)以下版本的js sdk
网易云信还开发了可供开发者们参考,如何使用该SDK的Web Demo:
业务介绍
点对点聊天
即一对一单聊,网易云信 SDK 提供文字、图片、语音、地理位置、文件、自定义消息等多种能力,开发者可根据自身需求定制附件下载、未读、推送等多种消息行为。
群聊天
即多人聊天群组服务,内置普通群和高级群,普通群类似于没有权限的讨论组,适用于快速创建多人会话的场景;高级群在普通群的基础上拥有了更多的权限设置,包括邀请的验证方式,管理员权限,禁言等更高级的功能,适用于更复杂更定制化的场景。
群聊天有人数限制,人数在千级别以上推荐使用聊天室。
聊天室聊天
聊天室是群聊人数在万级甚至更多的聊天解决方案,可用于游戏直播,网络授课,远程医疗等业务场景上。聊天室没有人数限制,同时提供基本的权限服务。
聊天室在进入时需要重新建立链接,同时由于场景消息量通常很大, SDK不会做聊天室消息存储,需要上层自行实现。 在人数低于千级别时,推荐使用群组聊天。
资料托管
网易云通信提供了用户资料的可选托管,开发者可以根据喜好,将用户资料托管给网易云信或者 APP 应用服务器自行管理。
事件订阅
网易云信允许用户订阅监听其他用户产生的事件,产生的事件的方式分为两种:
- 用户主动发布的自定义事件。
由于用户的一些特定行为触发的内置系统事件。
开发者可以用事件订阅自定义用户的在线状态,如忙碌,隐身等等。
智能对话机器人
智能对话机器人解决方案依托网易即时通讯、语音识别、语义理解等服务,为开发者提供人机交互 API / SDK、语音识别、意图识别、知识库配置、动态接口等功能,可以在应用内快速集成场景丰富的智能对话机器人。
快速体验
云信SDK以方便、敏捷、稳定为宗旨,服务开发者,具备快速接入的特性,以下为最小应用示例:
<h1>云信 Web SDK Online Test</h1>
<div>
<p>
<span>APPKEY:</span>
<input type="text" id="appkey" value="45c6af3c98409b18a84451215d0bdd6e">
</p>
<p>
<span>ACCOUNT:</span>
<input type="text" id="account" value="greatcs4">
</p>
<p>
<span>TOKEN:</span>
<input type="text" id="token" value="e10adc3949ba59abbe56e057f20f883e">
</p>
<p>
<button id="connect-sdk">连接SDK</button>
</p>
</div>
<script src="http://yx-web.nos.netease.com/official/websdk/NIM_Web_SDK_v4.8.0.js"></script>
function connectSDK () {
var appkey = document.getElementById('appkey').value
var account = document.getElementById('account').value
var token = document.getElementById('token').value
window.nim = SDK.NIM.getInstance({
appKey: appkey,
account: account,
token: token,
onconnect: function () {
alert('SDK 连接成功')
// 连接成功后才能发消息
window.nim.sendText({
scene: 'p2p',
to: 'account',
text: 'hello',
done: function sendMsgDone (msg) {
}
})
},
ondisconnect: function (obj) {
console.log('SDK 连接断开', obj)
},
onerror: function (error) {
console.log('SDK 连接失败', error)
}
})
}
document.getElementById('connect-sdk').addEventListener('click', function () {
connectSDK()
})
推荐一个免费的在线编辑工具,开发者也可以在上面编辑调试相应代码: CodePen
跨平台解决方案
网易云信Web端SDK所提供的跨平台相关能力的接口使用方式,基本与浏览器环境下的JavaScript调用方式相同,用户无需付出更多学习的成本。
- 当然,根据不同平台所特有的一些差异点,SDK也做了一些适配,主要分布在诸如数据库使用、文件上传、WebSocket限制等方面,用户可以对其进行特殊处理。
- 文档阅读中,若无特殊说明,API接口均可应用于浏览器环境下的JavaScript


此文档对你是否有帮助

