环信即时通讯云V3.0ReactNative接入

具体接入还是得下载ReactNative Demo然后看看官网代码才可以

1.React Native Demo介绍

React Native Demo 已集成环信 Web IM SDK,并提供即时通讯基本功能,开发者可以直接将该 Demo 集成到您的应用中,立即获得即时通讯的能力。

GitHub 下载地址:https://github.com/easemob/webim-react-native

React Native Demo 支持 iOS 9.0 以上版本,以及 Android 4.1 (API 16) 以上版本。

功能:

iOS Demo 已完成功能:

  • 登录
  • 注册
  • 好友
  • 列表及筛选
  • 好友信息展示
  • 黑名单
  • 删除好友
  • 好友通知
  • 添加好友通知展示
  • 接受好友请求
  • 拒绝好友请求
  • 添加好友
  • 群组
  • 群组列表
  • 群组成员列表
  • 聊天
  • 相机图片消息
  • 本地图片消息
  • emoji消息
  • 普通消息
  • 异常状态处理
  • 断线退出到登录页
  • 重复登录退出到登录页

Android Demo 已完成功能:

  • 登录
  • 注册
  • 好友
  • 列表及筛选
  • 好友信息展示
  • 黑名单
  • 删除好友
  • 好友通知
  • 添加好友通知展示
  • 接受好友请求
  • 拒绝好友请求
  • 添加好友
  • 群组
  • 群组列表
  • 群组成员列表
  • 聊天
  • 相机图片消息
  • 本地图片消息
  • emoji消息
  • 普通消息
  • 异常状态处理
  • 断线退出到登录页
  • 重复登录退出到登录页

2.iOS APP 集成

注意:以下步骤,集成 iOS 和 Android 时,只执行一次即可。

1. 解压缩 Demo 源码,进入项目所在文件夹,执行如下命令,进行项目初始化。

$ npm run newclear

初始化完成后,项目下会自动生成node_modules文件夹。

2. 修改 node_modules/axios/lib/utils.js 文件。

function isStandardBrowserEnv() {
  return false;
}

3. 去工程Libraries中找到:RCTNetwork.xcodeproj / RCTNetworking.mm / RCTGenerateFormBoundary,去掉特殊字符 / . 等;或者去 node_modules/react-native/Libraries/Network/RCTNetworking.mm 修改。

因为上传文件时服务端rest服务会限制content-type不能出现特殊字符。

//修改后: 
const char *boundaryChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

3.Android APP 集成

注意:以下步骤,集成 iOS 和 Android 时,只执行一次即可。

1. 解压缩 Demo 源码,进入项目所在文件夹,执行如下命令,进行项目初始化。

$ npm run newclear

2. 修改 node_modules/axios/lib/utils.js 文件。

function isStandardBrowserEnv() {
  return false;
}

3. 去工程Libraries中找到:RCTNetwork.xcodeproj / RCTNetworking.mm / RCTGenerateFormBoundary,去掉特殊字符 / . 等;或者去 node_modules/react-native/Libraries/Network/RCTNetworking.mm 修改。

因为上传文件时服务端rest服务会限制content-type不能出现特殊字符。

//修改后: 
const char *boundaryChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";