WebApp快捷打包
融云 - 音视频通话

♦ 融云 - 音视频通话 SDK;

去申请 接入应用;

js API 接入步骤:

♦ 1. 执行 jsBridge.rc.init 初始化融云系统;

♦ 2. 执行 jsBridge.rc.setUserInfoListener 设置用户资料监听器;

♦ 3. 执行 jsBridge.rc.connect 连接服务器;

♦ 4. 调用通话接口;

基础

init 初始化

• 调用融云其他 API 接口之前需先执行初始化,只需执行一次。

• 参考官方说明 https://www.rongcloud.cn/docs/android.html#integration_init

jsBridge.rc.init({
  //在融云上创建应用获得的 App Key
  //注意:开发环境 与 生产环境 的 App Key 是不同的
  appKey    : "8luwapkv8bqil",
  //是否启用离线推送功能
  //需配置推送功能:融云后台 - IM 服务 - 应用标识 - 设置推送
  enablePush: true
}, function(succ) {
  alert(succ ? "成功" : "失败");
});

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

• 成功连接到融云服务器后才能正常调用其他业务接口。

• 参考官方说明 https://www.rongcloud.cn/docs/android.html#integration_connect

• 服务器端接口 https://www.rongcloud.cn/docs/server.html#user_get_token

//用执行服务器端接口 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

• 成功连接到融云服务器后才能正常调用其他业务接口。

• 参考官方说明 https://www.rongcloud.cn/docs/android.html#integration_connect

//用执行服务器端接口 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

• 成功连接到融云服务器后才能正常调用其他业务接口。

• 参考官方说明 https://www.rongcloud.cn/docs/android.html#integration_connect

//用执行服务器端接口 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 断开服务器连接

• 参考官方说明 https://www.rongcloud.cn/docs/android.html#integration_disconnect

jsBridge.rc.disconnect(function(succ) {
  alert(succ ? "成功" : "失败");
});

logout 断开服务器连接并退出融云

• 参考官方说明 https://www.rongcloud.cn/docs/android.html#integration_disconnect

jsBridge.rc.logout(function(succ) {
  alert(succ ? "成功" : "失败");
});

音频/视频

startSingleCall 发起单人通话 - 用户1

• 发起单人通话

• 参考官方说明 https://www.rongcloud.cn/docs/ios_callkit.html#start_call

jsBridge.rcCall.startSingleCall({
  //通话对方用户 id
  targetId: "yimenapp",
  //true - 视频通话,false - 音频通话
  video   : true
}, function(succ) {
  if (!succ) alert("失败");
});

startSingleCall 发起单人通话 - 用户2

• 发起单人通话

• 参考官方说明 https://www.rongcloud.cn/docs/ios_callkit.html#start_call

jsBridge.rcCall.startSingleCall({
  //通话对方用户 id
  targetId: "yimenapp2",
  //true - 视频通话,false - 音频通话
  video   : true
}, function(succ) {
  if (!succ) alert("失败");
});

startMultiCall 发起多人通话 - 用户3

• 发起多人通话

• 参考官方说明 https://www.rongcloud.cn/docs/ios_callkit.html#start_call

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
**/