融云IM 即时通信功能JS 融云 - IM 即时通讯 / 音视频通话 SDK;

[复制链接]
曾清Lv.2 显示全部楼层 发表于 2020-4-3 12:31:01 |阅读模式 打印 上一主题 下一主题
苹果上架
融云IM 即时通信功能JS 融云 - IM 即时通讯 / 音视频通话 SDK;

DEMO链接:https://www.yimenapp.com/doc/demo_rc.cshtml

♦ 融云 - IM 即时通讯 / 音视频通话 SDK;
♦ 去申请接入应用;
♦ js API 接入步骤:
♦ 1. 执行 jsBridge.rc.init 初始化融云系统;
♦ 2. 执行 jsBridge.rc.setUserInfoListener 设置用户资料监听器;
♦ 3. 执行 jsBridge.rc.connect 连接服务器;
♦ 4. 调用业务接口;

init 初始化
• 调用融云其他 API 接口之前需先执行初始化,只需执行一次。
  1. jsBridge.rc.init({
  2.   //在融云上创建应用获得的 App Key
  3.   //注意:开发环境 与 生产环境 的 App Key 是不同的
  4.   appKey    : "8luwapkv8bqil",
  5.   //是否启用离线推送功能
  6.   //需配置推送功能:融云后台 - IM 服务 - 应用标识 - 设置推送
  7.   enablePush: true
  8. }, function(succ) {
  9.   alert(succ ? "成功" : "失败");
  10. });
复制代码


setUserInfo 设置用户资料
  1. jsBridge.rc.setUserInfo({
  2.   //用户ID
  3.   userId    : "yimenapp2",
  4.   //昵称
  5.   userName  : "userId 的昵称",
  6.   //头像
  7.   userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/5104/3.png"
  8. });
  9. alert("已设置");
复制代码


setUserInfoListener 设置用户资料 监听器
• 当 APP 要显示用户信息(昵称,头像)的时候会调用此监听器,参数 userId 指示要显示哪个用户的信息;
• 请在回调函数内调用 jsBridge.rc.setUserInfo 设置用户信息;
  1. jsBridge.rc.setUserInfoListener(function(userId) {
  2.   //userId 用户Id
  3.   console.log(userId);
  4.   //从服务器获取用户信息,调用 setUserInfo 设置昵称和头像
  5.   jsBridge.rc.setUserInfo({
  6.     userId    : userId,
  7.     userName  : "userId 的昵称",
  8.     userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/5104/3.png" //userId 的头像
  9.   });
  10. });
  11. alert("已设置");
复制代码

connect 连接服务器 - 用户1
• 成功连接到融云服务器后才能正常调用其他业务接口。
  1. //用执行服务器端接口 User.register(user) 拿到的 token 连接服务器
  2. // https://www.rongcloud.cn/docs/server_sdk_api/user/user.html#register
  3. jsBridge.rc.connect({
  4.   //yimenapp
  5.   //调用融云服务器端接口获取到的用户 token
  6.   //参考 https://www.rongcloud.cn/docs/server.html#user_get_token
  7.   token     : "dLOiJyJ0kc5ABa68y0cHJTF0GMKRswiHFWMCwqh7SVAltzgqDNpv9OZ0fkoXqaFF4jPVy7sE8TMyVlnBmTl3MA==",
  8.   //用户昵称
  9.   userName  : "闲张三",
  10.   //用户头像
  11.   userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/5104/3.png"
  12. }, function(succ, message) {
  13.   alert(succ ? "成功" : "失败:\n" + message);
  14. });
复制代码

connect 连接服务器 - 用户2
• 成功连接到融云服务器后才能正常调用其他业务接口。
  1. //用执行服务器端接口 User.register(user) 拿到的 token 连接服务器
  2. // https://www.rongcloud.cn/docs/server_sdk_api/user/user.html#register
  3. jsBridge.rc.connect({
  4.   //yimenapp2
  5.   token: "W32PGRIGhAhmh26VMKrXq42Wpo2+AX21vVOA1b6ApXlc5/BkuadzUMEtOTpSNVXz2LBdfVOKzahPHvB7RVTxzKZd9ZqgLua5",
  6.   //用户昵称
  7.   userName  : "忙李四",
  8.   //用户头像
  9.   userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/5105/0.png"
  10. }, function(succ, message) {
  11.   alert(succ ? "成功" : "失败:\n" + message);
  12. });
复制代码


connect 连接服务器 - 用户3
• 成功连接到融云服务器后才能正常调用其他业务接口。
  1. //用执行服务器端接口 User.register(user) 拿到的 token 连接服务器
  2. // https://www.rongcloud.cn/docs/server_sdk_api/user/user.html#register
  3. jsBridge.rc.connect({
  4.   //yimen_user3
  5.   token: "XHMN0tTzZkgjSwBR2Rxgro2Wpo2+AX21vVOA1b6ApXlc5/BkuadzULefDnkh25P0IvNFgwKkf89Za+nUfdtouaolVx8L+Gtp",
  6.   //用户昵称
  7.   userName  : "枯叶碟",
  8.   //用户头像
  9.   userAvatar: "http://pics.sc.chinaz.com/Files/pic/icons128/7422/m13.png"
  10. }, function(succ, message) {
  11.   alert(succ ? "成功" : "失败:\n" + message);
  12. });
