I am about to implement a real-time-multiplayer for my android application with the google play games
services and got some problems to listen to room updates. Iam not that experienced,
so please forgive the possible understanding problems.
My intention is that I need to get informed, if anybody has joined my recently
created room or created another room himself with the same variant as my room.
I have tried to listen on the RoomStatusUpdateListener, but after I created a room,
this listener never get called and I wonder why. What does get called, is the
RoomUpdateListener, but it contains not the callback methods which I need.
I know that it is recommended to use the android build in
waiting room ui and to use Games.RealTimeMultiplayer.getWaitingRoomIntent() to
start an activityForResult, but I need to create something like my own waiting room
and do not know how. Apparently the google activity (the waiting) room does get
informed about changes, so there must be a way to observe these.
As far as I can tell, Iam trying to do something like:
Since nobody was able to answer my question or whatever, I think it is valid to provide my result of investigation as an answer myself.
I was able to find the important method calls, which are needed for a custom UI implementation.
They are basically located in the two interfaces
RoomStatusUpdateListener and need to be provided to the
The lifecycle of a game is like the following:
RoomUpdateListener: onRoomCreatedThe client attempts to create a real-time room.
RoomStatusUpdateListener: onPeerJoinedCalled when one or more peer participants join a room.
RoomStatusUpdateListener: onRoomConnectingOne or more participants have joined the room and have started the process of establishing peer connections
RoomStatusUpdateListener: onP2PConnectedClient is successfully connected to a peer participant.
RoomStatusUpdateListener: onConnectedToRoomThe client is connected to the connected set in a room.
RoomStatusUpdateListener: onPeersConnectedCalled when one or more peer participants join a room.
RoomUpdateListener: onRoomConnectedAll the participants in a real-time room are fully connected.
That's it. Now the participants are connected and can send messages via
Games.RealTimeMultiplayer.sendReliableMessage and the other send methods.