On this page
Use a test app and synthetic data to find where your React Native integration stops working. Check Android and iOS separately. A JavaScript call that returns without an error does not confirm native data delivery.
Package covered: @cuxio/react-native-sdk 1.0.22.
The native module is unavailable
Check that the app includes native modules, the package is installed and the native app was rebuilt. On iOS, run your project's CocoaPods installation workflow before rebuilding. A JavaScript refresh cannot link the module.
Check the package version, deployment target and resolved native dependencies against installation requirements. Do not fix a wrapper problem by replacing its native Android dependency with Android 1.2.0.
No recording appears
Check the mobile project token without logging or sharing it. Confirm initialization finishes before navigation and event handlers run. If you use needConfirmToStart: true, check that your consent handler calls CUX.resumeCollectingData() when collection is allowed.
Run a short journey and check the matching project in CUX. Repeat on the other platform to distinguish shared JavaScript setup from platform-specific behavior.
Screen names are missing
Check both the initial route and later transitions. createCUXNavigationProps() supplies an onStateChange handler, but no onReady callback. Use the navigation example to name the initial screen from the actual navigation state.
Preserve your existing navigation ref and callbacks. Check the current route again after collection resumes. Avoid sending names from every component render.
Users or events are missing
Use CUX.setUserProperties() for an identifier and CUX.track() for a custom event. CUX.customEvent() is not the event API in this package.
Check that collection is allowed and that your handler runs after initialization. Use a synthetic internal ID and simple string event parameters. Confirm the result in CUX, then check repeated callbacks and account switching using the users and events guide.
Sensitive content is visible
Wrap the sensitive region in CUXMask and inspect the captured screenshot on both platforms. Check reused components and changing layouts. CUXMaskedCompositionHost does not enable masking in this version.
Use CUX.pauseScreenshots() and CUX.resumeScreenshots() for sensitive flows. Do not rely on isScreenshotsPaused() as runtime proof: the JavaScript implementation returns a fixed value. These controls do not filter event parameters or user properties.
Follow the collection and masking guide before repeating the test.
Prepare a support report
Include the package version, resolved native dependency versions, React Native and toolchain versions, affected platform and steps to reproduce with synthetic data. Describe what you expected and what appears in CUX.
Do not share project tokens, credentials or customer data.