web版如何为用户附加一些自定义状态值?
你好,由于开发需要,希望能给已进入房间的用户添加一些自定义的状态,有相关接口吗?BRAC_UserInfoControl接口不太会用,还希望能详细指点一下。谢谢! 您好,可以附加自定义的属性,请参考AnyChatCallCenter工程的源代码,位于SDK包的src目录下! 本帖最后由 zq_yeah 于 2014-4-17 14:15 编辑找了半天也没有找到,能粘贴一段代码例子吗?js脚本以及C#业务层的。AnyChatCallCenter中没有找到调用BRAC_UserInfoControl的代码部分啊。 zq_yeah 发表于 2014-4-17 13:30
找了半天也没有找到,能粘贴一段代码例子吗?js脚本以及C#业务层的。AnyChatCallCenter中没有找到调用BRAC_ ...
您好,想要为用户添加自定义属于,需要通过业务服务器来做,添加成功之后,客户端就可以通过BRAC_GetUserInfo来获取。
java业务服务器添加用户属性部分 // 添加用户分组
int iGroupId = 1;
AnyChatServerSDK.UserInfoControl(dwUserId, AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_ADDGROUP, iGroupId, 0, "我的好友"); // 用户名+密码方式登录的用户
iGroupId = 2;
AnyChatServerSDK.UserInfoControl(dwUserId, AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_ADDGROUP, iGroupId, 0, "在线游客"); // 密码为空的用户
// 将当前所有在线用户添加为自己的好友
for(Integer otheruserid : onlineusers)
AnyChatServerSDK.UserInfoControl(dwUserId, AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_ADDFRIEND, otheruserid, 0, "");
// 设置好友与分组的关系(即好友属于哪一个分组)
iGroupId = 1;
for(Integer otheruserid : onlineusers)
{
iGroupId = (otheruserid > 0) ? 1 : 2; // 游客密码为空,userid由核心服务器分配,为负数
AnyChatServerSDK.UserInfoControl(dwUserId, AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_SETGROUPRELATION, iGroupId, otheruserid, "");
}
// 设置当前用户信息(用户资料,客户端可以通过API:BRAC_GetUserInfo来获取这些信息)
int iInfoId = 1; // InfoId由业务层自己定义
AnyChatServerSDK.SetUserInfo(dwUserId, iInfoId, szUserName, 0);
iInfoId = 2;
AnyChatServerSDK.SetUserInfo(dwUserId, iInfoId, szIpAddr, 0);
iInfoId = 3;
AnyChatServerSDK.SetUserInfo(dwUserId, iInfoId, "我的签名", 0);
iInfoId = 4;
AnyChatServerSDK.SetUserInfo(dwUserId, iInfoId, String.valueOf(dwUserId%10 + 1), 0); // 随机分配一个图像ID
// 将本地用户添加为其它用户的好友列表中
for(Integer otheruserid : onlineusers)
{
// 添加好友
AnyChatServerSDK.UserInfoControl(otheruserid, AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_ADDFRIEND, dwUserId, 0, "");
// 关联好友分组
iGroupId = (dwUserId > 0) ? 1 : 2;
AnyChatServerSDK.UserInfoControl(otheruserid, AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_SETGROUPRELATION, iGroupId, dwUserId, "");
// 下发同步指令,将新设置的好友同步给客户端
AnyChatServerSDK.UserInfoControl(otheruserid, AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_SYNCDATA,0, 0, "");
}
// 下发同步指令,将前面设置的资料同步给当前客户端
AnyChatServerSDK.UserInfoControl(dwUserId, AnyChatServerSDK.BRAS_USERINFO_CTRLCODE_SYNCDATA,0, 0, "");
// 将本地用户加入在线用户列表
onlineusers.add(dwUserId);js客户端获取用户属性var USERINFO_NAME=1; // 用户昵称信息
var USERINFO_IP=2; // 用户IP地址信息
var UserName = BRAC_GetUserInfo(userid,USERINFO_NAME); // 用户姓名
var UserIp=BRAC_GetUserInfo(userid,USERINFO_IP); // 用户IP地址;
页:
[1]