网易云信即时通讯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以方便、敏捷、稳定为宗旨,服务开发者,具备快速接入的特性,以下为最小应用示例:

    <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调用方式相同,用户无需付出更多学习的成本。