What the SDK Does (and Doesnβt Do)
The Gu1 SDK runs inside your app and captures what your backend cannot see: device signals, environment integrity, and the screen journey β including everything before login. The events you already send from your backend stay exactly as they are: they just carry an extrasessionId so the Gu1 engine can join both worlds.
The SDK is fail-open by design: it never blocks your app, never propagates errors (the only exception is invalid configuration at init), requires no permissions, and does not access user data.
1. Install
The SDK ships via private npm (scope
@gu1, restricted package). The command below returns 404 if your environment lacks read access to the @gu1 scope: contact your Gu1 team for private package access before installing.AndroidManifest.xml or Info.plist are required. The SDK is backward-compatible: it works on both the New Architecture and the classic React Native architecture (RN 0.71+), with no extra configuration.
2. Initialize (at Your Appβs Entry Point)
sessionId, collects device signals, and ships them in the background. Nothing else is required in the app for signal capture.
3. Screen Tracking (Recommended β 5 Lines)
With React Navigation, the SDK captures navigation and screen timings automatically:4. The sessionId Towards Your Backend (1 Header)
To link your backend events to the device session, attach thesessionId as a header on the appβs calls to your own backend:
- First authenticated request: send Gu1 an event with the
sessionId+ the userβsentityExternalId. Gu1 retroactively binds the whole session, including everything before login. - Existing events: add the optional camelCase
sessionIdfield to the events you already send toPOST /events/userβ events without it keep working unchanged.
5. Transactions (1 Line)
On the transactions you send to Gu1, thesessionId travels in metadata:
6. Verify
- Launch the app in sandbox β the session appears in your Gu1 dashboard with device signals.
- Navigate between screens β automatic
NAVIGATIONevents. - Log in β the session gets bound to the user (retroactive binding).
- Run a test transfer β the transaction shows session context in its evaluation.
Integration Summary
Any new signals Gu1 enables in the future are switched on through remote configuration β no app releases, no coordination required.