环信即时通讯云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";