融云IM 即时通信功能JS 融云 - IM 即时通讯 / 音视频通话 SDK;
DEMO链接:https://www.yimenapp.com/doc/demo_rc.cshtml
♦ js API 接入步骤: ♦ 1. 执行 jsBridge.rc.init 初始化融云系统; ♦ 2. 执行 jsBridge.rc.setUserInfoListener 设置用户资料监听器; ♦ 3. 执行 jsBridge.rc.connect 连接服务器; ♦ 4. 调用业务接口;
init 初始化 • 调用融云其他 API 接口之前需先执行初始化,只需执行一次。
- jsBridge.rc.init({
- //在融云上创建应用获得的 App Key
- //注意:开发环境 与 生产环境 的 App Key 是不同的
- appKey : "8luwapkv8bqil",
- //是否启用离线推送功能
- //需配置推送功能:融云后台 - IM 服务 - 应用标识 - 设置推送
- enablePush: true
- }, function(succ) {
- alert(succ ? "成功" : "失败");
- });
复制代码
setUserInfo 设置用户资料 - jsBridge.rc.setUserInfo({
- //用户ID
- userId : "yimenapp2",
- //昵称
- userName : "userId 的昵称",
- //头像
- userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/5104/3.png"
- });
- alert("已设置");
复制代码
setUserInfoListener 设置用户资料 监听器 • 当 APP 要显示用户信息(昵称,头像)的时候会调用此监听器,参数 userId 指示要显示哪个用户的信息; • 请在回调函数内调用 jsBridge.rc.setUserInfo 设置用户信息; - jsBridge.rc.setUserInfoListener(function(userId) {
- //userId 用户Id
- console.log(userId);
- //从服务器获取用户信息,调用 setUserInfo 设置昵称和头像
- jsBridge.rc.setUserInfo({
- userId : userId,
- userName : "userId 的昵称",
- userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/5104/3.png" //userId 的头像
- });
- });
- alert("已设置");
复制代码
connect 连接服务器 - 用户1 • 成功连接到融云服务器后才能正常调用其他业务接口。 - //用执行服务器端接口 User.register(user) 拿到的 token 连接服务器
- // https://www.rongcloud.cn/docs/server_sdk_api/user/user.html#register
- jsBridge.rc.connect({
- //yimenapp
- //调用融云服务器端接口获取到的用户 token
- //参考 https://www.rongcloud.cn/docs/server.html#user_get_token
- token : "dLOiJyJ0kc5ABa68y0cHJTF0GMKRswiHFWMCwqh7SVAltzgqDNpv9OZ0fkoXqaFF4jPVy7sE8TMyVlnBmTl3MA==",
- //用户昵称
- userName : "闲张三",
- //用户头像
- userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/5104/3.png"
- }, function(succ, message) {
- alert(succ ? "成功" : "失败:\n" + message);
- });
复制代码
connect 连接服务器 - 用户2 • 成功连接到融云服务器后才能正常调用其他业务接口。 - //用执行服务器端接口 User.register(user) 拿到的 token 连接服务器
- // https://www.rongcloud.cn/docs/server_sdk_api/user/user.html#register
- jsBridge.rc.connect({
- //yimenapp2
- token: "W32PGRIGhAhmh26VMKrXq42Wpo2+AX21vVOA1b6ApXlc5/BkuadzUMEtOTpSNVXz2LBdfVOKzahPHvB7RVTxzKZd9ZqgLua5",
- //用户昵称
- userName : "忙李四",
- //用户头像
- userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/5105/0.png"
- }, function(succ, message) {
- alert(succ ? "成功" : "失败:\n" + message);
- });
复制代码
connect 连接服务器 - 用户3 • 成功连接到融云服务器后才能正常调用其他业务接口。 - //用执行服务器端接口 User.register(user) 拿到的 token 连接服务器
- // https://www.rongcloud.cn/docs/server_sdk_api/user/user.html#register
- jsBridge.rc.connect({
- //yimen_user3
- token: "XHMN0tTzZkgjSwBR2Rxgro2Wpo2+AX21vVOA1b6ApXlc5/BkuadzULefDnkh25P0IvNFgwKkf89Za+nUfdtouaolVx8L+Gtp",
- //用户昵称
- userName : "枯叶碟",
- //用户头像
- userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/7422/m13.png"
- }, function(succ, message) {
- alert(succ ? "成功" : "失败:\n" + message);
- });
复制代码
disconnect 断开服务器连接 - jsBridge.rc.disconnect(function(succ) {
- alert(succ ? "成功" : "失败");
- });
复制代码
logout 断开服务器连接并退出融云 - jsBridge.rc.logout(function(succ) {
- alert(succ ? "成功" : "失败");
- });
复制代码
IM 即时通讯 startConversation 启动聊天会话 1 • 开启会话 - //开启会话
- jsBridge.rcIM.startConversation({
- //必须,数字类型,会话类型
- conversationType: 1,
- //必须,字符串类型,会话对象,根据不同的 conversationType,可能是用户Id、群组Id 或 聊天室Id
- targetId: "yimenapp",
- //可选,字符串类型,会话标题
- title : "聊起来1~~"
- }, function(succ) {
- if (!succ) alert("失败");
- });
-
- /**
- 会话类型说明(conversationType):
- 1 : private
- 2 : discussion
- 3 : group
- 4 : chatroom
- 5 : customer_service
- 6 : system
- 7 : app_public_service
- 8 : public_service
- 9 : push_service
- 11: encrypted
- 12: rtc_room
- **/
复制代码
startConversation 启动聊天会话 2 • 开启会话 - //开启会话
- jsBridge.rcIM.startConversation({
- //必须,数字类型,会话类型
- conversationType: 1,
- //必须,字符串类型,会话对象,根据不同的 conversationType,可能是用户Id、群组Id 或 聊天室Id
- targetId: "yimenapp2",
- //可选,字符串类型,会话标题
- title : "聊起来2~~"
- }, function(succ) {
- if (!succ) alert("失败");
- });
复制代码
startConversationList 启动聊天会话列表 • 打开全部类型的会话列表 - //打开全部类型的会话列表
- jsBridge.rcIM.startConversationList({
- //可选,数字数组,指定需要展开显示的会话类型(会话列表默认为分组聚合(折叠)显示,这里指定不折叠(展开)显示的会话类型,参见 startConversation 方法
- flat: [2, 3, 5]
- }, function(succ) {
- if (!succ) alert("失败");
- });
复制代码
startSubConversationList 启动聚合后的某类型会话列表 • 打开某种类型会话列表 - //打开单个类型的会话列表
- jsBridge.rcIM.startSubConversationList({
- //必须,数字类型,打开单个类型的会话列表,会话类型 startConversation 方法
- conversationType: 1
- }, function(succ) {
- if (!succ) alert("失败");
- });
复制代码
unreadMessageCount 获取未读消息数量 • 获取未读消息数量 - jsBridge.rcIM.unreadMessageCount(function(count) {
- alert(count + " 条未读");
- });
复制代码
音视频通话 startSingleCall 发起单人通话 - 用户1 • 发起单人通话 - jsBridge.rcCall.startSingleCall({
- //通话对方用户 id
- targetId: "yimenapp",
- //true - 视频通话,false - 音频通话
- video : true
- }, function(succ) {
- if (!succ) alert("失败");
- });
复制代码
startSingleCall 发起单人通话 - 用户2 • 发起单人通话 - jsBridge.rcCall.startSingleCall({
- //通话对方用户 id
- targetId: "yimenapp2",
- //true - 视频通话,false - 音频通话
- video : true
- }, function(succ) {
- if (!succ) alert("失败");
- });
复制代码
startMultiCall 发起多人通话 - 用户3 • 发起多人通话 - jsBridge.rcCall.startMultiCall({
- //通话对方用户 id
- targetId: "yimenapp2",
- //true - 视频通话,false - 音频通话
- video : true,
- //会话类型
- conversationType: 1,
- //参与者用户 id 列表
- userIds : ["yimenapp2", "yimen_user3"]
- }, function(succ) {
- if (!succ) alert("失败");
- });
-
- /**
- 会话类型(conversationType):
- 1 : private 私聊
- 2 : discussion 讨论组
- 3 : group 群组
- 4 : chatroom 聊天室
- 5 : customer_service
- 6 : system
- 7 : app_public_service
- 8 : public_service
- 9 : push_service
- 11: encrypted
- 12: rtc_room
- **/
复制代码
|