Users consist of a few critical pieces of information that construct a unique identity in Sentry. Each of these is optional, but one must be present for the Sentry SDK to capture the user:
- Your internal identifier for the user.
- The username. Typically used as a better label than the internal id.
- An alternative, or addition, to the username. Sentry is aware of email addresses and can display things such as Gravatars and unlock messaging capabilities.
- The user's IP address. If the user is unauthenticated, Sentry uses the IP address as a unique identifier for the user. Sentry will attempt to pull this from the HTTP request data, if available.
Additionally, you can provide arbitrary key/value pairs beyond the reserved names, and the Sentry SDK will store those with the user.
To identify the user:
#include <sentry.h> sentry_value_t user = sentry_value_new_object(); sentry_value_set_by_key(user, "email", sentry_value_new_string("email@example.com")); sentry_set_user(user);
You can also clear the currently set user: