> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quickblox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# User Presence

> Learn how to track user presence updates and check user status using ping.

## Before you begin

1. Register a [QuickBlox account](https://admin.quickblox.com/signin). This is a matter of a few minutes and you will be able to use this account to build your apps.
2. Configure QuickBlox SDK for your app. Check out [Setup](/sdks/react-native-setup) page for more details.
3. Create a user session to be able to use QuickBlox functionality. See [Authentication](/sdks/react-native-authentication) page to learn how to do it.
4. Connect to the Chat server. See [Connection](/sdks/react-native-chat-connection) page to learn how to do it.

Visit [Key Concepts](/docs/key-concepts) page to learn the most important QuickBlox concepts.

## Check if a user is online

<Warning>
  This feature is coming soon. Please check back later. For more updates and questions, feel free to contact our [Customer Support Team](https://assist.quickblox.com/).
</Warning>

## Ping user

QuickBlox SDK can send application-level pings to the user or server. As a result, you can check if a user is connected to the Chat server and if there is a connection with the Chat server.

```JavaScript JavaScript theme={null}
const userId = 12345;

QB.chat
  .pingUser(userId)
  .then(function () { /* success */ })
  .catch(function (error) { /* handle error */ });
```

| Argument | Required | Description     |
| -------- | -------- | --------------- |
| userId   | yes      | ID of the user. |

## Ping server

QuickBlox SDK can send application-level pings to a server. As a result, you can check if the user is connected to the Chat server and if there is a connection with the Chat server.

```JavaScript JavaScript theme={null}
QB.chat
  .pingServer()
  .then(function () { /* success */ })
  .catch(function (error) { /* handle error */ });
```
