There are typically two options for initializing the SDK and incrementing Monthly Active User (MAU) when a user opens the app.
- SDK initialized upon app launch. This is the most common approach where every user of the application becomes an MAU. A WebSocket connection is established upon launch of the app and the key benefits of this are
- You can immediately render the unread count to the user via a notification icon
- Your app is always listening for new WebSocket events in the form of new messages, channels, replies, etc when the app is open. This allows you to notify the user in-app of any new messages or events.
- Faster loading of the Chat features as opposed to loading them on demand.
- SDK is initialized only when the user taps into a messaging tab or similar flow. This keeps your MAU down but the user will not know if they have unread messages and the app will not be listening to new events (such as those described above). In most cases, this leads to a degraded user experience.