Web

初始化

更新时间: 2024/03/14 19:21:09

在使用 SDK 其它功能前,必须先进行初始化。本文中将详细说明 IM UIKit 初始化的方法。如您首次使用 IM UIKit,建议您先阅读快速集成 IM UIKit

如果您已集成过 NIM SDK,并且在自己的代码中拥有 IM SDK 实例,请参考初始化(兼容 NIM SDK)进行初始化。

前提条件

注意事项

  • 在应用生命周期内,只需初始化一次。
  • Provider 内部管理 IM UIKit 与 IM 服务端的连接与断连。如果需要手动连接和断连,请参考登录相关
  • Provider 内部管理着全局的状态,一般无需开发者关心。如需访问内部状态,请参考全局上下文

初始化说明

如果您尚未集成过网易云信 IM SDK (Netease Instant Messaging SDK,以下简称 NIM SDK),可采用如下方式对 IM UIKit 进行初始化。

初始化参数说明

参数 类型 必填 说明
sdkVersion Number 使用的 NIM SDK 版本。1 为 NIM Web SDK;2 为 NIM Web Elite SDK (IM 即时通讯含圈组版)
initOptions Object NIM SDK 初始化参数。详见NIM SDK 初始化参数说明
otherOptions Object NIM SDK 初始化其他参数。详见NIM SDK 其他初始化参数说明
localOptions Object 本地默认行为参数。详见下文
funcOptions Object NIM SDK 初始化回调函数,只有当 sdkVersion 为 1 时才生效。详见NIM SDK 初始化
localeConfig Object 自定义文案。详细配置参考语言设置
renderIdle () => JSX.Element 连接前的渲染函数,不传默认为 null
renderConnecting () => JSX.Element 连接中的渲染函数,不传默认为 Loading……
renderDisconnected () => JSX.Element 连接断开时的渲染函数,不传默认为 当前网络不可用,请检查网络设置
localOptions 参数 类型 必填 说明
p2pMsgReceiptVisible boolean 是否需要显示单聊消息的已读和未读标记,默认 false
teamMsgReceiptVisible boolean 是否需要显示群聊消息的已读和未读标记,默认 false
loginStateVisible boolean 是否显示在线离线状态,默认 true
allowTransferTeamOwner boolean 是否允许群主转让,默认 false
addFriendNeedVerify boolean 添加好友是否需要对方确认,默认 true
needMention boolean 是否需要@消息提醒,默认 true
teamManagerVisible boolean 是否需要显示群管理员功能,默认 false(不显示)
该配置项用来控制当身份为管理员时的主动操作是否展示,不影响其他管理员身份的显示。若需要,可设置为 true
sendMsgBefore function 发送消息前的钩子函数,异步函数,可在发送消息前拿到消息体,向消息体中添加自定义参数。 原型:sendMsgBefore: <T = ISendCustomMsgOptions | IBaseSendFileOptions | ISendTextMsgOptions>(options: T) => Promise<T>; 该回调的具体参数说明参见IBaseSendMsgOptions
例如给消息加上推送相关参数,具体请参考以下示例

给消息加上推送相关参数的示例代码如下:

// 本地默认行为参数
const localOptions = {
    addFriendNeedVerify,
    sendMsgBefore: (options) => {
      const pushInfo = {
        needPush: true,
        pushContent: 'xxxxxxx',
        needForcePush: true,
        needPushNick: true
      }
      return {
        ...pushInfo,
        ...options
      }
    }
  }
<Provider
    //...
    localOptions={localOptions}
  >
    <IMApp/>
  </Provider>

初始化示例代码

import React from 'react'
import { Provider } from '@xkit-yx/im-kit-ui'

const App = () => {
  const initOptions = {
    appkey: '', //传入您的App Key
    account: '', // 传入您的云信IM账号
    token: '', // 传入您的Token
    debugLevel: 'debug',//设置日志level
    // 参考 IM Elite SDK 的 initOptions
  }

  return (
    <Provider initOptions={initOptions} sdkVersion={2}>
      <div className="app">……</div>
    </Provider>
  )
}
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 注意事项
  • 初始化说明
  • 初始化参数说明
  • 初始化示例代码