I am using ZoomSDKNewBreakoutRoomController to enable the breakout rooms in my app.
So far, I am not able to understand the correct flow for breakout rooms, Can you please provide me a sample code to join and leave breakout room, also if there is a function to perform join or later action for join breakout room dialogue.
Code:
I am assigning the delegate to ZoomSDKNewBreakoutRoomController after the meting status is inMeeting
Problems:
I am having problems with onHasAttendeePermission function, it gets called multiple times during the join/leave meeting flow.
When host adds me to breakout room and opens the break out room, I get the correct callback for onHasAttendeePermission
Then before joining the BO room, I get onLostAttendeePermission callback
After i joined the BO room, I get onHasAttendeePermission callback again.
Then when I am calling getBOMeetingAttendee().leaveBO() to leave room, I get callback for onLostAttendeePermission
After that when I am in the main meeting, I again get the onHasAttendeePermission callback. This is not expected, as this will again ask the user to join BO room, even when he just joined and left it.
Earlier, we were using ZoomSDKBreakoutRoomsController which is deprecated now but it has simpler interfaces for BO rooms. Can you please provide me the sample code for using ZoomSDKNewBreakoutRoomController as it is not very clear from the documentation.
Sorry to hear you are having difficulties when implementing breakout rooms. We understand that this is a complex feature to implement and have already made note of the need to create documentation for it. Unfortunately we don’t have any sample code available for this feature just yet, so we will need to provide information on an as-needed basis.
It seems like the main problem here is that you believe there is some unexpected behavior around the callbacks within ZoomSDKNewBreakoutRoomControllerDelegate. Based on what I know about breakout rooms, the sequence of callbacks you are seeing is correct. See below for an explanation on why each callback is received.
You are gaining access to a specific breakout room.
You are being recreated as a breakout room user
After joining the room, you now have access to the other users in your breakout room.
You are being recreated as a meeting user.
This one is what seems a little strange, but could be expected behavior. I will have to double-check on this, but my assumption is that at this point you are available for another breakout room.
Please let me know if the explanations make sense. As far as I can tell, #5 is the only potential outlier in this sequence, which I will have to get back to you on after investigating.
So, far I was able to hack it using the callbacks I mentioned in my first post.
I am ignoring the later callbacks to onHasAttendeePermission once the user meeting status is joinBreakoutRoom. But as I mentioned above in point 5, I am getting another onHasAttendeePermission callback after the user meeting status is leaveBreakoutRoom.
That results in showing my custom alert view again just after user left the breakout room.
Is there any other callback when SDK shows below UI?
In other words, I want to listen to this alert view visible callback and perform join or later button actions.
I believe this is the correct callback for what you are trying to achieve. You can query the ZoomSDKBOMeetingAttendee object upon receiving this callback for the name of the breakout room to verify that you have been added to one. That same object can be used to join the breakout room.
Please let me know if I am misunderstanding and there is something more specific you are looking for which this callback does not accomplish.
Thanks for your confirmation, Can you please clarify me number 5, if we are able to avoid this callback, It will work fine for me.
After that when I am in the main meeting, I again get the onHasAttendeePermission callback. This is not expected, as this will again ask the user to join BO room, even when he just joined and left it.
As I asked earlier, Can you please take a feature request to provide APIs to interact with this message box, including the callback when you present it.
IMO, this will simplify the BO room permissions flow and provide clear APIs.
Can you please clarify me number 5, if we are able to avoid this callback, It will work fine for me.
As mentioned in my earlier post, this one seems like it could be expected behavior or could be a bug. We are investigating this and will have to let you know once we determine what the correct behavior is.
As I asked earlier, Can you please take a feature request to provide APIs to interact with this message box
It is not possible to interact with this window programmatically. The ZoomSDKBOMeetingAttendee object referenced in my previous response provides all of the functionality in this window.
@jon.zoom if this is expected behavior then can you please explain the sense of it?
Regarding the second second point @j_a_z_z mentioned. We know there is not way to interact with the box. That’s why we’re asking for a feature request @TimZoom
if this is expected behavior then can you please explain the sense of it?
I’m not yet certain that #5 was expected behavior. We are still investigating this and will let you know as soon as more definitive information is available.
We know there is not way to interact with the box. That’s why we’re asking for a feature request
I can absolutely submit a feature request for this. However, due to the complexity of the breakout rooms feature please note that this may take longer to provide in comparison to other feature requests.
Hey @jon.zoom
I understand the complexities around the feature request.
But I think if you provide this feature, it will even simplify the BO room permission flow. So please continue with the feature request.
I have a couple of updates regarding the issue originally reported and the feature request.
First, the callback in #5 has been confirmed as functioning properly. You are receiving this callback after leaving the breakout room because that user still has access to the room. If the host ends the breakout room via stopBO or removes the user from it, you should receive an onLostAttendeePermission callback.
For the feature request, unfortunately we will not be able to add support for interacting with the BO window programmatically at this time. The alternative mentioned in my previous reply is going to be the best approach for this.