React Native(RN)

更新时间: 2026/10/21 15:45:02

网易云信 IM SDK(NetEase Instant Messaging SDK,简称 NIM SDK)为开发者提供完善的即时通讯能力,精心屏蔽了底层复杂实现细节,向外呈现简洁易用的 API,助您轻松快速地将即时通讯功能整合到应用中。

本文介绍如何快速将 React Native(RN)NIM SDK 集成到您的项目中,开启高效通讯体验。

环境支持

项目 要求
RN 版本 0.x 的 peer 范围为 [0.72.5, 1)
HarmonyOS 建议在 0.82.0、0.84.1、0.86.1、0.88.0 版本上使用
额外依赖 当前版本不需要额外安装设备信息或时区社区原生库

NIM SDK 使用 React Native 的 Platform 和 JavaScript Intl 内建能力生成统一的 AdapterSystemInfo,支持 Android/iOS/HarmonyOS 编译。

体验 Demo

  • 包含账号登录、会话列表、消息面板、发送消息功能的含 UI Demo,请下载 NIM_RN_DEMO.zip 进行体验。
  • 离线推送功能 Demo 请参考 offline-push-example。

集成

  1. 通过如下 NPM 命令安装最新版 SDK:

    NPMnpm install @yxim/nim-rn-sdk-ng
    
  2. 通过 import 引入入口模块。

    // NIM 的主路径
    import NIM from '@yxim/nim-rn-sdk-ng'
    // 聊天室的引入路径-按需
    import ChatroomV2 from '@yxim/nim-rn-sdk-ng/chatroom'
    

初始化实例

集成 SDK 后,需先完成 NIM 实例初始化才能使用其他功能。

import NIM from '@yxim/nim-rn-sdk-ng'

// 创建实例
const nim = NIM.getInstance({
  appkey: 'YOUR_APPKEY',
  account: 'YOUR_ACCOUNT',
  token: 'YOUR_TOKEN',
  debugLevel: 'debug',
  apiVersion: 'v2'
})

登录和消息发送

以下示例展示登录 NIM 并发送文本消息的完整流程:

TypeScript// 监听登录状态
nim.V2NIMLoginService.on('onLoginStatus', (status) => {
  console.log('登录状态:', status)
})

nim.V2NIMLoginService.on('onConnectStatus', (status) => {
  console.log('连接状态:', status)
})

// 登录
async function main() {
  try {
    await nim.V2NIMLoginService.login('YOUR_ACCOUNT', 'YOUR_TOKEN')
    console.log('登录成功')

    // 发送文本消息
    const message = nim.V2NIMMessageCreator.createTextMessage('Hello from Node.js!')
    const conversationId = nim.V2NIMConversationIdUtil.p2pConversationId('TARGET_ACCOUNT')
    await nim.V2NIMMessageService.sendMessage(message, conversationId)
    console.log('消息发送成功')
  } catch (err) {
    console.error('操作失败:', err)
  }
}

main()

海外数据中心

如果您服务的用户主要在非中国大陆地区,您可以选择接入海外数据中心,具体的接入流程、节点迁移流程以及相关说明请参考 海外数据中心。

此文档是否对你有帮助?
有帮助
去反馈
  • 环境支持
  • 体验 Demo
  • 集成
  • 初始化实例
  • 登录和消息发送
  • 海外数据中心