I have a video chat requirement wherein I have to connect 2 (somewhat related) users through video chat. I am not finding necessary api to call, hence the question.
I am basically following this tutorial but it seems it doesn't have everything I need. I do not need explicit "call to this user" sort of function. The user never gets to see entire user list.
As a result, I wonder if I could have X number of users calling and another X number of users waiting to accept that call.
To summarize:
I just want to connect users based on some traits (like their registered tags). For any user A, there can be more than one users having similar tags as A - so all of them are prospect video chat users for user A.
I need to pick one of them (random may work) and stream A's video / audio among them.
What all things do I have to do? Here is partial list but I don't know I am right at the end.
1 - Call [QBAuth createSessionWithDelegate:self]
2 - From the resulting session, call [QBUsers logInWithUserLogin]
3 - From the resulting session, call [[QBChat instance] loginWithUser:user]
4 - From the resulting chatDidLogin
delegate, call what?
Should it be entering some chat room, or use of some code using chatRoomDidChangeOnlineUsers
? I don't know.
Please help me with the minimal required sequence of things to call, in short, modify 1-2-3-4 above.
Update on why it would not be possible to initiate a call:
This is because since chat is involuntary, calls may collide. If I use calluser
api, everyone would end up calling. Likewise is true for waiting to accept a call. I am unable to think of a fair strategy wherein the system does not get overwhelmed with call requests, or silent due to everyone keeps waiting.
In other words I am for the solution wherein every user can pick a random person to call, but does not mind if someone else calls him, and he should be able to handle it gracefully.
First of all you should register new user and send him some tag. To do this you have to:
1) Create a session
[QBAuth createSessionWithDelegate:self]
2) Register new User and set him some tag:
QBUUser *user = [QBUUser user]; user.login = @"someuser"; user.password = @"somepass"; user.tags = @[@"Tag1"];
3) Create more users with the same tag
Next, in order to have a call with some user you have to randomly get it. Here is a request to get all the users with particular tag:
[QBUsers usersWithTags:@[@"Tag1"] delegate:self];
you will get all users with this tag. Next - choose one of them randomly
Finally, make a video call to this user
Use Users sample to learn how to work with Users module http://quickblox.com/developers/SimpleSample-users-ios
btw: QuickBlox released SDK 2.0 with new blocks API - you can try it http://quickblox.com/developers/IOS#iOS_SDK_Transition_guide_from_version_1.9_to_2.0
来源:https://stackoverflow.com/questions/24764844/quickblox-ios-connecting-2-users-in-video-chat-without-initiating-a-call