Debugging
Check that SignalFox is installed and sending events correctly.
Use this page when events are not showing up, look incomplete, or appear in the wrong environment.
First check: Development events
Run your app with the debug API key. Then open the Development section in the SignalFox dashboard.
Trigger a few simple actions:
- open the app
- navigate to another screen
- press an important
PressableorTouchable - open and close a modal
- trigger one in-screen funnel step if your app has one
You should see events arrive there. If nothing appears, work through the checklist below.
Installation checklist
Confirm that:
SignalFox.initruns successfully with yourapiKeyand integrations- the
apiKeyvalue is present - development builds use the debug key
- release builds use the production key
applyModalPatch()andapplyTouchablePatch()run before the app renders- your navigation integration receives a valid root navigation ref
API key issues
SignalFox uses separate client keys for debug and production data.
Use the debug key while developing. Debug keys start with ak_dev__, and they are designed for checking installation quickly in the dashboard.
Use the production key for release builds. If a build uses the wrong key, events can show up in the wrong place or look like they are missing.
Navigation issues
If screen views are missing, check that you configured exactly one navigation integration:
reactNavigationIntegration({ navigationRef })for React NavigationexpoRouterIntegration({ navigationRef })for Expo Router
Make sure the ref you pass is the root navigation ref. Route parameter changes are not treated as new screen views by themselves, so test with a real screen change.
Modal and touchable issues
If modal or press events are missing:
- confirm the startup patches run before your app renders
- add
signalFoxNodeIdto the relevantModal,Pressable, orTouchable - make sure the ID is unique for that component and context
If the same modal can open from different parts of the app, give each context its own compact, descriptive signalFoxNodeId.
Funnel tracking issues
Use trackFunnelStep for funnels that happen inside the same screen. Do not add trackFunnelStep for a journey that already moves through separate screens, because navigation tracking already covers that path.
If a funnel step does not show up, confirm funnelName and signalFoxNodeId are both non-empty strings, and that the code runs after SignalFox.init has completed (or rely on the SDK’s queueing before init finishes).
Duplicate events
Avoid calling SignalFox.init with conflicting configurations in the same app process. For purchases, do not mix automatic RevenueCat or react-native-iap tracking with manual purchase notifiers for the same purchase path unless you intentionally handle duplication.