The Connect+ app uses a normalized, in-memory cache to store network query results, meaning less loading time for users and a faster, more responsive feeling app, as future queries for the same data can be resolved without further unnecessary network requests.
This cache and data, however, is not persisted (meaning this information is not stored in permanent device memory) and the data is only preserved for the length of the user session, with a few notable exceptions:
- Authentication tokens
When a user logs into the Connect+ app, signed authentication tokens are exchanged with Reward Gateway’s servers that are needed for all subsequent API requests. The server verifies this token each time for authenticity and only then responds to the request. These tokens are persisted so that a user does not need to log in again each time they use the app.
- Selected feed filters
A user is able to filter the feed by applying a combination of filters in-app. This filter selection is persisted so that the next time the user opens the app, the same filters are applied to the feed.
- Whether or not the user has been “onboarded”
When a user first logs into Connect+, they are presented with a series of helpful screens that guide them through certain app functionalities. We persist a value to indicate whether a user has already gone through this “onboarding” process, and if so, we do not show them these screens again.
- Push notification identifier
The Connect+ app uses push notifications to inform the user about important events (such as when they have received recognition from a colleague or there is a new blog post in a blog they follow). A unique, random device ID is persisted in order for the app to know if it has already been registered with Reward Gateway’s push notification service.