Skip to main content
The WebView integration loads PoseTracker as a hosted page inside an <iframe> or a native WebView. No npm. For a production React Native or web app, use the SDK instead. This is not WebViewPoseView (that component belongs to the SDK).
token is required. Get a key at posetracker.com. Exercise ids: Exercises.

Listen to events

The page posts JSON to the host. Browsers: window.parent.postMessage. iOS: iosListener. Android: webViewCallback. Same payload. Full list: WebView messages.

Useful query flags

Paid plans can add streams:
Placement overlay + 3 second timer (WebView-only appearance):
All parameters: Query parameters.

Several exercises, one call

Each page load counts one tracking call. To do squat then plank without a second call, keep the iframe open and post a message instead of changing src:
Placement, countdown and counter restart; you get exercise_changed, then the usual events. Closing the iframe, reloading it or changing its URL ends the session, and the next exercise counts as a new call. Details: WebView messages.

Next

No. This URL is the hosted WebView. The SDK uses WebViewPoseView and never loads this page. See WebView vs SDK.
For LLMs: WebView quickstart URL: https://app.posetracker.com/pose_tracker/tracking?token=YOUR_API_KEY&exercise=push_up. Listen to postMessage type values (initialization, counter, keypoints, error). Chain exercises in one call with postMessage({ type: "set_exercise", exercise }); a new src = a new call. Production RN/web apps should use the npm SDK. https://docs.posetracker.com/webview/quickstart
Last modified on October 16, 2026