The Time to Initial/Full Display spec defines Sentry.reportFullyDisplayed() as the canonical API for signaling when a screen has fully loaded. Cocoa (SentrySDK.reportFullyDisplayed()), Android (Sentry.reportFullyDisplayed()), and Flutter (SentryDisplay.reportFullyDisplayed()) all implement it.
React Native uses <TimeToFullDisplay ready={bool}> component instead — a deliberate, React-idiomatic design choice. PR #6090 enhanced this with multi-instance coordination (multiple <TimeToFullDisplay> components that wait for all to report ready).
Feasibility Assessment (Jul 2026)
Not yet covered — there is zero reference to reportFullyDisplayed anywhere in the RN SDK codebase. No function, no export, no mention. The deprecated imperative functions startTimeToFullDisplaySpan() / startTimeToInitialDisplaySpan() still exist but are marked deprecated in favor of the components.
Cross-SDK alignment: RN is the only outlier. All other mobile SDKs implement the spec's canonical static API:
- Android:
Sentry.reportFullyDisplayed()
- Cocoa:
SentrySDK.reportFullyDisplayed()
- Flutter:
SentryDisplay.reportFullyDisplayed() (formerly SentryFlutter.reportFullyDisplayed(), deprecated)
Flutter's evolution is instructive: they started with a static method, moved toward SentryDisplay instances, and also offer SentryDisplayWidget. The approaches coexist.
Spec: Yes — Sentry.reportFullyDisplayed() is the canonical API per develop.sentry.dev. This is the only issue in the project that is spec-backed.
Use cases for static API: Non-component contexts where the <TimeToFullDisplay> component doesn't fit — Redux sagas, data-fetching hooks, code outside the React render tree.
Recommendation
Add Sentry.reportFullyDisplayed() as a complementary API alongside the existing <TimeToFullDisplay> component. The component approach should remain the recommended/primary API for React developers, but the static method should exist for spec compliance, cross-SDK alignment, and non-component use cases.
The Time to Initial/Full Display spec defines
Sentry.reportFullyDisplayed()as the canonical API for signaling when a screen has fully loaded. Cocoa (SentrySDK.reportFullyDisplayed()), Android (Sentry.reportFullyDisplayed()), and Flutter (SentryDisplay.reportFullyDisplayed()) all implement it.React Native uses
<TimeToFullDisplay ready={bool}>component instead — a deliberate, React-idiomatic design choice. PR #6090 enhanced this with multi-instance coordination (multiple<TimeToFullDisplay>components that wait for all to reportready).Feasibility Assessment (Jul 2026)
Not yet covered — there is zero reference to
reportFullyDisplayedanywhere in the RN SDK codebase. No function, no export, no mention. The deprecated imperative functionsstartTimeToFullDisplaySpan()/startTimeToInitialDisplaySpan()still exist but are marked deprecated in favor of the components.Cross-SDK alignment: RN is the only outlier. All other mobile SDKs implement the spec's canonical static API:
Sentry.reportFullyDisplayed()SentrySDK.reportFullyDisplayed()SentryDisplay.reportFullyDisplayed()(formerlySentryFlutter.reportFullyDisplayed(), deprecated)Flutter's evolution is instructive: they started with a static method, moved toward
SentryDisplayinstances, and also offerSentryDisplayWidget. The approaches coexist.Spec: Yes —
Sentry.reportFullyDisplayed()is the canonical API per develop.sentry.dev. This is the only issue in the project that is spec-backed.Use cases for static API: Non-component contexts where the
<TimeToFullDisplay>component doesn't fit — Redux sagas, data-fetching hooks, code outside the React render tree.Recommendation
Add
Sentry.reportFullyDisplayed()as a complementary API alongside the existing<TimeToFullDisplay>component. The component approach should remain the recommended/primary API for React developers, but the static method should exist for spec compliance, cross-SDK alignment, and non-component use cases.