public static byte initialize(String apiKey, String privateKey)
OR
public static byte initialize(String apiKey, String privateKey, String hostName)
Initializes the singleton instance of WarpClient with the developer
credentials. This has to be called only once during the lifetime of the
application. It is required before you can call any other API.
Parameters
apiKey - The Application key given when the application was created.
secretKey - The secret key corresponding to the application key given when the application was created.
hostName - App Warp Server IP Or Name.
Returns
byte - WarpResponseResultCode
public static void setRecoveryAllowance ( int maxRecoveryTime )
Sets the time allowed to the client to recover from an intermittent connection loss. This must be set before the initial connect API is called as that associates the value on the server for the given connection.
Parameters
maxRecoveryTime - time - the time (in seconds) allowed to the client to recover from intermittent connection loss
Returns
void
public void RecoverConnection()
Attempts to recover from an intermittent connection error. If successful, the client will be placed in the same room as before the loss and all its subscriptions will be maintained. The other subscribed users of the room, will receive onUserResumed notification. This can only be called if an established session was lost due to a connectivity error and the client got onConnectDone with a recoverable connection error code. The connection must be restored within the recovery allowance period, after which the server considers the session to be over (non-recoverable).
Parameters
None
Returns
void
Recover Connection With SessionID
Attempts to recover from an intermittent connection error.Since this API requires sessionId so it has to be saved by the game on the last successful connection.The other subscribed users of the room, will receive onUserResumed notification.The connection must be restored within the recovery allowance period, after which the server considers the session to be over (non-recoverable).
public void RecoverConnectionWithSessionID(int session_id, String user_name)
Parameters
sessionId - sessionId of the last successful session
userName - name of the player
Returns void
This API checks if device has a full duplex UDP connection or not with the AppWarp server.
Incoming UDP Traffic may be blocked if the client is behind certain types of NATs(Network address translation).
It determines the connectivity by performing a 3-way handshake with the server over UDP and provides the result in
ConnectionListener.onInitUDPDone.
In case of lack of connectivity, the server will fall back to sending
updates over TCP for the client. Sending can continue over UDP irrespective.
ResultCode:
1. WarpResponseResultCode.SUCCESS : If the client has full duplex UDP connectivity.
2. WarpResponseResultCode.BAD_REQUEST : If the client is unable to receive UDP traffic from the server.
Parameters
None
Returns
void
public void connectWithUserName ( String username )
Sets up your connection with the AppWarp cloud server. The username passed in this method must be unique across all other concurrently connected users. If two users with the same name try to connect at the same time, then the first one will win and the second one will get an error. The username string parameter length must be more than 0 and less than 25. Also it shouldn’t contain the following characters “, ; / \”. The result of the operation is provided in the onConnectDone callback of the
ConnectionRequestListener.
Parameters
username - Username of the player
Returns
void
public void disconnect ()
Disconnects the connection with the AppWarp server. The result for this request will be provided in the onDisConnectDone callback of the
ConnectionRequestListener.
Parameters
None
Returns
void
Sends a join lobby request to the server. Result of the request is provided in the onJoinLobbyDone callback of the registered
LobbyRequestListener objects.
Parameters
None
Returns
void
public void leaveLobby ()
Sends a leave lobby request to the server. Result of the request is provided in the onLeaveLobbyDone callback of the registered
LobbyRequestListener objects.
Parameters
None
Returns
void
public void subscribeLobby ()
Sends a subscribe lobby request to the server. Result of the request is provided in the onSubscribeLobbyDone callback of the registered
LobbyRequestListener objects. Users which have subscribed to the lobby receive chat events from other users in the lobby as well as join/leave notifications about all players to and fro the lobby and all the rooms. In addition, lobby subscribers get notifications when a new room is created or deleted. All these notification events are given in the registered
NotifyListener objects.
Parameters
None
Returns
void
public void unsubscribeLobby ()
Sends a unsubscribe lobby request to the server. Result of the request is provided in the onUnsubscribeLobbyDone callback of the
LobbyRequestListener.
Parameters
None
Returns
void
public void joinRoom ( String roomId )
Sends a join room request to the server. Result of the request is provided in the onJoinRoomDone callback of the registered
RoomRequestListener objects. A user can only be joined in one location (room or lobby) at a time. If a user joins a room, it will automatically be removed from its current location.
Parameters
roomId - Id of the room to be joined
Returns
void
public void joinRoomWithNUser ( int userCount )
Sends a join room request to the server with the condition that the room must have at least the given number of users. Result of the request is provided in the onJoinRoomDone callback of the registered
RoomRequestListener. This is useful is supporting quick play modes.
Parameters
userCount- number of users in room to be joined
Returns
void
public void joinRoomInRange ( int minUsers , int maxUsers , boolean maxPreferred )
Sends a join room request to the server with the condition that the room must have at least minUsers and at Most maxUsers. Result of the request is provided in the onJoinRoomDone callback of the registered
RoomRequestListener. This is useful is supporting quick play modes.
Parameters
minUsers- number of minimum users in room to be joined
maxUsers- number of maximum users in room to be joined
maxPreferred- flag to specify search priority for room to be joined
Returns
void
Join Room With Properties
public void joinRoomWithProperties ( Hashtable < String , Object > tableProperties )
Sends a join room request to the server with the condition that the room must have a matching set of property value pairs associated with it. This is useful in match making. Result of the request is provided in the onJoinRoomDone callback of the registered
RoomRequestListener.
Parameters
tableProperties- properties of the room to be joined
Returns
void
public void leaveRoom ( String roomId )
Sends a leave room request to the server. Result of the request is provided in the onLeaveRoomDone callback of the registered
RoomRequestListener.
Parameters
roomId - Id of the room to be left
Returns
void
public void createRoom ( String name , String owner , int maxUsers , Hashtable < String , Object > tableProperties )
Sends a create room request to the server with the given meta data. Result of the request is provided in the onCreateRoomDone callback of the registered
ZoneRequestListener objects. If successful, this will create a dynamic room at the server. These rooms lifetime is limited till the time users are inside it. Read more about
Rooms here.
Parameters
name - name of the room
owner - administrator of the room
maxUsers - number of maximum users allowed in the room
tableProperties - properties of room for matchmaking ( pass null if not required )
Returns
void
Sends a create turn based room request to the server with the given meta data. Result of the request is provided in the onCreateRoomDone callback of the registered ZoneRequestListener objects. If successful, this will create a dynamic turn based room at the server. These rooms lifetime is limited till the time users are inside it. Read more about Rooms here.
public void createTurnRoom ( String name , String owner , int maxUsers , Hashtable < String , Object > tableProperties , int turnTime )
Parameters
name - name of the room
owner - owner of the room ( behavior and usage of this meta property is up to the developer )
maxUsers - number of maximum users allowed in the room
tableProperties - properties of room ( can be null )
turnTime - the time ( in seconds ) allowed for a user to complete its turn and send a move .
Returns
void
Sends a move to the server for the joined turn based room.Result of the request is provided in the onSendMoveDone callback of the registered TurnBasedRoomListener objects. If the joined user is not a turn based room or if its not the users turn, this request will fail. If successful, this will result in onMoveCompleted notification for all the subscribed users on the registered NotifyListener objects.
public void sendMove ( String moveData )
Parameters
moveData - any meta data associated with the move
Returns
void
public void deleteRoom ( String roomId )
Sends a delete room request to the server. Result of the request is provided in the onDeleteRoomDone callback of the registered
ZoneRequestListener objects. Only dynamic rooms can be deleted through this API. Static rooms (created from AppHQ) can not be deleted through this. Read more about
Rooms here.
Parameters
roomId - Id of the room to be deleted
Returns
void
public void subscribeRoom ( String roomId )
Sends a subscribe room request to the server. Result of the request is provided in the onSubscribeRoomDone callback of the registered
RoomRequestListener objects. Once subscribed, the client will receive all notifications from the room such as chat, update and property change events. In addition the client will also receive notifications when a user joins or leaves the subscribed room. These notifications are given in the registered
NotifyListener objects.
Parameters
roomId - Id of the room to be subscribed
Returns
void
public void unsubscribeRoom ( String roomId )
Sends a unsubscribe room request to the server. Result of the request is provided in the onUnSubscribeRoomDone callback of the registered
RoomRequestListener objects.
Parameters
roomId - Id of the room to be subscribed
Returns
void
public void sendChat ( String message )
Sends a chat message to the room (or lobby) in which the user is currently joined. Result of the request is provided in the onSendChatDone callback of the registered
ChatRequestListener objects. All users who are subscribed to the location in which the message is sent will get a onChatReceived event on their registered
NotifyListener objects.
Parameters
message - message to be sent
Returns
void
Sends a private message to the given user if its online. Result of the request is provided in the onSendPrivateChatDone callback of the registered ChatRequestListener objects. The sender and receiver don’t need to be in the same room or lobby for the private message to be delivered. This is useful in building invite/challenge friend like scenarios. If successful, the receiver will get a onPrivateChatReceived event on its registered NotifyListener objects.
public void sendPrivateChat ( String username , String message )
Parameters
username - recipient of the message
message - message to be sent
Returns
void
public void sendUpdatePeers ( byte [] update )
Sends a byte array update message to room in which the user is currently joined. Result of the request is provided in the onSendUpdateDone callback of the registered
UpdateRequestListener objects. All users who are subscribed to the room in which the update is sent will get a onUpdatePeersReceived event on their registered
NotifyListener objects. This is useful if developers want to send their own binary encoded data across and is useful in minimizing the payload exchanged between the clients and AppWarp cloud server. The size of each message should be limited to 1000 bytes. The frequency at which these messages can be processed is not restricted by the server. However, the latency involved is largely determined by the client’s bandwidth. The corresponding UDP flavor of this API is sendUdpUpdatePeers, which is unreliable and may not work over cellular data connections – hence no result callback should be expected from it. The behavior is otherwise similar.
Parameters
update - binary data to be sent
Returns
void
Sends a byte array update message to recipient user. Result of the request is provided in the
onSendPrivateUpdateDone callback of the registered
UpdateRequestListener objects. Remote user will get a onPrivateUpdateReceived event on their registered
NotifyListener objects. This is useful if developers want to send private data between the users. The corresponding UDP flavor of this API is
sendUDPPrivateUpdate, which is unreliable and may not work over cellular
data connections – hence no result callback should be expected from it.
The behavior is otherwise similar.
public void sendPrivateUpdate(String toUsername,byte[] update)
Parameters
toUsername - recipient username
update - byte array data to be sent
Returns
void
public void getLiveRoomInfo ( String roomId )
Retrieves the live information of the given room from the server. Result is provided in the onGetLiveRoomInfoDone callback of the registered
RoomRequestListener objects. The information includes the names of the currently joined users, the rooms properties and any associated customData. This is useful in getting a snapshot of a rooms state.
Parameters
roomId - Id of the room
Returns
void
public void getLiveUserInfo ( String username )
Retrieves the live information of the user from the server. Result is provided in the onGetLiveUserInfo callback of the registered
ZoneRequestListener objects. The information (if user is online) includes the current location of the user and any associated custom data. It is useful in building scenarios where you want to find if a users friends are online or not and then join their room if found online.
Parameters
username - user whose information is requested
Returns
void
public void getLiveLobbyInfo ()
Retrieves live information of the lobby from the server. Result is provided in the onGetLiveLobbyInfo callback of the registered
LobbyRequestListener objects. The information returned includes the names of the users who are currently joined in the lobby.
Parameters
None
Returns
void
public void setCustomUserData ( String userName , String customData )
Updates the custom data associated with the given user on the server (if the given user is online). Result is provided in the onSetCustomUserDataDone callback of the registered
ZoneRequestListener objects. It can be useful in setting status messages or avatar url’s etc for online users.
Parameters
userName - user for whom custom data has to be update
customData - custom data that will be set for the user
Returns
void
Updates the custom data associated with the given room on the server. The result is provided in the onSetCustomRoomDataDone callback of the registered RoomRequestListener objects. It is recommended you use the room’s properties where ever possible. Use this when you need to associate data with a room which can not be represented as key value pairs.
public void SetCustomRoomData ( String roomId , String customRoomData )
Parameters
roomId - Id of the room
customRoomData - custom data that will be set for the room
Returns
void
public void updateRoomProperties ( String roomID , Hashtable < String , Object > tableProperties , String [] removeArray )
Updates the properties associated with the given room on the server. Result is provided in the onUpdatePropertyDone callback of the registered
RoomRequestListener objects. Properties which are not found on the server, will be added while properties which are already present will simply be updated with the new values. You can also specify the list of properties that you want to remove from the remove. Update property will fail if any other user has lock on same property that you are going to update or remove. This request (if successful) will also result in an onUserChangeRoomProperty notification on the registered
NotifyListener objects to be triggered for all subscribed users of the room.
Parameters
roomId - Id of the room
tableProperties - properties that will be set for the room
removeArray - properties that will be removed for the room
Returns
void
public void lockProperties ( Hashtable < String , Object > tableProperties )
Lock the properties associated with the joined room on the server for requested user. Result is provided in the onLockPropertyDone callback of the registered
RoomRequestListener objects. Lock properties will fail if any other user has lock on same property, otherwise property will be added in lockTable with owner name. This request (if successful) will also result in an onUserChangeRoomProperty notification on the registered
NotifyListener objects to be triggered for all subscribed users of the room.
Parameters
lockProperties - properties to be lock for the room
Returns
void
public void unlockProperties(String[] unlockProperties)
Unlock the properties associated with the joined room on the server for requested user. Result is provided in the onUnlockPropertyDone callback of the registered
RoomRequestListener objects. Unlock properties will fail if any other user has lock on same property, otherwise property will be removed from lock table. This request (if successful) will also result in an onUserChangeRoomProperty notification on the registered
NotifyListener objects to be triggered for all subscribed users of the room.
Parameters
unlockProperties - properties to be unlock for the room
Returns
void
public void getOnlineUsers ()
Retrieves usernames of all the users connected (online) to the server. Result is provided in the onGetOnlineUsers callback of the registered
ZoneRequestListener objects.
Parameters
None
Returns
void
public void getAllRooms ()
Retrieves the room ids of all the rooms on the server. Result is provided in the onGetAllRoomsDone callback of the registered
ZoneRequestListener objects. To get a filtered list of rooms, use the
GetRoomWithProperties API.
Parameters
None
Returns
void
public void getRoomInRange ( int minUsers , int maxUsers )
Retrieves information of the rooms that contain at least minUsers and at most maxUsers in them. Result is provided in the onGetMatchedRoomsDone callback of the registered
ZoneRequestListener objects. This is useful in building a filtered list of rooms.
Parameters
minUsers- number of minimun users in room to be joined
maxUsers- number of maximum users in room to be joined
Returns
void
public void getRoomWithProperties ( Hashtable < String , Object > properties )
Retrieves information of the room that contain properties which match with the given properties. Result is provided in the onGetMatchedRoomsDone callback of the registered
ZoneRequestListener objects. This is useful in building a filtered list of rooms.
Parameters
properties- properties of the room to be joined
Returns
void
Add Connection Request Listener
public void addConnectionRequestListener ( ConnectionRequestListener listener )
Adds (registers) the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for Connect and Disconnect APIs. The object must implement the
ConnectionRequestListener interface.
Parameters
listener - method for listening to the request
Returns
void
Add Zone Request Listener
public void addZoneRequestListener ( ZoneRequestListener listener )
Adds (registers) the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for zone level requests such as create/delete room or live user info requests. The object must implement the
ZoneRequestListener interface.
Parameters
listener - method for listening to the request
Returns
void
Add Room Request Listener
public void addRoomRequestListener ( RoomRequestListener listener )
Adds (registers) the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for requests pertaining to a room. The object must implement the
RoomRequestListener interface.
Parameters
listener - method for listening to the request
Returns
void
Add Lobby Request Listener
public void addLobbyRequestListener ( LobbyRequestListener listener )
Adds (registers) the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for lobby level request. The object must implement the
LobbyRequestListener interface.
Parameters
listener - method for listening to the request
Returns
void
Add Notification Listener
public void addNotificationListener ( NotifyListener listener )
Adds (registers) the given listener object to the list of objects on which callbacks will be invoked when a notification is received from the server from any subscribed location (room or lobby). The object must implement the
NotifyListener interface.
Parameters
listener - method for listening to the request
Returns
void
Add Update Request Listener
Adds (registers) the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for a SendUpdatePeers request. The object must implement the UpdateRequestListener interface.
public void addUpdateRequestListener ( UpdateRequestListener listener )
Parameters
listener - method for listening to the request
Returns
void
Add Chat Request Listener
Adds (registers) the given listener object to the list of objects on
which callbacks will be invoked when a response from the server is
received for a SendChat or sendPrivateChat request. The object must implement the
ChatRequestListener interface.
public void addChatRequestListener(ChatRequestListener listener)
Parameters
listener - listener object
Returns
void
Returns the current connection state of the WarpClient instance. The values returned are according to the following.
int CONNECTED = 0 ;
int CONNECTING = 1 ;
int DISCONNECTED = 2 ;
int DISCONNECTING = 3;
int RECOVERING = 4;
public int getConnectionState ()
Parameters
None
Returns
int
Add Turn Based Room Request Listener
Adds (registers) the given listener object to the list of objects on which callbacks will be invoked when a response from the server is received for a SendMove request. The object must implement the TurnBasedRoomListener interface.
public void AddTurnBasedRoomRequestListener ( TurnBasedRoomListener listener )
Parameters
listener - listener object
Returns
void
Sends a start game to server in TurnBasedRoom. Result of this callback is provided in onStartGameDone of registered TurnBasedRoomListener interface. If successful game will be started in TurnBasedRoom.
public void startGame()
Or
public void startGame(boolean isDefaultLogic)
Or
public void startGame(boolean isDefaultLogic, String nextTurn)
Parameters
isDefaultLogic - a bool variable.
nextTurn- the next turn string value.
Returns
void
Sends a stop game to server in TurnBasedRoom. Result of this callback is provided in onStopGameDone of registered TurnBasedRoomListener interface. If successful game will be stopped in TurnBasedRoom.
Parameters
None
Returns
void
Sends get move history request to server in TurnBasedRoom. Result of this callback is provided in onGetMoveHistoryDone of registered TurnBasedRoomListener interface.
public void getMoveHistory()
Parameters
None
Returns
void
setGeo allows you to connect to our cloud servers in locations other than the default location. This offers developers the choice to connect to the closest server depending on the client’s device location.
public void setGeo(String geo)
Parameters
geo - server location. For e.g. US, EU, JAPAN
Returns
void
It gives sessionId of the current established connection,otherwise returns zero.
public int getSessionID()
Parameters
None
Returns
int - sessionId
It returns the singleton instance of WarpClient.This should be initialized with a key pair before it is used.
public static WarpClient getInstance()
Parameters
None
Returns
WarpClient - singleton instance of WarpClient.
It gives the Api Key of the current established connection,otherwise returns null.
public String getAPIKey()
Parameters
None
Returns
String - Api key
It gives the Private/Secret Key of the current established connection,otherwise returns null.
public String getPrivateKey()
Parameters
None
Returns
String - Private/Secret key
Remove Connection Request Listener
Removes the given listener object from the list of objects on
which callbacks will be invoked when a response from the server is
received for Connect and Disconnect APIs. The object must implement the
ConnectionRequestListener interface.
public void removeConnectionRequestListener(ConnectionRequestListener listener)
Parameters
listener - listener object
Returns
void
Remove Zone Request Listener
Removes the given listener object from the list of objects on
which callbacks will be invoked when a response from the server is
received for zone level requests such as create/delete room or live user
info requests. The object must implement the
ZoneRequestListener interface.
public void removeZoneRequestListener(ZoneRequestListener listener)
Parameters
listener - listener object
Returns
void
Remove Lobby Request Listener
Removes the given listener object from the list of objects on
which callbacks will be invoked when a response from the server is
received for lobby level requests. The object must implement the
Lobby Request Listener interface.
public void removeLobbyRequestListener(LobbyRequestListener listener)
Parameters
listener - listener object
Returns
void
Remove Room Request Listener
Removes the given listener object from the list of objects on
which callbacks will be invoked when a response from the server is
received for requests pertaining to a room. The object must implement
the
RoomRequestListener interface.
public void removeRoomRequestListener(RoomRequestListener listener)
Parameters
listener - listener object
Returns
void
Remove Chat Request Listener
Removes the given listener object from the list of objects on
which callbacks will be invoked when a response from the server is
received for a SendChat or sendPrivateChat request. The object must implement the
ChatRequestListener interface.
public void removeChatRequestListener(ChatRequestListener listener)
Parameters
listener - listener object
Returns
void
Remove Turn Based Room Request Listener
Removes the given listener object from the list of objects on
which callbacks will be invoked when a response from the server is
received for a turn based game move request. The object must implement the
Turn Based Room Listener interface.
public void removeTurnBasedRoomListener(TurnBasedRoomListener listener)
Parameters
listener - listener object
Returns
void
Remove Update Request Listener
Removes the given listener object from the list of objects on
which callbacks will be invoked when a response from the server is
received for a SendUpdatePeers or SendPrivateUpdate request. The object must implement the
UpdateRequestListener interface.
public void removeUpdateRequestListener(UpdateRequestListener listener)
Parameters
listener - listener object
Returns
void
Remove Notification Listener
Removes the given listener object from the list of objects on
which callbacks will be invoked when a notification is received from the
server from any subscribed location (room or lobby). The object must
implement the
NotifyListener interface.
public void removeNotificationListener(NotifyListener listener)
Parameters
listener - listener object
Returns
void
Sends a byte array update message to the recipient user. This is useful if developers want to send private data between the users. It is unreliable and may not work over cellular
data connections – hence no result callback should be expected from it. The corresponding flavor of this API is
sendPrivateUpdate which shows a similar behavior.
public void sendUDPPrivateUpdate(String toUsername, byte[] update)
Parameters
toUsername - recipient username
update - byte array data to be sent
Returns
void
Sends a byte array update message to the room to which the user is
currently joined. This is useful if developers want to send their own binary
encoded data across and is useful in minimizing the payload exchanged
between the clients and AppWarp cloud server. The frequency at which
these messages can be processed is not restricted by the server.
However, the latency involved is largely determined by the client’s
bandwidth. The size of the byte array must not exceed 1000. It is unreliable and may not work over cellular
data connections – hence no result callback should be expected from it.The corresponding UDP flavor of this API is
sendUpdatePeers which shows a similar behavior.
public void sendUDPUpdatePeers(byte[] update)
Parameters
update - byte array data to be sent
Returns
void
When the onNextTurnRequest is sent by the server, it sends the next turn to the server for the joined turn based room.Result of the request is provided in the onSetNextTurnDone callback of the registered
Turn Based Room Listener objects. If the joined user is not in turn based room or if it’s not the user’s turn, this request will fail. If successful, this will result in
onMoveCompleted notification for all the subscribed users on the
registered
NotifyListener objects.
<
public void setNextTurn(String nextTurn)
Parameters
nextTurn - the string value for the next turn
Returns
void
Retrieves total number of users connected (online) to the server. Result is provided in the onGetOnlineUsersCountDone callback of the registered
ZoneRequestListener objects.
public void getOnlineUsersCount()
Parameters
none
Returns
void
Retrieves total number of rooms on the server. Result is provided in the onGetAllRoomsCountDone callback of the registered
ZoneRequestListener objects.
public void getAllRoomsCount()
Parameters
none
Returns
void
public void joinAndSubscribeRoom( String roomId)
Sends a join and subscribe room request to the server. Result of the request is provided in the onJoinAndSubscribeRoomDone callback of the registered
RoomRequestListener objects. A user can only be joined in one location (room or lobby) at a time. If a user joins a room, it will automatically be removed from its current location. Once subscribed, the client will receive all notifications from the room such as chat, update and property change events. In addition the client will also receive notifications when a user joins or leaves the subscribed room. These notifications are given in the registered
NotifyListener objects.
Parameters
roomId - Id of the room to be join and subscribed
Returns
void
Leave And Unsubscribe Room
public void leaveAndUnsubscribeRoom( String roomId )
Sends a leave and unsubscribe room request to the server. Result of the request is provided in the onLeaveAndUnsubscribeRoomDone callback of the registered
RoomRequestListener objects.
Parameters
roomId - Id of the room to be subscribed
Returns
void
Get Room In Range With Properties
public void getRoomInRangeWithProperties( int minUsers , int maxUsers,Hashtable < String , Object > tableProperties )
Retrieves information of the rooms that contain at least minUsers , at most maxUsers and set of property value pairs in them. Result is provided in the onGetMatchedRoomsDone callback of the registered
ZoneRequestListener objects. This is useful in building a filtered list of rooms.
Parameters
minUsers- number of minimun users in room to be joined
maxUsers- number of maximum users in room to be joined
tableProperties- properties of the room to be joined
Returns
void
public void getUserStatus(String username)
Retrieves status of user via username on the server. Result is provided in the onGetUserStatusDone callback of the registered
ZoneRequestListener objects. This is useful to find either user is connected or not.
Parameters
username - Username of the player
Returns
void
Send Chat (overloaded method for chat history)
public void sendChat(String message, boolean saveHistory, String roomId)
Sends a chat message with two more parameters specially used if chat history is enabled. Here user need to provide boolean variable(i.e true/false) for either save this chat or not and roomId of joined room. Result of the request is provided in the onSendChatDone callback of the registered
ChatRequestListener objects. All users who are subscribed to the location in which the message is sent will get a onChatReceived event on their registered
NotifyListener objects.
Parameters
message - message to be sent
saveHistory -Boolean variable indicating sent message needs to be saved or not.
roomId-Id of the room
Returns
void
public void setDbName(String dbName)
Set a db name where chat history need to be saved. To create a db if not created already, please follow the steps given.
1.Login to AppHQ Management Console.
2.Select App42 Cloud API from the product drop down.
3.Select Storage from left most menu.
4.Select JSON from the sub menu and click on Add DB button.
5.Provide the DBName and click on Submit button.
Parameters
dbName - Database name that will be set for the chat history.
Returns
void
public void enableChatHistory(boolean isSaveHistory)
Enables client to save the chat sent using sendChat API.
Parameters
isSaveHistory- If true, the client can save chat using sendChat API.
Returns
void
public void getChatHistory(String roomId, int max, int offset)
Retrieves chat history of a room of specified roomId from the server. Result is provided in the onGetChatHistoryDone callback of the registered
ChatRequestListener objects.
Parameters
roomId- Id of the room whose history is requested.
max- Number of messages to be fetched from the server.
offset- index from where the messages need to be fetched.
Returns
void