Quickblox iOS:在视频聊天中连接2个用户而无需发起呼叫

时间:2014-07-15 17:49:06

标签: ios random chat quickblox videochat

我有视频聊天要求,我必须通过视频聊天连接2个(有些相关的)用户。我没有找到必要的api来打电话,因此问题。

我基本上跟随this tutorial,但它似乎没有我需要的一切。我不需要显式的“调用这个用户”这种功能。用户永远不会看到整个用户列表。

结果,我想知道我是否可以有X个用户正在呼叫而另外X个用户正在等待接受该呼叫。

总结:

我只是想根据一些特征(比如他们的注册标签)来连接用户。对于任何用户A,可以有多个用户具有与A类似的标签 - 因此所有用户都是用户A的潜在视频聊天用户。

我需要选择其中一个(随机可能有效)并在其中传输A的视频/音频。

我需要做的一切是什么?这是部分清单,但我不知道我到底是对的。

1 - 致电[QBAuth createSessionWithDelegate:self]

2 - 在结果会话中,致电[QBUsers logInWithUserLogin]

3 - 在结果会话中,致电[[QBChat instance] loginWithUser:user]

4 - 从生成的chatDidLogin代表那里打电话给什么?

是否应该使用chatRoomDidChangeOnlineUsers进入某个聊天室或使用某些代码?我不知道。

请帮我完成所要求的最少要求的事情,简而言之,修改上面的1-2-3-4。

更新无法发起呼叫的原因:

这是因为聊天是非自愿的,所以通话可能会发生冲突。如果我使用calluser api,每个人都会最终打电话。同样适用于等待接听电话。我无法想到一个公平的策略,其中系统不会被呼叫请求所淹没,或者由于每个人都在等待而保持沉默。

换句话说,我是一个解决方案,其中每个用户都可以选择一个随机的人来打电话,但不介意别人打电话给他,他应该能够优雅地处理它。

1 个答案:

答案 0 :(得分:0)

首先,您应该注册新用户并向他发送一些标签。要做到这一点,你必须:

1)创建会话

  

[QBAuth createSessionWithDelegate:self]

2)注册新用户并为他设置一些标签:

 QBUUser *user = [QBUUser user];
 user.login = @"someuser";
 user.password = @"somepass";
 user.tags = @[@"Tag1"];

3)使用相同的标签创建更多用户

接下来,为了与某个用户进行通话,您必须随机获取它。以下是向所有用户提供特定标记的请求:

[QBUsers usersWithTags:@[@"Tag1"] delegate:self];

您将获得具有此标记的所有用户。接下来 - 随机选择其中一个

最后,向该用户进行视频通话

使用用户示例了解如何使用用户模块http://quickblox.com/developers/SimpleSample-users-ios

btw:QuickBlox发布了带有新版块API的SDK 2.0 - 您可以试试http://quickblox.com/developers/IOS#iOS_SDK_Transition_guide_from_version_1.9_to_2.0