复制代码


disconnect 断开服务器连接
  1. jsBridge.rc.disconnect(function(succ) {
  2.   alert(succ ? "成功" : "失败");
  3. });
复制代码


logout 断开服务器连接并退出融云
  1. jsBridge.rc.logout(function(succ) {
  2.   alert(succ ? "成功" : "失败");
  3. });
复制代码


IM 即时通讯
startConversation 启动聊天会话 1
• 开启会话
  1. //开启会话
  2. jsBridge.rcIM.startConversation({
  3.   //必须,数字类型,会话类型
  4.   conversationType: 1,
  5.   //必须,字符串类型,会话对象,根据不同的 conversationType,可能是用户Id、群组Id 或 聊天室Id
  6.   targetId: "yimenapp",
  7.   //可选,字符串类型,会话标题
  8.   title   : "聊起来1~~"
  9. }, function(succ) {
  10.   if (!succ) alert("失败");
  11. });
  12. /**
  13. 会话类型说明(conversationType):
  14. 1 : private
  15. 2 : discussion
  16. 3 : group
  17. 4 : chatroom
  18. 5 : customer_service
  19. 6 : system
  20. 7 : app_public_service
  21. 8 : public_service
  22. 9 : push_service
  23. 11: encrypted
  24. 12: rtc_room
  25. **/
复制代码

startConversation 启动聊天会话 2
• 开启会话
  1. //开启会话
  2. jsBridge.rcIM.startConversation({
  3.   //必须,数字类型,会话类型
  4.   conversationType: 1,
  5.   //必须,字符串类型,会话对象,根据不同的 conversationType,可能是用户Id、群组Id 或 聊天室Id
  6.   targetId: "yimenapp2",
  7.   //可选,字符串类型,会话标题
  8.   title   : "聊起来2~~"
  9. }, function(succ) {
  10.   if (!succ) alert("失败");
  11. });
复制代码


startConversationList 启动聊天会话列表
• 打开全部类型的会话列表
  1. //打开全部类型的会话列表
  2. jsBridge.rcIM.startConversationList({
  3.   //可选,数字数组,指定需要展开显示的会话类型(会话列表默认为分组聚合(折叠)显示,这里指定不折叠(展开)显示的会话类型,参见 startConversation 方法
  4.   flat: [2, 3, 5]
  5. }, function(succ) {
  6.   if (!succ) alert("失败");
  7. });
复制代码


startSubConversationList 启动聚合后的某类型会话列表
• 打开某种类型会话列表
  1. //打开单个类型的会话列表
  2. jsBridge.rcIM.startSubConversationList({
  3.   //必须,数字类型,打开单个类型的会话列表,会话类型 startConversation 方法
  4.   conversationType: 1
  5. }, function(succ) {
  6.   if (!succ) alert("失败");
  7. });
复制代码


unreadMessageCount 获取未读消息数量
• 获取未读消息数量
  1. jsBridge.rcIM.unreadMessageCount(function(count) {
  2.   alert(count + " 条未读");
  3. });
复制代码


音视频通话
startSingleCall 发起单人通话 - 用户1
• 发起单人通话
  1. jsBridge.rcCall.startSingleCall({
  2.   //通话对方用户 id
  3.   targetId: "yimenapp",
  4.   //true - 视频通话,false - 音频通话
  5.   video   : true
  6. }, function(succ) {
  7.   if (!succ) alert("失败");
  8. });
复制代码


startSingleCall 发起单人通话 - 用户2
• 发起单人通话
  1. jsBridge.rcCall.startSingleCall({
  2.   //通话对方用户 id
  3.   targetId: "yimenapp2",
  4.   //true - 视频通话,false - 音频通话
  5.   video   : true
  6. }, function(succ) {
  7.   if (!succ) alert("失败");
  8. });
复制代码


startMultiCall 发起多人通话 - 用户3
• 发起多人通话
  1. jsBridge.rcCall.startMultiCall({
  2.   //通话对方用户 id
  3.   targetId: "yimenapp2",
  4.   //true - 视频通话,false - 音频通话
  5.   video   : true,
  6.   //会话类型
  7.   conversationType: 1,
  8.   //参与者用户 id 列表
  9.   userIds : ["yimenapp2", "yimen_user3"]
  10. }, function(succ) {
  11.   if (!succ) alert("失败");
  12. });
  13. /**
  14. 会话类型(conversationType):
  15. 1 : private             私聊
  16. 2 : discussion          讨论组
  17. 3 : group               群组
  18. 4 : chatroom            聊天室
  19. 5 : customer_service
  20. 6 : system
  21. 7 : app_public_service
  22. 8 : public_service
  23. 9 : push_service
  24. 11: encrypted
  25. 12: rtc_room
  26. **/
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

一门APP打包致力于H5混合APP基础框架领域的前沿探索,专注轻便的移动应用解决方案 提供基于HTML前端页面在各种应用层级的端延展。
  • 官方手机版

  • 微信公众号

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2001-2020, 一门APP. | 一门APP开发平台|热门标签
  • 蜀ICP备17005078号-4 | 川公网安备 51019002001185号 | |成都七扇门科技有限公司