Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

January 6 Session Replay for Mobile GA #12202

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 1 addition & 9 deletions docs/platforms/android/session-replay/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,9 @@
title: Set Up Session Replay
sidebar_order: 5500
notSupported:
description: "Learn how to enable the Beta of Mobile Session Replay in your app."
description: "Learn how to enable Session Replay in your mobile app."
---

<Note>

Mobile support for Session Replay is in Beta. Features available in Beta are still work-in-progress and may have bugs. We recognize the irony.

If you have any questions, feedback or would like to report a bug, please open a [GitHub issue](https://github.com/getsentry/sentry-java/issues/new?assignees=&labels=Platform%3A+Android%2CType%3A+Bug&projects=&template=bug_report_android.yml) with a link to a relevant replay in Sentry if possible.

</Note>

[Session Replay](/product/explore/session-replay/) helps you get to the root cause of an error or latency issue faster by providing you with a reproduction of what was happening in the user's device before, during, and after the issue. You can rewind and replay your application's state and see key user interactions, like taps, swipes, network requests, and console entries, in a single UI.

By default, our Session Replay SDK masks all text content, images, and user input, giving you heightened confidence that no sensitive data will leave the device. To learn more, see [product docs](/product/explore/session-replay/).
Expand Down
21 changes: 6 additions & 15 deletions docs/platforms/apple/guides/ios/session-replay/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,9 @@
title: Set Up Session Replay
sidebar_order: 5500
notSupported:
description: "Learn how to enable the Beta of Mobile Session Replay in your app."
description: "Learn how to enable Session Replay in your mobile app."
---

<Note>

Mobile support for Session Replay is in Beta. Features available in Beta are still work-in-progress and may have bugs. We recognize the irony.

If you have any questions, feedback or would like to report a bug, please open a [GitHub issue](https://github.com/getsentry/sentry-cocoa/issues/new?assignees=&labels=Platform%3A+Cocoa%2CType%3A+Bug&projects=&template=bug.yml) with a link to a relevant replay in Sentry if possible.

</Note>

[Session Replay](/product/explore/session-replay/) helps you get to the root cause of an error or latency issue faster by providing you with a reproduction of what was happening in the user's device before, during, and after the issue. You can rewind and replay your application's state and see key user interactions, like taps, swipes, network requests, and console entries, in a single UI.

By default, our Session Replay SDK masks all text content, images, and user input, giving you heightened confidence that no sensitive data will leave the device. To learn more, see [product docs](/product/explore/session-replay/).
Expand Down Expand Up @@ -46,9 +38,8 @@ SentrySDK.start(configureOptions: { options in
options.dsn = "___PUBLIC_DSN___"
options.debug = true

// Currently under experimental options:
options.experimental.sessionReplay.onErrorSampleRate = 1.0
options.experimental.sessionReplay.sessionSampleRate = 1.0
options.sessionReplay.onErrorSampleRate = 1.0
options.sessionReplay.sessionSampleRate = 1.0
})
```

Expand Down Expand Up @@ -86,8 +77,8 @@ If you encounter any data not being redacted with the default settings, please l
To disable redaction altogether (not to be used on applications with sensitive data):

```swift
options.experimental.sessionReplay.redactAllText = false
options.experimental.sessionReplay.redactAllImages = false
options.sessionReplay.redactAllText = false
options.sessionReplay.redactAllImages = false
```

## Error Linking
Expand All @@ -110,4 +101,4 @@ A: Text views, input views, images, video players and webviews are all masked by

Q: What's the lowest version of iOS supported?

A: Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.
A: Session Replay recording happens even on the lowest version supported by the Sentry SDK, which is aligend with appstore support.
10 changes: 3 additions & 7 deletions docs/platforms/flutter/session-replay/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,13 @@
title: Set Up Session Replay
sidebar_order: 5500
notSupported:
description: "Learn how to enable the Mobile Session Replay Beta in your app."
description: "Learn how to enable Session Replay in your mobile app."
---

<Note>

Flutter Session Replay is available on **iOS** and **Android**.

Mobile support for Session Replay is in Beta. Features available in Beta are still work-in-progress and may have bugs. We recognize the irony.

If you have any questions, feedback or would like to report a bug, please open a [GitHub issue](https://github.com/getsentry/sentry-dart/issues/new?template=BUG_REPORT.yml) with a link to a relevant replay in Sentry if possible.

</Note>

[Session Replay](/product/explore/session-replay/) helps you get to the root cause of an error or latency issue faster by providing you with a reproduction of what was happening in the user's device before, during, and after the issue. You can rewind and replay your application's state and see key user interactions, like taps, swipes, network requests, and console entries, in a single UI.
Expand All @@ -36,8 +32,8 @@ To set up the integration, add the following to your Sentry initialization:
```dart
await SentryFlutter.init((options) {
...
options.experimental.replay.sessionSampleRate = 1.0;
options.experimental.replay.onErrorSampleRate = 1.0;
options.replay.sessionSampleRate = 1.0;
options.replay.onErrorSampleRate = 1.0;
});
```

Expand Down
16 changes: 3 additions & 13 deletions docs/platforms/react-native/session-replay/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,9 @@
title: Set Up Session Replay
sidebar_order: 5500
notSupported:
description: "Learn how to enable the Beta of Mobile Session Replay in your app."
description: "Learn how to enable Session Replay in your mobile app."
---

<Note>

Mobile support for Session Replay is in Beta. Features available in Beta are still work-in-progress and may have bugs. We recognize the irony.

If you have any questions, feedback or would like to report a bug, please open a [GitHub issue](https://github.com/getsentry/sentry-react-native/issues/new?assignees=&labels=Platform%3A+React-Native%2CType%3A+%F0%9F%AA%B2+Bug&projects=&template=BUG_REPORT.md) with a link to a relevant replay in Sentry if possible.

</Note>

[Session Replay](/product/explore/session-replay/) helps you get to the root cause of an error or latency issue faster by providing you with a reproduction of what was happening in the user's device before, during, and after the issue. You can rewind and replay your application's state and see key user interactions, like taps, swipes, network requests, and console entries, in a single UI.

By default, our Session Replay SDK masks all text content, images, and user input, giving you heightened confidence that no sensitive data will leave the device. To learn more, see [product docs](/product/explore/session-replay/).
Expand Down Expand Up @@ -46,10 +38,8 @@ import * as Sentry from "@sentry/react-native";

Sentry.init({
dsn: "___PUBLIC_DSN___",
_experiments: {
replaysSessionSampleRate: 1.0,
replaysOnErrorSampleRate: 1.0,
},
replaysSessionSampleRate: 1.0,
replaysOnErrorSampleRate: 1.0,
integrations: [Sentry.mobileReplayIntegration()],
});
```
Expand Down
2 changes: 1 addition & 1 deletion docs/product/explore/session-replay/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebar_order: 70
description: "Use Session Replay to get reproductions of user sessions to improve your app experience."
---

Sentry has Session Replay for both Web and Mobile. But while Session Replay for Web has been available and stable, Mobile Replay is a recent addition and is currently in Beta.
Sentry has Session Replay for both Web and Mobile. Both are generally available and stable.

Learn more here:

Expand Down
16 changes: 4 additions & 12 deletions docs/product/explore/session-replay/mobile/index.mdx
Original file line number Diff line number Diff line change
@@ -1,17 +1,9 @@
---
title: "Session Replay for Mobile"
sidebar_order: 20
description: "Use Session Replay for mobile to get video-like reproductions of user sessions. You'll be able to repro issues faster and get a better understanding of user impact."
description: "Use Session Replay for Mobile to get reproductions of user sessions. You'll be able to repro issues faster and get a better understanding of user impact."
---

<Note>

Session Replay for mobile is currently in open beta for all plans except Enterprise. (If you’re on an Enterprise plan, please reach out to your Customer Success Manager for more information).

Beta features are still in progress and may have bugs. We recognize the irony. If you have any questions, feedback, or would like to report a bug, please open a GitHub issue with a link to a relevant replay ([Android](https://github.com/getsentry/sentry-java/issues/new/choose), [iOS](https://github.com/getsentry/sentry-cocoa/issues/new/choose), [React Native](https://github.com/getsentry/sentry-react-native/issues/new/choose) and [Flutter](https://github.com/getsentry/sentry-dart/issues/new/choose)).

</Note>

Session Replay allows you to see reproductions of user sessions, which can help you understand what happened before, during, and after an error or performance issue occurred. As you play back each session, you'll be able to see every user interaction in relation to network requests, frontend and backend errors, backend spans, and more.

Replays help you see exactly how the user experience is impacted by errors. Because they're integrated with our Issues product, you'll be able to see session replays connected to error events on the [Issue Details](/product/issues/issue-details/) page in Sentry. To make sure backend errors are also included in the replay, see our [backend set up instructions](/product/explore/session-replay/getting-started/#replays-for-backend-errors).
Expand All @@ -20,7 +12,7 @@ Replays help you see exactly how the user experience is impacted by errors. Beca

## What is Session Replay?

Session Replay for mobile works by taking snapshots of the view hierarchy as well as a screenshot within the same frame, at the rate of one per second. These screenshots are then compressed into a video file representing a segment of the user’s session. All these small segments are then streamed into Sentry with additional trace identifiers, breadcrumbs, and other useful debugging information to compose the full user session.
Session Replay for Mobile works by taking snapshots of the view hierarchy as well as a screenshot within the same frame, at the rate of one per second. These screenshots are then compressed into a video file representing a segment of the user’s session. All these small segments are then streamed into Sentry with additional trace identifiers, breadcrumbs, and other useful debugging information to compose the full user session.

The user session (replay) lasts until the user closes the app, the app crashes, the user puts the app in the background for over 30 seconds, or the session reaches 60 minutes in duration. The result is a video playback that can help you reproduce bugs in your mobile app, including hard-to-debug issues related to backend APIs and microservices.

Expand Down Expand Up @@ -82,12 +74,12 @@ If you experience any performance degradations after installing Session Replay,

**How much does it cost to use Session Replay for mobile?**

Session Replay for mobile is currently in open beta and can be used **free of charge**. At some point in the future, it will become a paid solution (similar to [Session Replay for web](https://sentry.io/pricing/)). The exact release date and pricing have yet to be determined.
Session Replay for Mobile is currently available for all plans. Check out our [pricing page](https://sentry.io/pricing/) for details.

**Are unhandled exceptions (for example, crashes) available as part of Session Replay for mobile?**

Currently, only handled exceptions will include a replay. We’re actively working on covering replays for crashes and ANRs and plan to support them for mobile in the coming weeks. Please refer to the SDK release notes for updates.

**How does Session Replay for mobile work if my app is offline?**

Session Replay for mobile currently doesn’t work in offline mode. We plan on adding support for at least a few segments leading up to errors and crashes. Please subscribe to this [GitHub issue](https://github.com/getsentry/sentry/issues/68287) for updates.
Session Replay for Mobile currently doesn’t work in offline mode. We plan on adding support for at least a few segments leading up to errors and crashes. Please subscribe to this [GitHub issue](https://github.com/getsentry/sentry/issues/68287) for updates.
4 changes: 2 additions & 2 deletions src/components/banner/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ const BANNERS: BannerType[] = [
'^/platforms/android/',
'^/platforms/apple/guides/ios/',
],
text: 'Session Replay is now available for mobile.',
text: 'Session Replay is now generally available for mobile.',
linkURL: 'https://docs.sentry.io/product/explore/session-replay/mobile/',
linkText: 'Try it in beta.',
linkText: 'Get started today.',
},
];

Expand Down
Loading