Skip to content

docs(react-native-tracker): document react-native-web prerequisites and known limitations - #1874

Draft
snowplow-claude-review[bot] wants to merge 1 commit into
mainfrom
loop/3a607af295a2801cbe68d47e27112ef0-documentation
Draft

docs(react-native-tracker): document react-native-web prerequisites and known limitations#1874
snowplow-claude-review[bot] wants to merge 1 commit into
mainfrom
loop/3a607af295a2801cbe68d47e27112ef0-documentation

Conversation

@snowplow-claude-review

Copy link
Copy Markdown
Contributor

Documents how to use the React Native tracker in a browser SPA via react-native-web, including setup prerequisites and known limitations.

What and why

The tracker's index.md already listed web as a supported target alongside iOS, Android, and Expo, but gave no guidance on what is required to make it work or what degrades. A customer running the tracker in a plain browser SPA found screen entity and screen_end absent — the most likely causes are a missing @react-native-async-storage/async-storage web adapter (causing a silent newTracker() Promise rejection) or calling trackScreenViewEvent before the async init resolves. This PR closes the documentation gap so users can self-serve.

Changes

docs/sources/react-native-tracker/index.md
New "Using with react-native-web" section:

  • Prerequisites: @react-native-async-storage/async-storage web adapter must be configured (or useAsyncStorageForEventStore: false set); newTracker() must be awaited before the first tracking call.
  • Known limitations: platformContext entity is entirely absent when Platform.OS === 'web' (all four required fields — osType, osVersion, deviceManufacturer, deviceModel — are undefined); lifecycleAutotracking uses tab visibility state changes rather than native app state on web.

docs/sources/react-native-tracker/tracking-events/screen-tracking/index.md
New "Using screen tracking in a browser SPA" section confirming that screen entity and screen_end work correctly without a navigation library integration, and calling out the await newTracker() prerequisite explicitly with a cross-reference to the prerequisites in index.md.

What to check

  • Headings are sentence-case throughout, H2 counts are at or below 5 per file.
  • Internal links end in /index.md, no https://docs.snowplow.io absolute links.
  • The useAsyncStorageForEventStore: false option is documented as an alternative for users who cannot configure the web adapter.

Draft PR opened for review — please verify and run CI before merging.

@snowplowcla

Copy link
Copy Markdown

Thanks for your pull request. Is this your first contribution to a Snowplow open source project? Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://docs.snowplowanalytics.com/docs/contributing/contributor-license-agreement/ to learn more and sign.

Once you've signed, please reply here (e.g. I signed it!) and we'll verify. Thanks.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
documentation 98a5b53 Commit Preview URL

Branch Preview URL
Jul 23 2026, 09:24 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant