From 6049764b548e1480ba8008f5c6e4e038f3a1f2c7 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Thu, 3 Apr 2025 15:11:36 -0700 Subject: [PATCH 01/22] new pages and index --- pages/docs/tracking-methods/sdks.mdx | 8 ++++++++ pages/docs/tracking-methods/sdks/_meta.ts | 4 +++- pages/docs/tracking-methods/sdks/android-replay.mdx | 0 pages/docs/tracking-methods/sdks/swift-replay.mdx | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 pages/docs/tracking-methods/sdks/android-replay.mdx create mode 100644 pages/docs/tracking-methods/sdks/swift-replay.mdx diff --git a/pages/docs/tracking-methods/sdks.mdx b/pages/docs/tracking-methods/sdks.mdx index 7a6a05c6f2..d46a2a8f81 100644 --- a/pages/docs/tracking-methods/sdks.mdx +++ b/pages/docs/tracking-methods/sdks.mdx @@ -29,6 +29,14 @@ If you do not see an SDK in your preferred language, leverage our [HTTP APIs](ht +## Session Replay SDKs + + + + + + + ## Utility diff --git a/pages/docs/tracking-methods/sdks/_meta.ts b/pages/docs/tracking-methods/sdks/_meta.ts index 44fcb46f89..30b22a2778 100644 --- a/pages/docs/tracking-methods/sdks/_meta.ts +++ b/pages/docs/tracking-methods/sdks/_meta.ts @@ -16,5 +16,7 @@ export default { "title": "Mixpanel-utils↗", "href": "https://github.com/mixpanel/mixpanel-utils", "newWindow": true - } + }, + "android-replay": "Session Replay (Android)", + "swift-replay": "Session Replay (Swift)" } diff --git a/pages/docs/tracking-methods/sdks/android-replay.mdx b/pages/docs/tracking-methods/sdks/android-replay.mdx new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pages/docs/tracking-methods/sdks/swift-replay.mdx b/pages/docs/tracking-methods/sdks/swift-replay.mdx new file mode 100644 index 0000000000..15434bb1af --- /dev/null +++ b/pages/docs/tracking-methods/sdks/swift-replay.mdx @@ -0,0 +1 @@ +# Session Replay SDK (Swift) \ No newline at end of file From d6acd3c06a3387fc1f2e8b49de4865ad4c2b71c4 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Sun, 6 Apr 2025 19:49:49 -0700 Subject: [PATCH 02/22] top-level SR page (how to use) --- pages/docs/session-replay.mdx | 80 +++++++++++++++++------------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/pages/docs/session-replay.mdx b/pages/docs/session-replay.mdx index 6c3cb70fe9..6e50b95bfb 100644 --- a/pages/docs/session-replay.mdx +++ b/pages/docs/session-replay.mdx @@ -1,10 +1,10 @@ -import { Cards } from 'nextra/components' +import { Cards, Callout } from 'nextra/components' # Session Replay -Mixpanel Session Replay is the fastest way to understand the whole picture about your customers and make better product decisions, by combining quantitative and qualitative user insights. +Mixpanel Session Replay provides the fastest way to gain a comprehensive understanding of your customers and make informed product decisions by combining both quantitative and qualitative insights. -When digging into customer journeys in Mixpanel’s analytics, you can understand “**where** do customers drop-off?” And now, Mixpanel Session Replay enables you to quickly follow-up with, “**why** do customers drop off?” +While analyzing customer journeys using Mixpanel's analytics, you can identify **where** customers drop off. Now, with Mixpanel Session Replay, you can quickly follow up by exploring **why** customers drop off. ## Platform Availability @@ -32,46 +32,48 @@ Session Replay is available for customers on Free, Growth, and Enterprise plans: - Customers on the Growth and Enterprise plans have access to 20k free replays per month. - Additional custom volumes of Session Replay are available as an add-on purchase for [Enterprise plans](https://mixpanel.com/pricing/). -To access free replays, customers will need to ensure they’re on the latest Mixpanel plans: +To access free replays, customers will need to ensure they're on the latest Mixpanel plans: - For customers on an existing **Free** plan: - Switch your plan to the latest Free plan, which includes 1M monthly events and 10k session replays. You can make this switch directly from the [pricing page](https://mixpanel.com/pricing/). - For customers on an existing **Growth** plan: - - You're on the latest plan if you purchased or edited your plan after April 2024. If you’re not sure if you’re on the latest plan, you confirm on the pricing page - if you see ‘Make the Switch’ on the Growth plan, then you are on an older version. + - You're on the latest plan if you purchased or edited your plan after April 2024. If you are not sure if your organization is using the latest plan, you confirm on the pricing page - if you see "Make the Switch" on the Growth plan, then you are on an older version. - You can make the switch to our latest plan directly from the [pricing page](https://mixpanel.com/pricing/). - Enterprise customers should contact their account manager to determine their plan status. Customers who purchase the Session Replay add-on will be charged overages for any replays ingested beyond their purchased limit. To avoid disruptions, please monitor your usage regularly. For customers with complimentary Session Replays (whether through a sales discount, an included plan benefit, or our Startup Program), any replays exceeding the monthly or annual limit will first be hidden behind a paywall, and eventually be dropped. Replay usage is aggregated across all projects within your billing account. -## Using Session Replay +## Accessing Session Replay Session Replay can be accessed in three places: -1. From User Profile page +1. From the User Profile page 2. From Mixpanel reports 3. On the Home page for your project ### From User Profile page -In any user’s profile page, Click the ‘View Replays’ button to watch replays from that user. From here, you will be taken to our Replay Player. +In any user's profile page, Click the "View Replays" button to watch replays from that user. From here, you will be taken to our Replay Player. ![replayProfileEntry](/replayProfileEntryPoint.png) ### From Mixpanel reports -Click any point on a chart for Event, Funnel, and User Profile, and select ‘View Replays’ to view replays that show that event being fired. From here, you will be taken to our Replay Player. + + Reports entry point is currently supported for Event, Funnel, and User Profile metrics only. + -![replayReportEntry](/replayReportEntryPoint.png) +Click any point on a chart for Event, Funnel, and User Profile, and select "View Replays" to view replays that show that event being fired. From here, you will be taken to our Replay Player. -*Note: reports entry point is currently supported for Event, Funnel, and User Profile metrics only.* +![replayReportEntry](/replayReportEntryPoint.png) ### From the Home page -Find the Latest Replays card and click on individual replays to view them or click on ‘View All Replays‘ to see up to 100 of your latest replays. +Find the Latest Replays card and click on individual replays to view them or click on "View All Replays" to see up to 100 of your latest replays. ![replayHomeEntry](/replayHomeEntryPoint.png) -### Replay Player +## Replay Player ![replayHeroImageWithPrivacy](/replayHeroImageWithPrivacy.png) @@ -91,60 +93,58 @@ The Replay Feed on the left of the player also allows you to: - See a feed of events that occurred during each replay ## Heatmaps (Beta) -Heatmaps in Mixpanel help you visualize user interactions on your web application, showing where users click the most. This feature enables teams to quickly identify areas of high engagement and friction, helping to optimize user experiences and improve conversion rates. -Our initial version of heatmaps is a click map, which means it specifically tracks clicks on individual site elements rather than just overlaying general activity on a page. This provides more precise insights into which modals, dropdowns, or features that users engage with the most. + + Heatmaps are currently in private, closed beta. For early access, please contact your Account Manager. + + +Heatmaps help you visualize user interactions on your web application, showing where users click the most. This feature enables teams to quickly identify areas of high engagement and friction, helping to optimize user experiences and improve conversion rates. + +Our initial version of Heatmaps is a click map, which means it specifically tracks clicks on individual site elements rather than just overlaying general activity on a page. This provides more precise insights into which modals, dropdowns, or features that users engage with the most. Future versions may also include hovers, scroll depth, and other interaction types. -Heatmaps are currently in private, closed beta. For early access, please contact your Account Manager. +Enabling Heatmaps does not affect billing. They are included with the Session Replay add-on and do not generate additional billable events. ### How It Works -Heatmaps are powered by session replay data and automatically capture click interactions when enabled. Users can generate heatmaps for specific pages to get deeper insights into user engagement. +Heatmaps are powered by Session Replay data and automatically capture click interactions when enabled. Users can generate a Heatmap for specific pages to gain deeper insights into user engagement. + +To function, Heatmaps require Session Replay to be enabled, as they rely on session replay data to track and visualize user clicks. + +Heatmaps only capture data during sessions with recorded replays. If a page has limited replay coverage, the Heatmap may not offer meaningful insights. ### Implementation -Ensure you have Session Replay set up, and click interaction tracking enabled. Session Replays are required for Heatmaps to work. +Ensure you have Session Replay set up, and click interaction tracking enabled. Session Replays are required for Heatmaps to work. -Note: if you already utilize Mixpanel's [autocapture functionality](/docs/tracking-methods/autocapture) to capture clicks, then these clicks can be used to populate Heatmaps +If you currently use [Autocapture](/docs/tracking-methods/autocapture) to track clicks, you can leverage these clicks to populate the Heatmaps. ### Using Heatmaps 1. From the Home page, find the Heatmaps section 2. Choose a URL where you want to analyze user interactions. 3. To easily navigate back to a created Heatmap, you can click the title to rename the Heatmap -### Additional Notes -- Session Replay must be enabled for heatmaps to work, as heatmaps rely on session replay data to track and visualize user clicks. -- Enabling heatmaps does not impact billing. They’re included as part of the Session Replay add-on and do not generate additional billable events. -- Heatmaps only capture data during sessions where replays are recorded. If a page has limited replay coverage, the heatmap may not be meaningful. -- Currently, heatmaps track click interactions. Future versions may also include hovers, scroll depth, and other interaction types. - ## Server Side Stitching -Server-Side Stitching allows our customers to easily watch replays for events that aren’t fired from our SDK. - -It works by inferring the replay an event happened in by looking at the distinct ID and time that the replay occurred. This is especially useful if you have events coming in from multiple sources, like your server or via warehouse import and it doesn't make sense to pass around the value of `mixpanel.get_session_recording_properties()`. NOTE: we still recommend including these properties on your client side events to guarantee accuracy. +Server-Side Stitching allows you to easily watch replays for events that are not fired from our SDK. It works by inferring the replay an event happened in by looking at the distinct ID and time that the replay occurred. This is especially useful if you have events coming in from multiple sources such as your server or via warehouse import where it does not make sense to pass around the value of `mixpanel.get_session_recording_properties()`. (Note: we still recommend including these properties on your client side events to guarantee accuracy.) -As a result, this feature: -- makes it 10x easier to watch replays for events coming from your data warehouse -- makes it 10x easier to watch replays for server-side tracked events -- makes Session Replay work automatically with events tracked with your CDP *(although we still recommend using our [CDP middleware](/docs/session-replay-web#can-i-use-session-replay-with-a-cdp) to ensure data accuracy for cross tab / platform user sessions)* +This make it possible to watch replays for events tracked server-side, events coming from your data warehouse, and events tracked with your CDP (we still recommend using our [CDP middleware](/docs/session-replay-web#can-i-use-session-replay-with-a-cdp) to ensure data accuracy for cross tab/platform user sessions). | | **With Competitors** | **With Mixpanel** | **Value Add** | | --- | --- | --- | --- | -| **Events sent via Data Warehouses** | Can’t watch replays that contain without lots of custom code | Can easily watch replays that contain, just need our SDK to capture replays and make an `.identify()` call | **High** | -| **Events sent via APIs (e.g. server-side events)** | Can’t watch replays that contain without lots of custom code | Can easily watch replays that contain, just need our SDK to capture replays and make an `.identify()` call | **High** | -| **Events sent via Customer Data Platform** | Middleware required to watch replays that contain a specific event | You don’t need middleware to watch replays that contain specific events. However, we recommend adding middleware to handle edge cases where replays may not be associated with the right events (simultaneous sessions across tabs, domains, or apps) | **Medium** | +| **Events sent via Data Warehouses** | Cannot watch replays that contain without lots of custom code | Can easily watch replays that contain, just need our SDK to capture replays and make an `.identify()` call | **High** | +| **Events sent via APIs (e.g. server-side events)** | Cannot watch replays that contain without lots of custom code | Can easily watch replays that contain, just need our SDK to capture replays and make an `.identify()` call | **High** | +| **Events sent via Customer Data Platform** | Middleware required to watch replays that contain a specific event | You do not need middleware to watch replays that contain specific events. However, we recommend adding middleware to handle edge cases where replays may not be associated with the right events (simultaneous sessions across tabs, domains, or apps) | **Medium** | | **Events sent via Client-Side SDK** | Can easily watch replays that contain a specific event | Can easily watch replays that contain a specific event | **Low** | -In order for Server Side Stitching to work, just ensure that the Mixpanel Javascript SDK calls `identify()` at some point with the user's unique Distinct ID. [See managing user identity](/docs/tracking-methods/sdks/javascript#managing-user-identity). +To ensure Server-Side Stitching works, call `identify()` from the client-side using our SDK with the user's unique Distinct ID. This guarantees that events generated from both the client-side and server-side share the same Distinct ID. [Learn more about identifying users](/docs/tracking-methods/id-management/identifying-users-simplified#client-side-identity-management). ## FAQ ### What happens when I reach my Session Replay limit? -For customers who have purchased our Session Replay add-on, you will be billed for replays ingested beyond your purchased amount at the per unit rate. Before this happens, we'll send email notifications warning that your limit is approaching to users with “Owner” or “Billing Admin” permissions over your Mixpanel organization. +Customers who have purchased the Session Replay add-on will be billed for replays ingested beyond the purchased amount at the ala carte rate. We will send email notifications to [organization Owners and Billing Admins](/docs/orgs-and-projects/roles-and-permissions#organization-roles) as your projects approaches the data allowance of your subscription plan. -For customers using Session Replay who have not purchased our add-on (for example, using complimentary replays included with your Free, Growth, or Enterprise plan), replays above your complimentary amount will not be viewable until you upgrade your plan. Before this happens, users with “Owner” or “Billing Admin” permissions over your Mixpanel organization will be notified that their limit is approaching. +Customers using Session Replay without purchasing the add-on (e.g., those using complimentary replays included with the Free, Growth, or Enterprise plans) will be unable to view replays once they reach the data allowance, unless they upgrade. We will send email notifications to [organization Owners and Billing Admins](/docs/orgs-and-projects/roles-and-permissions#organization-roles) as your projects approaches the data allowance of your subscription plan. -Mixpanel reserves the right to stop ingesting replays once a customer collects replays beyond their purchased / allocated amount. To minimize disruption to your team, we recommend monitoring your usage in Mixpanel’s user interface and, if applicable to your account, working with your Account Manager to ensure you have the right plan for your session replay needs. +Mixpanel reserves the right to stop ingesting replays once a customer collects replays beyond their purchased/allocated amount. To minimize disruption to your team, we recommend monitoring your data usage in the organization settings and working with your Account Manager (if applicable) to ensure you have the right plan for your needs. ### How soon are Replays available for viewing after a session begins? -There is about a ~1 minute delay between when recordings are captured and when they appear in Mixpanel. +There is about a ~1 minute delay between when recordings are captured and when they appear in Mixpanel. From a1a00f0d5ae2f54325accbb39bafdfd706ce078b Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Sun, 6 Apr 2025 20:24:00 -0700 Subject: [PATCH 03/22] add FAQ to top-level page --- pages/docs/session-replay.mdx | 43 +++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/pages/docs/session-replay.mdx b/pages/docs/session-replay.mdx index 6e50b95bfb..0fd76ecbf1 100644 --- a/pages/docs/session-replay.mdx +++ b/pages/docs/session-replay.mdx @@ -28,24 +28,25 @@ Before you enable Session Replay for a large audience, we recommend testing in a ## Plan Availability Session Replay is available for customers on Free, Growth, and Enterprise plans: -- Customers on the Free plan have access to 10k free replays per month. -- Customers on the Growth and Enterprise plans have access to 20k free replays per month. -- Additional custom volumes of Session Replay are available as an add-on purchase for [Enterprise plans](https://mixpanel.com/pricing/). -To access free replays, customers will need to ensure they're on the latest Mixpanel plans: +| Plan | Replay Allowance | +|------------|--------------------------------------------------------------------------| +| Free | 10k free Replays per month | +| Growth | 20k free Replays per month | +| Enterprise | 20k free Replays per month ([additional Replays available as an add-on](https://mixpanel.com/pricing/))| + +Customers must be on the latest Mixpanel plans to access free replays. - For customers on an existing **Free** plan: - Switch your plan to the latest Free plan, which includes 1M monthly events and 10k session replays. You can make this switch directly from the [pricing page](https://mixpanel.com/pricing/). - For customers on an existing **Growth** plan: - You're on the latest plan if you purchased or edited your plan after April 2024. If you are not sure if your organization is using the latest plan, you confirm on the pricing page - if you see "Make the Switch" on the Growth plan, then you are on an older version. - You can make the switch to our latest plan directly from the [pricing page](https://mixpanel.com/pricing/). -- Enterprise customers should contact their account manager to determine their plan status. - -Customers who purchase the Session Replay add-on will be charged overages for any replays ingested beyond their purchased limit. To avoid disruptions, please monitor your usage regularly. For customers with complimentary Session Replays (whether through a sales discount, an included plan benefit, or our Startup Program), any replays exceeding the monthly or annual limit will first be hidden behind a paywall, and eventually be dropped. Replay usage is aggregated across all projects within your billing account. +- Enterprise customers should contact their Account Manager to determine their plan status. -## Accessing Session Replay +## Watching Replays -Session Replay can be accessed in three places: +Replays can be viewed in three places: 1. From the User Profile page 2. From Mixpanel reports @@ -73,7 +74,7 @@ Find the Latest Replays card and click on individual replays to view them or cli ![replayHomeEntry](/replayHomeEntryPoint.png) -## Replay Player +### Replay Player ![replayHeroImageWithPrivacy](/replayHeroImageWithPrivacy.png) @@ -148,3 +149,25 @@ Mixpanel reserves the right to stop ingesting replays once a customer collects r ### How soon are Replays available for viewing after a session begins? There is about a ~1 minute delay between when recordings are captured and when they appear in Mixpanel. + +### How long are replays stored? + +Replays are stored for 30 days. + +### Why does it say the player failed to load? + +To maintain a high level of security, Mixpanel runs your session replays in an isolated domain through an iframe. Occasionally, this domain may be blocked by an ad blocker or specific browser settings. We recommend disabling any ad blockers, or whitelisting the Mixpanel domain. + +For extensions like uBlock, go to "My Filters" in the extension settings and add the following custom filter: + +``` +@@||mxpnl.com^$domain=mxpnl.com +``` + +### Why can't I see the "View Replays" button in the UI? + +You will not see the "View Replays" button if your organization is on an older plan. You will need to update to the latest plan to use Session Replay (see [here](/docs/session-replay#plan-availability) for details). + +### Can I use Session Replay with a CDP? + +Yes. You can use Session Replay with CDPs like Segment and mParticle. In order to use Session Replay, your app must include the Mixpanel SDK with Session Replay enabled. \ No newline at end of file From ca0eef6be9596dc4cd5b041b118a2125e1918acb Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Sun, 6 Apr 2025 23:44:25 -0700 Subject: [PATCH 04/22] SR developer guide Web --- pages/docs/session-replay.mdx | 66 ++-- pages/docs/session-replay/_meta.ts | 6 +- .../implement-session-replay.mdx | 20 + .../implement-session-replay/_meta.ts | 5 + .../session-replay-android.md | 0 .../session-replay-ios.md | 0 .../session-replay-web.mdx | 347 ++++++++++++++++++ .../docs/session-replay/session-replay-web.md | 290 --------------- 8 files changed, 412 insertions(+), 322 deletions(-) create mode 100644 pages/docs/session-replay/implement-session-replay.mdx create mode 100644 pages/docs/session-replay/implement-session-replay/_meta.ts rename pages/docs/session-replay/{ => implement-session-replay}/session-replay-android.md (100%) rename pages/docs/session-replay/{ => implement-session-replay}/session-replay-ios.md (100%) create mode 100644 pages/docs/session-replay/implement-session-replay/session-replay-web.mdx delete mode 100644 pages/docs/session-replay/session-replay-web.md diff --git a/pages/docs/session-replay.mdx b/pages/docs/session-replay.mdx index 0fd76ecbf1..21276a0aa6 100644 --- a/pages/docs/session-replay.mdx +++ b/pages/docs/session-replay.mdx @@ -1,30 +1,11 @@ import { Cards, Callout } from 'nextra/components' -# Session Replay +# Session Replay: Watch playbacks of user digital experiences Mixpanel Session Replay provides the fastest way to gain a comprehensive understanding of your customers and make informed product decisions by combining both quantitative and qualitative insights. While analyzing customer journeys using Mixpanel's analytics, you can identify **where** customers drop off. Now, with Mixpanel Session Replay, you can quickly follow up by exploring **why** customers drop off. -## Platform Availability - -We currently support two platforms: - - - - - - -## Implementation -Session Replay is not enabled by default; enabling the feature requires instrumentation beyond the standard Mixpanel instrumentation. However, in most cases, implementation is extremely simple, only requiring a single line of code to be changed. - -- Our documentation on how to implement Session Replay with our Javascript SDK can be found [here](/docs/tracking-methods/sdks/javascript#session-replay) -- Our documentation on how to implement Session Replay with CDPs (like Segment and mParticle) can be found [here](/docs/session-replay/session-replay-web#can-i-use-session-replay-with-a-cdp). - -Replays sent via your implementation will only be viewable in the project they were ingested in and will not be available to other projects in your org. - -Before you enable Session Replay for a large audience, we recommend testing in a demo project, and starting in production with smaller sets of users or accounts, so that you can monitor performance and ensure your privacy rules align with company policies. - ## Plan Availability Session Replay is available for customers on Free, Growth, and Enterprise plans: @@ -44,8 +25,24 @@ Customers must be on the latest Mixpanel plans to access free replays. - You can make the switch to our latest plan directly from the [pricing page](https://mixpanel.com/pricing/). - Enterprise customers should contact their Account Manager to determine their plan status. +## Implementation + +Session Replay is supported on three platforms: Web, iOS, and Android. You can use Session Replay with CDPs (e.g., Segment and mParticle) through the Web platform. + +See our developer guides on implementing Session Replay for these platforms below: + + + + + + + ## Watching Replays + +User replays are stored for 30 days after the time of ingestion. There is no way to view a replay older than 30 days old. + + Replays can be viewed in three places: 1. From the User Profile page @@ -139,22 +136,22 @@ To ensure Server-Side Stitching works, call `identify()` from the client-side us ## FAQ -### What happens when I reach my Session Replay limit? +#### What happens when I reach my Session Replay limit? Customers who have purchased the Session Replay add-on will be billed for replays ingested beyond the purchased amount at the ala carte rate. We will send email notifications to [organization Owners and Billing Admins](/docs/orgs-and-projects/roles-and-permissions#organization-roles) as your projects approaches the data allowance of your subscription plan. Customers using Session Replay without purchasing the add-on (e.g., those using complimentary replays included with the Free, Growth, or Enterprise plans) will be unable to view replays once they reach the data allowance, unless they upgrade. We will send email notifications to [organization Owners and Billing Admins](/docs/orgs-and-projects/roles-and-permissions#organization-roles) as your projects approaches the data allowance of your subscription plan. Mixpanel reserves the right to stop ingesting replays once a customer collects replays beyond their purchased/allocated amount. To minimize disruption to your team, we recommend monitoring your data usage in the organization settings and working with your Account Manager (if applicable) to ensure you have the right plan for your needs. -### How soon are Replays available for viewing after a session begins? +#### How soon are Replays available for viewing after a session begins? -There is about a ~1 minute delay between when recordings are captured and when they appear in Mixpanel. +Replays are available for viewing in Mixpanel ~1 minute after the recording is captured. -### How long are replays stored? +#### How long are replays stored? Replays are stored for 30 days. -### Why does it say the player failed to load? +#### Why does it say the player failed to load? To maintain a high level of security, Mixpanel runs your session replays in an isolated domain through an iframe. Occasionally, this domain may be blocked by an ad blocker or specific browser settings. We recommend disabling any ad blockers, or whitelisting the Mixpanel domain. @@ -164,10 +161,23 @@ For extensions like uBlock, go to "My Filters" in the extension settings and add @@||mxpnl.com^$domain=mxpnl.com ``` -### Why can't I see the "View Replays" button in the UI? +#### Why can't I see the "View Replays" button in the UI? You will not see the "View Replays" button if your organization is on an older plan. You will need to update to the latest plan to use Session Replay (see [here](/docs/session-replay#plan-availability) for details). -### Can I use Session Replay with a CDP? +#### Can I use Session Replay with a CDP? + +You can use Session Replay with CDPs (e.g., Segment and mParticle) for the web platform. Your app must include the Mixpanel Javascript SDK, with Session Replay enabled. Learn more in the technical guide [here](/docs/session-replay/implement-session-replay/session-replay-web). + +#### How can I estimate how many Replays I will generate? + +If you already use Mixpanel, the [Session Start events](/docs/features/sessions) are a way to estimate the rough amount of replays you might expect. This is especially true if you use timeout-based query sessions. However, because our sessions are defined at query time, we cannot guarantee these metrics will be directly correlated. + +When you enable Session Replay, use the above proxy metric to determine a starting sampling percentage, which will determine how many replays will be sent. You can always adjust this as you go to calibrate to the right level. + +#### Am I able to sample our Session Replay collection rate? + +Yes, you can configure the percentage of total replays that our SDK will capture as a sampling rate or manually trigger/end replay capture. See the developers guide for [implementing Session Replay](/docs/session-replay/implement-session-replay) to learn more about sampling and manual capture. + + -Yes. You can use Session Replay with CDPs like Segment and mParticle. In order to use Session Replay, your app must include the Mixpanel SDK with Session Replay enabled. \ No newline at end of file diff --git a/pages/docs/session-replay/_meta.ts b/pages/docs/session-replay/_meta.ts index 49620d3e01..35de5c37b0 100644 --- a/pages/docs/session-replay/_meta.ts +++ b/pages/docs/session-replay/_meta.ts @@ -1,6 +1,4 @@ export default { - "session-replay-web": "Web", - "session-replay-ios": "iOS (Beta)", - "session-replay-android": "Android (Alpha)", - "session-replay-privacy-controls": "Privacy Controls" + "implement-session-replay": "Implement Session Replay", + "session-replay-privacy-controls": "Session Replay Privacy Controls" } diff --git a/pages/docs/session-replay/implement-session-replay.mdx b/pages/docs/session-replay/implement-session-replay.mdx new file mode 100644 index 0000000000..30cc16b3ba --- /dev/null +++ b/pages/docs/session-replay/implement-session-replay.mdx @@ -0,0 +1,20 @@ +import { Cards } from 'nextra/components' + +# Implement Session Replay + +Session Replay is supported on three platforms: Web, iOS, and Android. You can use Session Replay with CDPs (e.g., Segment and mParticle) through the Web platform. + +See our developer guides on implementing Session Replay for these platforms below: + +## Web + + + + + +## Mobile + + + + + \ No newline at end of file diff --git a/pages/docs/session-replay/implement-session-replay/_meta.ts b/pages/docs/session-replay/implement-session-replay/_meta.ts new file mode 100644 index 0000000000..67ae08f843 --- /dev/null +++ b/pages/docs/session-replay/implement-session-replay/_meta.ts @@ -0,0 +1,5 @@ +export default { + "session-replay-web": "Web", + "session-replay-ios": "iOS (beta)", + "session-replay-android": "Android (alpha)" +} \ No newline at end of file diff --git a/pages/docs/session-replay/session-replay-android.md b/pages/docs/session-replay/implement-session-replay/session-replay-android.md similarity index 100% rename from pages/docs/session-replay/session-replay-android.md rename to pages/docs/session-replay/implement-session-replay/session-replay-android.md diff --git a/pages/docs/session-replay/session-replay-ios.md b/pages/docs/session-replay/implement-session-replay/session-replay-ios.md similarity index 100% rename from pages/docs/session-replay/session-replay-ios.md rename to pages/docs/session-replay/implement-session-replay/session-replay-ios.md diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx new file mode 100644 index 0000000000..ceff52fe1a --- /dev/null +++ b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx @@ -0,0 +1,347 @@ +import { Callout } from 'nextra/components' + +# Implement Session Replay (Web) + + +Before enabling Session Replay for a large audience, we recommend testing it in a demo project and starting with smaller user or account sets in production. This allows you to monitor performance and ensure your privacy rules align with company policies. + + +## Overview + +This developer guide will assist you in configuring your web platform for [Session Replay](/docs/session-replay) using the [Mixpanel JavaScript SDK](/docs/tracking-methods/sdks/javascript). Learn more about viewing captured Replays in your project [here](/docs/session-replay). + +By default, Session Replay is disabled and will not be loaded into your application until explicitly enabled. In most cases, implementation is extremely simple, requiring only a single line of code to be changed. + +## Prerequisite + +You are a Mixpanel customer and have the latest version of the Mixpanel Javascript SDK installed (minimum supported version is [v2.50.0](https://github.com/mixpanel/mixpanel-js/releases/tag/v2.50.0)). If not, please follow [this doc](/docs/quickstart/install-mixpanel) to install the SDK. + +## Capturing Replays + +You can capturing replay data for a sample of your users during SDK initialization, or customize when and where replays are captured manually using Session Replay methods provided by the SDK. + +We recommend using the sampling method unless you need to customize when you capture replay data. + +### Sampling + +To enable Session Replay and set your sampling rate, set the `recording_sessions_percent` when initializing the SDK. This is the only change needed in your existing JavaScript SDK setup to enable Session Replay. + +Start with a low sampling rate, then adjust according to your specific analytics needs. + +**Example Usage** + +```javascript Javascript +mixpanel.init( + "", + { + record_sessions_percent: 1 //records 1% of all sessions + } +); +``` + +### Manual Capture + +To programatically start and stop replay capture, use the `start_session_recording()` and `stop_session_recording()` methods. This is optional, and can be used primarily to programmatically start and stop recording, or exclude something specific from recording. + +#### Start Capturing Replay Data + +Call `start_session_recording()` to force recording to begin, regardless of the `record_sessions_percent` init option. + +This will have no effect if replay data collection is already in progress. + +**Example Usage** + +```javascript Javascript +mixpanel.start_session_recording(); +``` + +#### Stop Capturing Replay Data + +Call `stop_session_recording()` to stop any active replay data collection. + +This will have no effect if there is no replay data collection in progress. + +**Example Usage** + +```javascript Javascript +mixpanel.stop_session_recording(); +``` + +#### Example Scenarios + +| Scenario | Guidance | +| --- | --- | +| We have a sensitive screen we don't want to capture | When user is about to access the sensitive screen, call `mixpanel.stop_session_recording()`. To resume recording once they leave this screen, you can resume recording with `mixpanel.start_session_recording()` | +| We only want to record certain types of users (e.g. Free plan users only) | Using your application code, determine if current user meets the criteria of users you wish to capture. If they do, then call `mixpanel.start_session_recording()` to force recording on | +| We only want to users utilizing certain features | When user is about to access the feature you wish to capture replays for, call `mixpanel.start_session_recording()` to force recording on | + + +### Additional Configuration Options + +You can customize the behavior of replay captures by using the init options outlined below. + +**Example Usage** + +```javascript Javascript +mixpanel.init( + "", + { + record_sessions_percent: 1, //records 1% of all sessions + record_idle_timeout_ms: 1800000 //End a replay capture after 30mins of inactivity + } +); +``` + +#### Init Options + +| Option | Description | Default | +| --- | --- | --- | +| `record_block_class` | CSS class name or regular expression for elements which will be replaced with an empty element of the same dimensions, blocking all contents. | `new RegExp('^(mp-block\|fs-exclude\|amp-block\|rr-block\|ph-no-capture)$')`
(common industry block classes) | +| `record_block_selector` | CSS selector for elements which will be replaced with an empty element of the same dimensions, blocking all contents. | `"img, video"` | +| `record_collect_fonts` | When true, Mixpanel will collect and store the fonts on your site to use in playback. | `false` | +| `record_idle_timeout_ms` | Duration of inactivity in milliseconds before ending a contiguous replay. A new replay collection will start when active again. | `1800000`
(30 minutes) | +| `record_mask_text_class` | CSS class name or regular expression for elements that will have their text contents masked. | `new RegExp('^(mp-mask\|fs-mask\|amp-mask\|rr-mask\|ph-mask)$')`
(common industry mask classes) | +| `record_mask_text_selector` | CSS selector for elements that will have their text contents masked. | `"*"` | +| `record_max_ms` | Maximum length of a single replay in milliseconds. Up to 24 hours is supported. Once a replay has reached the maximum length, a new one will begin. | `86400000`
(24 hours) | +| `record_min_ms` | Minimum length of a single replay in milliseconds. Up to 8 seconds is supported. If a replay does not meet the minimum length, it will be discarded. | `0`
(0 seconds) | +| `record_sessions_percent` | Percentage of SDK initializations that will qualify for replay data capture. A value of "1" = 1%. | `0` | +| `record_canvas` | When true, Mixpanel will record snapshots of `` elements on your site at up to 15 frames per second | `false` | + +## Replay ID + +When a replay capture begins, a Replay ID is generated by the SDK and is attached as an event property (`$mp_replay_id`) to events tracked by the SDK during the capture session. Events containing the same `$mp_replay_id` will appear in the same Replay. + +If you are sending any events not coming from the SDK, add the `$mp_replay_id` event property to attribute the event to a specific Replay. + +You can use the `get_session_recording_properties()` method to return the Replay ID for the current replay capture. The method will return an empty object if there is no active replay capture in progress. + +**Example Usage** + +```javascript Javascript +mixpanel.get_session_recording_properties(); +// {$mp_replay_id: '19221397401184-063a51e0c3d58d-17525637-1d73c0-1919139740f185'} +``` + +### Server-side Stitching + + + We still recommend including the `$mp_replay_id` property on your events regardless of Server-side Stitching for guaranteed accuracy. + + +Server-Side Stitching allows you to easily watch Replays for events that were not fired from the SDK. + +It works by inferring the Replay that an event belong using the Distinct ID and time property attached to the event. This is especially useful if you have events coming in from multiple sources (E.g. your server or warehouse import) and it does not make sense to pass around the value of `mixpanel.get_session_recording_properties()`. + +For example, let's say a user with Distinct ID "ABC" has a Replay recorded from 1-2pm. Two hours later, an event was sent from your warehouse with a timestamp of 1:35pm with Distinct ID "ABC". Server-side Stitching will infer that the event should belong in the same Replay. + +To ensure Server-Side Stitching works, call [`identify()`](/docs/tracking-methods/sdks/javascript#identify) from the client-side using our SDK with the user's `$user_id`. This guarantees that events generated from both the client-side and server-side share the same Distinct ID. Learn more about [identifying users](/docs/tracking-methods/id-management). + +## Replay URL + + + Replay URLs are accessible only by authenticated users with the necessary permissions for the Mixpanel project. + + +You can programatically generate URL links to view the current Replay in the Mixpanel UI using the `get_session_replay_url()` method. The method will return null if there is no Replay in progress. + +This is useful for debugging or for adding metadata to other platforms. (E.g. adding replay URL to support tickets for troubleshooting) + +**Example Usage** + +```javascript Javascript +mixpanel.get_session_replay_url(); +// https://mixpanel.com/projects/replay-redirect?replay_id=19307d78e24394fe15-0cd98d8fd9ad1d-1f525636-4b9600-19307d78e28194fe15&distinct_id=123&token=my-project-token +``` + +## Debugging + + +`$mp_session_record` is exempt from your plan data allowance. + + +When a Replay capture begins, a "Session Recording Checkpoint" event will appear in your project, tracked as `$mp_session_record`. You may use this event to verify whether you have implemented Session Replay correctly. + +If you are using the [recommended sampling method](/docs/session-replay/implement-session-replay/session-replay-web#sampling) to capture your Replays but having trouble finding the Replays in your project, try calling `start_session_recording()` manually and see if the `$mp_session_record` event appears. If it does appear but you are still struggling to locate your Replays, you may want to increase your sampling rate. + +You can also check the Home page for your project to check for any recent Replays listed in the "Latest Replays" card. + +If you are still struggling to implement, [submit a request to our Support team](https://mixpanel.com/get-support) for more assistance. + +## Session Replay with a CDP + +You can use Session Replay with customer data platforms (CDPs), such as [Segment](https://segment.com/) and [mParticle](https://www.mparticle.com/). + +In order to use Session Replay, your app must have the [Mixpanel Javascript SDK installed](/docs/tracking-methods/sdks/javascript#installing-the-library) with [Session Replay enabled](/docs/session-replay/implement-session-replay/session-replay-web#capturing-replays). + +Once you have included the Mixpanel SDK in your app add the following code snippets in order to connect your CDP's data stream with Mixpanel's Session Replay. + +### Segment: Analytics.js + +By [adding middleware to Segment's SDK](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/middleware/) we can ensure that all event calls include the session replay properties. We can also ensure that any [identify](https://segment.com/docs/connections/spec/identify/) calls are also passed to Mixpanel. + +```javascript Javascript +// Middleware to add Mixpanel's session recording properties to Segment events +analytics.addSourceMiddleware(({ payload, next, integrations }) => { + if (payload.obj.type === 'track' || payload.obj.type === 'page') { + if (window.mixpanel) { + const segmentDeviceId = payload.obj.anonymousId; + // ------------------------------------------- + // Comment out one of the below mixpanel.register methods depending on your ID Management Version + // Original ID Merge + mixpanel.register({ $device_id: segmentDeviceId, distinct_id : segmentDeviceId }); + // Simplified ID Merge + mixpanel.register({ $device_id: segmentDeviceId, distinct_id : "$device:"+segmentDeviceId }); + // ------------------------------------------- + const sessionReplayProperties = mixpanel.get_session_recording_properties(); + payload.obj.properties = { + ...payload.obj.properties, + ...sessionReplayProperties + }; + } + } + if (payload.obj.type === 'identify') { + if (window.mixpanel) { + const userId = payload.obj.userId; + mixpanel.identify(userId); + } + } + next(payload); +}); +``` + +### mParticle: Web SDK + +mParticle's Web SDK has a `.getDeviceId()` method which can be used to [retrieve the device_id](https://docs.mparticle.com/developers/client-sdks/web/initialization/#device-id-device-application-stamp). In the following example, we use this method to bind mParticle's device_id to Mixpanel's device_id, as well as patching [logPageView()](https://docs.mparticle.com/developers/sdk/web/core-apidocs/classes/mParticle%20&%20mParticleInstance.html#method_logPageView) and [logEvent()](https://docs.mparticle.com/developers/sdk/web/core-apidocs/classes/mParticle%20&%20mParticleInstance.html#method_logEvent) to include session replay properties on all mParticle events. + +This configuration assumes you are [forwarding web requests server side](https://docs.mparticle.com/integrations/mixpanel/event/#connection-settings) in the connection settings. + +```javascript Javascript +mixpanel.init('MIXPANEL-PROJECT-TOKEN', { + record_sessions_percent: 10, + loaded: function (mixpanel) { + window.mParticle.ready(function() { + const mParticle_device_id = mParticle.getDeviceId(); + if (mParticle_device_id) { + mixpanel.register({ $device_id: mParticle_device_id, distinct_id : "$device:"+mParticle_device_id }); + } + + // Patch logEvent and logPageView to include sessionReplayProperties + const originalLogEvent = mParticle.logEvent; + mParticle.logEvent = function (eventName, eventType, eventAttributes, flags, opts) { + const sessionReplayProperties = mixpanel.get_session_recording_properties(); + eventAttributes = { + ...eventAttributes, + ...sessionReplayProperties, + }; + originalLogEvent(eventName, eventType, eventAttributes, flags, opts); + }; + const originalLogPageView = mParticle.logPageView; + mParticle.logPageView = function (eventName, eventAttributes, flags, opts) { + const sessionReplayProperties = mixpanel.get_session_recording_properties(); + eventAttributes = { + ...eventAttributes, + ...sessionReplayProperties, + }; + originalLogPageView(eventName, eventAttributes, flags, opts); + }; + }); + } +}); +``` + +### Rudderstack: Cloud Mode + +Rudderstack's Javascript SDK has a `.getAnonymousId()` method which can be used to [retrieve the device_id](https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/supported-api/#retrieving-anonymous-id). In the following example, we use this method to bind Rudderstack's anonymousId to Mixpanel's device_id, as well as patching [track](https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/supported-api/#track) and [page](https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/supported-api/#page) event methods to include session replay properties on every Rudderstack event. + +```javascript Javascript +mixpanel.init('MIXPANEL-PROJECT-TOKEN', { + record_sessions_percent: 10, + loaded: function (mixpanel) { + window.rudderanalytics.ready(function() { + const rudderAnonymousId = rudderanalytics.getAnonymousId(); + if (rudderAnonymousId) { + mixpanel.register({ $device_id: rudderAnonymousId, distinct_id : "$device:"+rudderAnonymousId }); + } + + // Patch track method to include sessionReplayProperties + const originalTrack = rudderanalytics.track; + rudderanalytics.track = function (eventName, eventProperties, options, callback) { + const sessionReplayProperties = mixpanel.get_session_recording_properties(); + eventProperties = { + ...eventProperties, + ...sessionReplayProperties, + }; + originalTrack(eventName, eventProperties, options, callback); + }; + + // Patch page method to include sessionReplayProperties + const originalPage = rudderanalytics.page; + rudderanalytics.page = function (category, name, properties, options, callback) { + const sessionReplayProperties = mixpanel.get_session_recording_properties(); + properties = { + ...properties, + ...sessionReplayProperties, + }; + originalPage(category, name, properties, options, callback); + }; + }); + } +}); +``` + +### Google Tag Manager + +You can use session replay with Google Tag Manager (GTM). First, make sure you have the [Mixpanel GTM Template](/docs/tracking-methods/integrations/google-tag-manager) installed in your workspace. + +Once that is added, you can add a new Mixpanel tag to your workspace which turns on Session Replay by following these instructions: + +- Add a new tag, and choose the Mixpanel tag type. +- For `Project Token` fill in your Mixpanel project's token +- For `Tag Type` choose `init` from the dropdown +- For `Initialization` choose `Set Options Manually` +- In the `Option key` / `Option value` dropdown, ensure you choose `record_sessions_percent` and the value should be a number between 1 and 100. +- This is also where you can configure other [Session Replay options](/docs/tracking-methods/sdks/javascript#init-options) like `record_block_class` etc... +- For the `Triggering` section, you'll want to choose something [early in the GTM lifecycle](https://support.google.com/tagmanager/answer/7679319?hl=en); typically this is `Initialization - All Pages` or `Consent Initialization - All Pages` to ensure that Session Replay starts recording as soon as the GTM container is initialized. +- Save + Deploy this template to your website and you should be up and going with session replay + +Here's a screenshot of a working session replay tag for a visual comparison: + + + +## Privacy + +Mixpanel offers a privacy-first approach to Session Replay, including features such as data masking. Mixpanel's Session Replay privacy controls were designed to assist customers in protecting end user privacy. Read more [here](/docs/session-replay/session-replay-privacy-controls). + +### User Data + +The Mixpanel SDK will always mask all inputs. By default, all text on a page will also be masked unless a different `record_mask_text_selector` is specified (see [Additional Configuration](/docs/session-replay/implement-session-replay/session-replay-web#additional-configuration-options) above). + +### Retention + +User replays are stored for 30 days after the time of ingestion. There is no way to view a replay older than 30 days old. + +## FAQ + +#### Can I prevent Session Replay from recording sensitive content? + +By default, all on-screen text elements are masked in replays. Additionally, you can customize how you leverage our SDK to fully control (1) where to record and (2) whom to record. Consider the [example scenarios](/docs/session-replay/implement-session-replay/session-replay-web#example-scenarios) and [init options](/docs/session-replay/implement-session-replay/session-replay-web#init-options) provided above to customize the replay capture of your implementation. + +#### How can I estimate how many Replays I will generate? + +If you already use Mixpanel, the [Session Start events](/docs/features/sessions) are a way to estimate the rough amount of replays you might expect. This is especially true if you use timeout-based query sessions. However, because our sessions are defined at query time, we cannot guarantee these metrics will be directly correlated. + +When you enable Session Replay, use the above proxy metric to determine a starting sampling percentage, which will determine how many replays will be sent. You can always adjust this as you go to calibrate to the right level. + +#### How does Session Replay affect my website's performance? + +Mixpanel leverages the open-source library, [rrweb](https://github.com/rrweb-io/rrweb), to power Session Replay. Both rrweb and Mixpanel are designed with the highest standards of performance in mind. + +Below is a high-level overview of how the SDK will work on your website: + +- Initial Snapshot: When recording starts, rrweb takes a snapshot of the entire webpage's structure (the DOM), assigning unique IDs to each element for change tracking. +- Change Detection: Asynchronously monitors any changes that occur to the DOM using MutationObserver, minimizing work so that we do not need to keep taking full snapshots. +- User Interactions: Listens for actions like clicks and mouse movements and throttles any high frequency events. +- Collection & Delivery: Mixpanel collects the recording data and sends it to our servers in batches every 10 seconds. +- Optimized Compression: Before sending, Mixpanel will compress the payload using the asynchronous CompressionStream API. This will optimize bandwidth while not blocking the UI thread. + +We have tested the SDK extensively and it generally has minimal impact on how your website performs. The initial snapshot takes a bit of work, and naturally, more complex and interactive pages generate more data for rrweb and Mixpanel to handle. So, it is always a good practice to do some performance testing after you have implemented Session Replay, just to be sure everything is running smoothly. \ No newline at end of file diff --git a/pages/docs/session-replay/session-replay-web.md b/pages/docs/session-replay/session-replay-web.md deleted file mode 100644 index bf4eaba7e8..0000000000 --- a/pages/docs/session-replay/session-replay-web.md +++ /dev/null @@ -1,290 +0,0 @@ -# Session Replay (Web): Watch playbacks of user digital experiences - -## Overview - -Mixpanel Session Replay is the fastest way to understand the whole picture about your customers and make better product decisions, by combining quantitative and qualitative user insights. - -When digging into customer journeys in Mixpanel’s analytics, you can understand “**where** do customers drop-off?” And now, Mixpanel Session Replay enables you to quickly follow-up with, “**why** do customers drop off?” - -## Availability - -Session Replay is available on the Free, Growth, and Enterprise plans! - -- Customers on the Free plan have access to 10k free replays per month. -- Customers on the Growth and Enterprise plans have access to 20k free replays per month. -- Additional custom volumes of Session Replay are available as an add-on purchase for [Enterprise plans](https://mixpanel.com/pricing/). - -To access free replays, customers will need to ensure they’re on the latest Mixpanel plans: - -- For customers on an existing **Free** plan: - - Switch your plan to the latest Free plan, which includes 1M monthly events and 10k session replays. You can make this switch directly from the [pricing page](https://mixpanel.com/pricing/). -- For customers on an existing **Growth** plan: - - You're on the latest plan if you purchased or edited your plan after April 2024. If you’re not sure if you’re on the latest plan, you confirm on the pricing page - if you see ‘Make the Switch’ on the Growth plan, then you are on an older version. - - You can make the switch to our latest plan directly from the [pricing page](https://mixpanel.com/pricing/). -- Enterprise customers should contact their account manager to determine their plan status. - -Customers who purchase the Session Replay add-on will be charged overages for any replays ingested beyond their purchased limit. To avoid disruptions, please monitor your usage regularly. For customers with complimentary Session Replays (whether through a sales discount, an included plan benefit, or our Startup Program), any replays exceeding the monthly or annual limit will first be hidden behind a paywall, and eventually be dropped. Replay usage is aggregated across all projects within your billing account. - -## Using Session Replay - -Session Replay can be accessed in three places: - -1. From User Profile page -2. From Mixpanel reports -3. On the Home page for your project - -### From User Profile page - -In any user’s profile page, click the ‘View Replays’ button to watch replays from that user. From here, you will be taken to our Replay Player. - -![replayProfileEntry](/replayProfileEntryPoint.png) - -### From Mixpanel reports - -Click any point on a chart for Event, Funnel, and User Profile, and select ‘View Replays’ to view replays that show that event being fired. From here, you will be taken to our Replay Player. - -![replayReportEntry](/replayReportEntryPoint.png) - -*Note: reports entry point is currently supported for Event, Funnel, and User Profile metrics only.* - -### From the Home page - -Find the Latest Replays card and click on individual replays to view them or click on ‘View All Replays‘ to see up to 100 of your latest replays. - -![replayHomeEntry](/replayHomeEntryPoint.png) - -### Replay Player - -![replayHeroImageWithPrivacy](/replayHeroImageWithPrivacy.png) - -The Replay Player allows you to watch replays, as well as: - -- Expand the player to full-screen -- Copy a URL with or without a timestamp to share with your teammates -- Change the playback speed -- Automatically skip periods of the replay where user is inactive -- See events in the replay timeline -- Jump to different parts of the replay by clicking in the timeline - -The Replay Feed on the left of the player also allows you to: - -- Sort replays by recency, activity, or duration -- Search for replays by user's name / email, replay date, user ID, or the name of an event in the replay -- See a feed of events that occurred during each replay - -## Implementation -Session Replay is not enabled by default; enabling the feature requires instrumentation beyond the standard Mixpanel instrumentation. However, in most cases, implementation is extremely simple, only requiring a single line of code to be changed. - -- Our documentation on how to implement Session Replay with our Javascript SDK can be found [here](/docs/tracking-methods/sdks/javascript#session-replay) -- Our documentation on how to implement Session Replay with CDPs (like Segment and mParticle) can be found [here](/docs/session-replay/session-replay-web#can-i-use-session-replay-with-a-cdp). - -Replays sent via your implementation will only be viewable in the project they were ingested in and will not be available to other projects in your org. - -Before you enable Session Replay for a large audience, we recommend testing in a demo project, and starting in production with smaller sets of users or accounts, so that you can monitor performance and ensure your privacy rules align with company policies. - -## FAQ - -### Is Session Replay available for mobile? - -As of today, Session Replay is available for web-based applications (including mobile web) on the Enterprise Plan and closed Alpha testing for native iOS apps. Android Alpha testing is expected in early 2025. - -For any questions about early mobile access, please reach out to your Account Manager. - -### How long are replays stored? - -30 days. - -### Can I prevent Session Replay from recording sensitive content? - -By default, all on-screen text elements are masked in replays. Additionally, you can customize how you initialize our SDK to fully control (1) where to record and (2) whom to record. For more details, please see our [implementation docs](/docs/tracking-methods/sdks/javascript#session-replay). - -### How can I estimate how many replays I'll have? -If you already use Mixpanel, Session Start events are a way to estimate the rough amount of replays you might expect. This is especially true if you use timeout-based query sessions. However, because our sessions are defined at query time, we cannot guarantee these metrics will be directly correlated. - -When you enable Session Replay, use the above proxy metric (or something similar) to determine a starting sampling percentage, which will determine how many replays will be sent. You can always adjust this as you go to calibrate to the right level. - -### Am I able to sample our session replay collection rate? - -Yes, you can configure the percentage of total replays that our SDK will capture with [one line of code in your SDK implementation](/docs/tracking-methods/sdks/javascript#sampling-method). - -This out-of-the-box sampling method is random sampling: your SDK will decide randomly whether the currently SDK instance load falls into the sample or not. We recommend starting at 1% and increasing from there. If you expect low traffic, you can increase the starting sampling percentage. - -If you're still unsure about what sampling percentage to use, you can use our automatically generated [Session Start events](/docs/features/sessions#how-sessions-work) to estimate how many recordings you'll be ingesting, and base the sampling off that. - -If instead of random sampling, you want to use conditional logic to control which sessions to record, then your application code can derive its own yes/no decision, and then force a session recording to start after SDK initialization by calling `mixpanel.start_session_recording()`. - -If you want to only record certain parts of a single-page application with no new mixpanel.init calls, you can also use our [Start / Stop methods](/docs/tracking-methods/sdks/javascript#session-replay-methods). - -### How does Session Replay affect my website's performance? - -Mixpanel leverages the open-source library, [rrweb](https://github.com/rrweb-io/rrweb), to power Session Replay. Both rrweb and Mixpanel are designed with the highest standards of performance in mind. - -How the SDK works on your site – the gist: -* Initial Snapshot: When recording starts, rrweb takes a snapshot of the entire webpage's structure (the DOM), assigning unique IDs to each element for change tracking. -* Change Detection: Asynchronously monitors any changes that occur to the DOM using MutationObserver, minimizing work so that we don't need to keep taking full snapshots. -* User Interactions: Listens for actions like clicks and mouse movements and throttles any high frequency events. -* Collection & Delivery: Mixpanel collects the recording data and sends it to our servers in batches every 10 seconds. -* Optimized Compression: Before sending, Mixpanel will compress the payload using the asynchronous CompressionStream API. This will optimize bandwidth while not blocking the UI thread. - -We've tested the SDK extensively and it generally has minimal impact on how your website performs. The initial snapshot takes a bit of work, and naturally, more complex and interactive pages generate more data for rrweb and Mixpanel to handle. So, it's always a good practice to do some performance testing after you've implemented Session Replay, just to be sure everything's running smoothly. - -### Why can't I view Replays from my Insights or Funnels chart? - -Mixpanel looks for the `$mp_replay_id` property on your events in order to determine which replay it belongs to. If you have instrumented both Replays and Events using the Mixpanel JavaScript SDK, the `$mp_replay_id` will automatically be added to events sent by the SDK. - -For CDP implementations, look below for instructions on how to configure the SDKs together. To get the relevant Session Replay properties from the SDK, use `mixpanel.get_session_recording_properties()`. [See documentation](/docs/tracking-methods/sdks/javascript#get-replay-properties). - -### Why does it say the player failed to load? - -In order to maintain a high standard of security, Mixpanel runs your session replays in an isolated domain through an iframe. Sometimes, this domain may be blocked by an ad blocker or certain browser settings. Please try disabling any ad blockers. - -For extensions like uBlock, you can navigate to "My Filters" in the extension settings and paste the following custom filter: - -``` -@@||mxpnl.com^$domain=mxpnl.com -``` - -### Why don't I see the ‘View Replays’ button? - -You won't see the 'View Replays' button if your Organization is on an older plan. You will need to update to the [latest plan](/docs/session-replay/session-replay-web#availability) to view session replays. - -### Can I use Session Replay with a CDP? - -Yes. You can use Session Replay with CDPs like Segment and mParticle. - -In order to use Session Replay, your app must include the Mixpanel SDK. [Consult the quickstart](/docs/quickstart/install-mixpanel) to ensure you have the Mixpanel SDK installed, and the [setup guide](/docs/tracking-methods/sdks/javascript#session-replay) to make sure you have Session Replay enabled. - -Once you have included the Mixpanel SDK in your app add the following code snippets in order to connect your CDP's data stream with Mixpanel's Session Replay. - -##### Segment: Analytics.js - -By [adding middleware to Segment's SDK](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/middleware/) we can ensure that all event calls include the session replay properties. We can also ensure that any identify calls are also passed to Mixpanel. - -```javascript -// Middleware to add Mixpanel's session recording properties to Segment events -analytics.addSourceMiddleware(({ payload, next, integrations }) => { - if (payload.obj.type === 'track' || payload.obj.type === 'page') { - if (window.mixpanel) { - const segmentDeviceId = payload.obj.anonymousId; - // ------------------------------------------- - // Comment out one of the below mixpanel.register methods depending on your ID Management Version - // Original ID Merge - mixpanel.register({ $device_id: segmentDeviceId, distinct_id : segmentDeviceId }); - // Simplified ID Merge - mixpanel.register({ $device_id: segmentDeviceId, distinct_id : "$device:"+segmentDeviceId }); - // ------------------------------------------- - const sessionReplayProperties = mixpanel.get_session_recording_properties(); - payload.obj.properties = { - ...payload.obj.properties, - ...sessionReplayProperties - }; - } - } - if (payload.obj.type === 'identify') { - if (window.mixpanel) { - const userId = payload.obj.userId; - mixpanel.identify(userId); - } - } - next(payload); -}); -``` - - - -##### mParticle: Web SDK - -mParticle's Web SDK has a `.getDeviceId()` method which can be used to [retrieve the device_id](https://docs.mparticle.com/developers/sdk/web/initialization/#device-id-device-application-stamp). In the following example, we use this method to bind mParticle's device_id to Mixpanel's device_id, as wall as [patching `logEvent` and `logPageView`](https://docs.mparticle.com/developers/sdk/web/core-apidocs/classes/mParticle%20&%20mParticleInstance.html#index) to include session replay properties on all mParticle events. This configuration assumes you are [forwarding web requests server side](https://docs.mparticle.com/integrations/mixpanel/event/#:~:text=Forward%20Web%20Requests,bool) in the connection settings. - -```javascript -mixpanel.init('MIXPANEL-PROJECT-TOKEN', { - record_sessions_percent: 10, - loaded: function (mixpanel) { - window.mParticle.ready(function() { - const mParticle_device_id = mParticle.getDeviceId(); - if (mParticle_device_id) { - mixpanel.register({ $device_id: mParticle_device_id, distinct_id : "$device:"+mParticle_device_id }); - } - - // Patch logEvent and logPageView to include sessionReplayProperties - const originalLogEvent = mParticle.logEvent; - mParticle.logEvent = function (eventName, eventType, eventAttributes, flags, opts) { - const sessionReplayProperties = mixpanel.get_session_recording_properties(); - eventAttributes = { - ...eventAttributes, - ...sessionReplayProperties, - }; - originalLogEvent(eventName, eventType, eventAttributes, flags, opts); - }; - const originalLogPageView = mParticle.logPageView; - mParticle.logPageView = function (eventName, eventAttributes, flags, opts) { - const sessionReplayProperties = mixpanel.get_session_recording_properties(); - eventAttributes = { - ...eventAttributes, - ...sessionReplayProperties, - }; - originalLogPageView(eventName, eventAttributes, flags, opts); - }; - }); - } -}); -``` - -##### Rudderstack: Cloud Mode - -Rudderstack's Javascript SDK has a `.getAnonymousId()` method which can be used to [retrieve the device_id](https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/supported-api/#retrieving-anonymous-id). In the following example, we use this method to bind Rudderstack's anonymousId to Mixpanel's device_id, as well as [patching `track` and `page`](https://www.rudderstack.com/docs/sources/event-streams/sdks/rudderstack-javascript-sdk/supported-api/#page) event methods to include session replay properties on every Rudderstack event. - -```javascript -mixpanel.init('MIXPANEL-PROJECT-TOKEN', { - record_sessions_percent: 10, - loaded: function (mixpanel) { - window.rudderanalytics.ready(function() { - const rudderAnonymousId = rudderanalytics.getAnonymousId(); - if (rudderAnonymousId) { - mixpanel.register({ $device_id: rudderAnonymousId, distinct_id : "$device:"+rudderAnonymousId }); - } - - // Patch track method to include sessionReplayProperties - const originalTrack = rudderanalytics.track; - rudderanalytics.track = function (eventName, eventProperties, options, callback) { - const sessionReplayProperties = mixpanel.get_session_recording_properties(); - eventProperties = { - ...eventProperties, - ...sessionReplayProperties, - }; - originalTrack(eventName, eventProperties, options, callback); - }; - - // Patch page method to include sessionReplayProperties - const originalPage = rudderanalytics.page; - rudderanalytics.page = function (category, name, properties, options, callback) { - const sessionReplayProperties = mixpanel.get_session_recording_properties(); - properties = { - ...properties, - ...sessionReplayProperties, - }; - originalPage(category, name, properties, options, callback); - }; - }); - } -}); -``` - -##### Google Tag Manager (GTM) - -You can use session replay with Google Tag Manager. First, make sure you have the [Mixpanel GTM Template](/docs/tracking-methods/integrations/google-tag-manager) installed in your workspace. - -Once that is added, you can add a new Mixpanel tag to your workspace which turns on Session Replay by following these instructions: - -- Add a new tag, and choose the Mixpanel tag type. -- For `Project Token` fill in your Mixpanel project's token -- For `Tag Type` choose `init` from the dropdown -- For `Initialization` choose `Set Options Manually` -- In the `Option key` / `Option value` dropdown, ensure you choose `record_sessions_percent` and the value should be a number between 1 and 100. -- This is also where you can configure other [Session Replay options](/docs/tracking-methods/sdks/javascript#init-options) like `record_block_class` etc... -- For the `Triggering` section, you'll want to choose something [early in the GTM lifecycle](https://support.google.com/tagmanager/answer/7679319?hl=en); typically this is `Initialization - All Pages` or `Consent Initialization - All Pages` to ensure that Session Replay starts recording as soon as the GTM container is initialized. -- Save + Deploy this template to your website and you should be up and going with session replay - -Here's a screenshot of a working session replay tag for a visual comparison: - - From c7bcdb4b839ea6f0f319615e89af5677fc9cbb6b Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Mon, 7 Apr 2025 02:19:54 -0700 Subject: [PATCH 05/22] SR developer guide iOS --- pages/docs/session-replay.mdx | 5 +- .../session-replay-ios.md | 316 -------- .../session-replay-ios.mdx | 697 ++++++++++++++++++ .../session-replay-web.mdx | 22 +- 4 files changed, 711 insertions(+), 329 deletions(-) delete mode 100644 pages/docs/session-replay/implement-session-replay/session-replay-ios.md create mode 100644 pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx diff --git a/pages/docs/session-replay.mdx b/pages/docs/session-replay.mdx index 21276a0aa6..cf92c284ab 100644 --- a/pages/docs/session-replay.mdx +++ b/pages/docs/session-replay.mdx @@ -177,7 +177,4 @@ When you enable Session Replay, use the above proxy metric to determine a starti #### Am I able to sample our Session Replay collection rate? -Yes, you can configure the percentage of total replays that our SDK will capture as a sampling rate or manually trigger/end replay capture. See the developers guide for [implementing Session Replay](/docs/session-replay/implement-session-replay) to learn more about sampling and manual capture. - - - +Yes, you can configure the percentage of total replays that our SDK will capture as a sampling rate or manually trigger/end replay capture. See the developers guide for [implementing Session Replay](/docs/session-replay/implement-session-replay) to learn more about sampling and manual capture. \ No newline at end of file diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-ios.md b/pages/docs/session-replay/implement-session-replay/session-replay-ios.md deleted file mode 100644 index e67340c193..0000000000 --- a/pages/docs/session-replay/implement-session-replay/session-replay-ios.md +++ /dev/null @@ -1,316 +0,0 @@ -# Session Replay (iOS): Watch playbacks of user digital experiences - -## Overview - -Mixpanel Session Replay is the fastest way to understand the whole picture about your customers and make better product decisions, by combining quantitative and qualitative user insights. - -When digging into customer journeys in Mixpanel’s analytics, you can understand “**where** do customers drop-off?” And now, Mixpanel Session Replay enables you to quickly follow-up with, “**why** do customers drop off?” - -## Availability - -Currently, iOS Session Replay is in invite-only Beta access for customers on our Enterprise plan. - -For any questions about Session Replay or iOS Beta access, please reach out to your Account Manager. Note: as our Beta program is early access, our functionality, including data masking features, may have bugs and cause crashes. Be sure to test thoroughly before enabling in production. - -For more information on our Web replay functionality, read [here](/docs/session-replay/session-replay-web) - -Before publishing an App with Session Replay enabled, make sure to test it thoroughly to ensure that no sensitive data is exposed. Customizing masking rules in particular should be reviewed carefully. Like all Mixpanel product features, Mixpanel's customers are responsible for their configuration of Session Replay and ensuring sensitive data is not exposed. - -# Quick Start Guide - -## Prerequisite - -You are already a Mixpanel customer and have the latest version of the Mixpanel Swift SDK installed (minimum supported version is `v4.3.1`). If not, please follow this [doc](/docs/quickstart) to get started. - -## Installation - -Add the Session Replay SDK using Swift Package Manager directly in Xcode: - -1. In Xcode, go to **File → Add Package Dependencies...** -2. Paste the GitHub URL: `https://github.com/mixpanel/mixpanel-ios-session-replay-package` -3. Follow the prompts to select the latest version and add the package to your project. - -## Initialize - -You should have the main Mixpanel SDK installed (minimum version `v4.3.1`), if not, please refer to [Prerequisite](/docs/tracking-methods/sdks/swift) Add the initialization code at the start of your app's lifecycle. - -SwiftUI - -```swift -import Mixpanel -import MixpanelSessionReplay - -struct SessionReplayDemoApp: App { - @State private var isActive = true - @Environment(\\.scenePhase) private var scenePhase - - var body: some Scene { - WindowGroup { - ... - } - .onChange(of: scenePhase) { - if scenePhase == .active { - let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 100.0) - let sessionReplayInstance = MPSessionReplay.initialize(token: Mixpanel.mainInstance().apiToken, distinctId: Mixpanel.mainInstance().distinctId, config: config) - - sessionReplayInstance.loggingEnabled = true - sessionReplayInstance.startRecording() - } - } -} - -``` - -UIKit - -```swift -import Foundation -import UIKit - -import Mixpanel -import MixpanelSessionReplay - -class AppDelegate: UIResponder, UIApplicationDelegate { - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { - Mixpanel.initialize(token: token, trackAutomaticEvents: true) - - let config = MPSessionReplayConfig( - wifiOnly: false, - recordSessionsPercent: 100.0 - ) - let sesionReplayInstance = MPSessionReplay.initialize( - token: Mixpanel.mainInstance().apiToken, - distinctId: Mixpanel.mainInstance().distinctId, - config: config - ) - #if DEBUG - Mixpanel.mainInstance().loggingEnabled = true - MPSessionReplay.getInstance()?.loggingEnabled = true - #endif - return true - } - - func applicationDidBecomeActive(_ application: UIApplication) { - MPSessionReplay.getInstance()?.startRecording() - } - -} - -``` - -## Configuration Options - -### Session Replay Config - -Upon initialization you can provide a SessionReplayConfig object to specify the configuration. Currently, there are only three config options: - -`wifiOnly` - when set to `true` replay events will only be flushed to the server when the device has a WiFi connection, if there is no WiFi, flushes are skipped and the events remain in the in-memory queue until WiFi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events). When set to `false` replay events will be flushed with any network connection, including cellular. - Default: `true` - -`recordSessionsPercent` - this is a value between 0.0 and 100.0 that controls the sampling rate for recording session replays, at 0.0 no sessions will be recorded, at 100.0 all sessions will be recorded. - Default: 0.0 - -`autoMaskedViews` - This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. By default it includes all available options: `Image`, `Text` and `Web` . - -- Config to auto mask Images only - -```swift -MPSessionReplayConfig(recordSessionsPercent: 100.0, autoMaskedViews: [.Image]) -``` - -- Config to completely disable auto masking - -```swift -MPSessionReplayConfig(recordSessionsPercent: 100.0, autoMaskedViews: []) -``` - -- Config with default setting which is to auto mask image, text and WebViews - -```swift -MPSessionReplayConfig(recordSessionsPercent: 100.0) -``` - -`autoCapture` - This an enum to selectively disable the runtime method replacement functionality (aka "swizzling) in the event that it conflicts with another SDK ([like New Relic](https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements/#method)) - -- Config to auto capture on both view controller lifecycle methods and touch events (Default) - -```swift -MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .enabled) -``` - -- Config to auto capture only on view controller lifecycle events -- use this if you want to keep the touch based functionality in the conflicting SDK, but not their view controller functionality. - -```swift -MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .viewControllerLifecycle) -``` - -- Config to auto capture only on touch events -- use this if you want to keep the view controller lifecycle functionality in the conflicting SDK, but not their touch functionality. - -```swift -MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .touch) -``` - -- Config to completely disable auto capture -- use this if you want to keep all functionality in the conflicting SDK - -```swift -MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .disabled) -``` - -### Manual Screenshot Capture - -If you have partially or completely disabled automatic screen capture via the `autoCapture` config setting you can manually capture screenshots by calling `captureScreenshot()`: - -```swift -MPSessionReplay.getInstance()?.captureScreenshot() -``` - -Or if the manual capture was triggered by a touch event: - -```swift -MPSessionReplay.getInstance()?.captureScreenshot(withTouchEvent: touchEvent) -``` - -NOTE: If you choose to disable auto capture and do manual screen capturing instead, it will be up to you to determine when, where and how you call the `captureScreenshot()` method in your application. The most naïve approach would be to call it on a `Timer`, for example: - -```swift -let screenshotTimer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in - MPSessionReplay.getInstance()?.captureScreenshot() -} -``` - -Keeping in mind that this is relatively inefficient and will result in capturing unnecessary/unchanged screenshots, it's also possible to miss important moments in between the timed screenshots. Taking screenshots on demand at critical moments will always be preferable. - -### Logging - -Developers can enable or disable logging with the `loggingEnabled` property of the `MPSessionReplay` object. - -### Example - -```swift -let token = Mixpanel.mainInstance().apiToken -let distinctId = Mixpanel.mainInstance().distinctId -let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 50.0) -let sessionReplayInstance = MPSessionReplay.initialize(token: token, distinctId: distinctId, config: config) -sessionReplayInstance.loggingEnabled = true - -``` - -## Enable Session Replay - -**Start Recording** -If you want to record the entire activity since the app’s launch, we recommend starting the recording at the beginning of your app’s lifecycle. If you want to record only for specific flows or features, start the recording at the entry point of the flow or feature. - -The recording automatically stops when the app goes to the background. Therefore, if you want to continuously record the replays, you’ll need to restart the replay once the app becomes active. - -```swift -MPSessionReplay.getInstance()?.startRecording() -``` - -**Stop Recording** - -The SDK automatically stops recording when the app goes to the background. However, if you’re recording replays for specific flows or features, you need to manually call `stopRecording` at the end of each flow or feature. - -```swift -MPSessionReplay.getInstance()?.stopRecording() -``` - -## Privacy Settings - -By default, Mixpanel will always mask all input text fields to exclude more sensitive views with user inputs from recording. To protect end-user privacy, input text fields cannot be unmasked . - -By default, Mixpanel will mask all text. You can unmask text like `UILabels` at your discretion. - -By default, Mixpanel will mask all images. Images can be unmasked at your discretion. - -By default, Mixpanel will mask all WebViews. WebViews can be unmasked at your discretion. - -[See `autoMaskedViews` in config section above.](#session-replay-config) - -To mark any view as sensitive: - -```swift -// SwiftUI -Image("family photo") - .mpReplaySensitive(true) - -// UIKit -let ccView = CreditCardUIView() -ccView.mpReplaySensitive = true -``` - -To mark any view as safe: - -```swift -// SwiftUI -BackgroundImage() - .mpReplaySensitive(false) - -//UIKit -let bgImage = BackgroundImage() -bgImage.mpReplaySensitive = false -``` - -## Using Session Replay - -Please refer to [Using Session Replay](/docs/session-replay/session-replay-web#using-session-replay) - -## Legal (Beta Terms) - -Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.com/legal/session-replay-beta-service-addendum/). - -The alpha and beta of Mixpanel’s mobile session replay SDK will track certain events and send them to Mixpanel so that Mixpanel can understand and improve the alpha and beta mobile session replay feature experience. These events include starting and stopping a session, adding and removing sensitive classes, adding sensitive views and adding safe views. Nothing about your application will be included in this tracking; only your usage of the Mixpanel Session Replay SDK. - -## FAQ - -### How does Session Replay work in iOS? - -Session Replay observes user interactions within your app, capturing UI hierarchy changes and storing them as images, which are then sent to Mixpanel. Mixpanel reconstructs these images, applying recorded events as an end-user completes them. Within Mixpanel’s platform, you can view a reconstruction of your end-user’s screen as they navigate your app. However, Session Replay is not a literal video recording of your end-user’s screen; end-user actions are not video-recorded. - -### What is the expected impact on my app performance? - -There is no impact on your app’s performance when there are no user interactions or nothing changes on the screen. When there are user interactions, expect approximately 1% to 3% more CPU usage and around 1MB more memory consumption. There is no impact on disk I/O because Session Replay does not write anything to your disk. In our own testing, the overhead is unnoticeable, however this testing was not exhaustive and you may discover the recording overhead may negatively impact your mobile application performance depending on your application specifications. If you experience any performance degradations after installing Session Replay, please reach out to us. - -### What is the bandwidth impact and will it cause users to incur additional data charges? - -The bandwidth impact of Session Replay depends on the setting of the `wifiOnly` parameter. - -When `wifiOnly` is set to `true` (default setting), replay events are only flushed to the server when the device has a WiFi connection. If there is no WiFi, flushes are skipped, and the events remain in the in-memory queue until WiFi is restored. This ensures no additional cellular data is used, preventing users from incurring additional data charges. - -When `wifiOnly` is set to `false`, replay events are flushed with any available network connection, including cellular. In this case, the amount of cellular data consumed depends on the intensity of user interactions and the typical session length of your app. Users may incur additional data charges if large amounts of data are transmitted over cellular connections. - -### How does Session Replay for mobile work if my app is offline? - -Session Replay for mobile currently doesn’t work in offline mode. - -### Am I able to sample our session replay collection rate? - -Yes, you can configure the percentage of total replays that our SDK will capture as below. - -```swift -let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 50.0) -let sessionReplayInstance = MPSessionReplay.initialize(token: token, distinctId: distinctId, config: config) - -``` - -This out-of-the-box sampling method is random sampling: your SDK will decide randomly whether the currently SDK instance load falls into the sample or not. We recommend starting at 1% and increasing from there. Please note: if you expect low traffic, you can increase the starting sampling percentage. It is a good idea to control this with your own API, so you can change it on the fly without redeploying your app. While you're testing, we recommend that you set it to 100 and this ensure every user session will be sent to Mixpanel. Once testing is done, we recommend lowering this value in production. - -### Does it work in SwiftUI/UIKit apps? - -Yes, please refer to this [section](#initialize) - -### Does it support Obj-C based app? - -Yes, Objective-C and Swift are fully interoperable. - -### Can I prevent Session Replay from recording sensitive content? - -If your app is SwiftUI-based or UIKit-based, all `UITextField` and `UILabel` components are masked by default. `UITextField` cannot be unmasked, while `UILabels can be unmasked` You can also mask any view manually by calling: - -```swift -// SwiftUI -Image("family photo") - .mpReplaySensitive(true) - -// UIKit -let ccView = CreditCardUIView() -ccView.mpReplaySensitive = true -``` diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx new file mode 100644 index 0000000000..7ff46cbb75 --- /dev/null +++ b/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx @@ -0,0 +1,697 @@ +import { Callout } from 'nextra/components' + +# Implement Session Replay (iOS) + + +The iOS Session Replay is in invite-only Beta access for customers on our Enterprise plan. Reach out to your Account Manager for any questions about Session Replay or the iOS Beta access. + + + +Since our Beta program offers early access, some functionality, including data masking features, may contain bugs and cause crashes. We recommend thoroughly testing before enabling in production. + +Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.com/legal/session-replay-beta-service-addendum/). + + +## Overview + +This developer guide will assist you in configuring your Swift app for [Session Replay](/docs/session-replay) using the [Session Replay SDK (Swift)](/docs/tracking-methods/sdks/swift-replay). Learn more about [viewing captured Replays in your project here](/docs/session-replay). + +## Prerequisite + +You are already a Mixpanel customer and have the latest version of the [Mixpanel Swift SDK](/docs/tracking-methods/sdks/swift) installed (minimum supported version is [v4.3.1](https://github.com/mixpanel/mixpanel-swift/releases/tag/v4.3.1)). If not, please follow [this doc](/docs/quickstart/install-mixpanel) to install the SDK. + +## Installation + +To capture Session Replays in your app, add the [Session Replay SDK]((/docs/tracking-methods/sdks/swift-replay)) using Swift Package Manager directly in Xcode: + +1. In Xcode, go to File → **Add Package Dependencies…** +2. Paste the GitHub URL: `https://github.com/mixpanel/mixpanel-ios-session-replay-package` +3. Follow the prompts to select the latest version and add the package to your project. + +### Initialize + +You should have the main Mixpanel SDK installed (minimum version `v4.3.1`), if not, please refer to [Prerequisite](/docs/session-replay/session-replay-ios#prerequisite). + +Add the following initialization code at the start of your app's lifecycle in `SwiftUI` and `UIKit`: + +**SwiftUI** + +```swift Swift +import Mixpanel +import MixpanelSessionReplay + +struct SessionReplayDemoApp: App { + @State private var isActive = true + @Environment(\\.scenePhase) private var scenePhase + + var body: some Scene { + WindowGroup { + ... + } + .onChange(of: scenePhase) { + if scenePhase == .active { + let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 100.0) + let sessionReplayInstance = MPSessionReplay.initialize(token: Mixpanel.mainInstance().apiToken, distinctId: Mixpanel.mainInstance().distinctId, config: config) + + sessionReplayInstance.loggingEnabled = true + sessionReplayInstance.startRecording() + } + } +} +``` + +**UIKit** + +```swift Swift +import Foundation +import UIKit + +import Mixpanel +import MixpanelSessionReplay + +class AppDelegate: UIResponder, UIApplicationDelegate { + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { + Mixpanel.initialize(token: token, trackAutomaticEvents: true) + + let config = MPSessionReplayConfig( + wifiOnly: false, + recordSessionsPercent: 100.0 + ) + let sesionReplayInstance = MPSessionReplay.initialize( + token: Mixpanel.mainInstance().apiToken, + distinctId: Mixpanel.mainInstance().distinctId, + config: config + ) + #if DEBUG + Mixpanel.mainInstance().loggingEnabled = true + MPSessionReplay.getInstance()?.loggingEnabled = true + #endif + return true + } + + func applicationDidBecomeActive(_ application: UIApplication) { + MPSessionReplay.getInstance()?.startRecording() + } + +} +``` +## Capturing Replays + + + Test in a sandbox project and start with a smaller sample rate. This allows you to monitor performance, usage, and ensure your privacy rules align with your company policies. + + +You can capturing replay data using a sampling method (recommended), or customize when and where replays are captured manually using methods provided by the Session Replay Swift SDK. + +### Sampling + +We recommend using the sampling method unless you need to customize when you capture replay data. + +To enable Session Replay and set your sampling rate, create a `SessionReplayConfig` object and set the `recordSessionsPercent` with a value between `0.0` and `100.0`. At `0.0` no sessions will be recorded, at `100.0` all sessions will be recorded. + +Start with a low sampling rate, then adjust according to your specific analytics needs. + +**Example Usage** + +```swift Swift +// records 1% of all sessions +MPSessionReplayConfig(recordSessionsPercent: 1.0) +``` + +### Manual Capture + +To programatically start and stop replay capture, use the `.startRecording()` and `.stopRecording()` methods. This is optional, and can be used primarily to programmatically start and stop recording, or exclude something specific from recording. + +#### Start Capturing Replay Data + +Call `.startRecording()` to force recording to begin, regardless of the `recordSessionsPercent` init option. The recording automatically stops when the app goes to the background. Therefore, if you want to continuously record the replays, you will need to restart the replay once the app becomes active again. + +This will have no effect if replay data collection is already in progress. + +**Example Usage** + +```swift Swift +// manually trigger a replay capture +MPSessionReplay.getInstance()?.startRecording() +``` + +#### Stop Capturing Replay Data + +Call `.stopRecording()` to stop any active replay data collection. The SDK automatically stops recording when the app goes to the background. + +This will have no effect if there is no replay data collection in progress. + +**Example Usage** + +```swift Swift +// manually end a replay capture +MPSessionReplay.getInstance()?.stopRecording() +``` + +#### Example Scenarios + +| Scenario | Guidance | +| --- | --- | +| We have a sensitive screen we don't want to capture | When user is about to access the sensitive screen, call `.stopRecording()`. To resume recording once they leave this screen, you can resume recording with `.startRecording()` | +| We only want to record certain types of users (e.g. Free plan users only) | Using your application code, determine if current user meets the criteria of users you wish to capture. If they do, then call `.startRecording()` to force recording on | +| We only want to users utilizing certain features | When user is about to access the feature you wish to capture replays for, call `.startRecording()` to force recording on | + +### Additional Configuration Options + +Upon initialization you can provide a `SessionReplayConfig` object to customize your replay capture. + +Currently, there are only five config options: + +| Option | Description | Default | +| --- | --- | --- | +| `wifiOnly` | When `true`, replay events will only be flushed to the server when the device has a WiFi connection. If there is no wifi, flushes are skipped and the events remain in the in-memory queue until wifi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events).
When `false`, replay events will be flushed with any network connection, including cellular. | `true` | +| `recordSessionsPercent` | This is a value between `0.0` and `100.0` that controls the sampling rate for recording session replays.
At `0.0` no sessions will be recorded. At `100.0` all sessions will be recorded. | `0.0` | +| `autoMaskedViews` | This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. | `Image`, `Text`, and `Web` | +| `autoCapture` | This an enum to selectively disable the runtime method replacement functionality (aka “swizzling") in the event that it conflicts with another SDK (like [New Relic](https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements/#method)) | `.enabled` | + +**autoMaskedViews Example Usage** +```swift Swift +// mask images only +MPSessionReplayConfig(recordSessionsPercent: 100.0, autoMaskedViews: [.Image]) + +// disable auto masking +MPSessionReplayConfig(recordSessionsPercent: 100.0, autoMaskedViews: []) + +// mask image, text and WebViews +MPSessionReplayConfig(recordSessionsPercent: 100.0) +``` + +**autoCapture Example Usage** + +```swift Swift +// auto capture on both view controller lifecycle methods and touch events +MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .enabled) + +// auto capture only on view controller lifecycle events +MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .viewControllerLifecycle) + +// auto capture only on touch events +MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .touch) + +// disable auto capture +// use this if you want to keep all functionality in the conflicting SDK +MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .disabled) +``` + +#### Manual Screenshot Capture + +If you have partially or completely disabled automatic screen capture via the `autoCapture` config setting above, you can manually capture screenshots by calling `.captureScreenshot()`: + +**Example Usage** + +```swift Swift +// manually capture screenshots +MPSessionReplay.getInstance()?.captureScreenshot() + +// manually capture screenshots triggered by a touch event +MPSessionReplay.getInstance()?.captureScreenshot(withTouchEvent: touchEvent) +``` + +If you choose to disable auto capture and do manual screen capturing instead, it will be up to you to determine when, where and how you call the `.captureScreenshot()` method in your application. The most naïve approach would be to call it on a `Timer`. + +**Example Usage** + +```swift Swift +// trigger manual screenshot capture using Timer +let screenshotTimer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in + MPSessionReplay.getInstance()?.captureScreenshot() +} +``` + +Keeping in mind that this is relatively inefficient and will result in capturing unnecessary/unchanged screenshots, it is also possible to miss important moments in between the timed screenshots. Taking scr + +## Replay ID + +When a replay capture begins, a Replay ID is generated by the SDK and is attached as an event property (`$mp_replay_id`) to events tracked by the SDK during the capture session. Events containing the same $mp_replay_id will appear in the same Replay. + +If you are sending any events not coming from the SDK, add the `$mp_replay_id` event property to attribute the event to a specific Replay. + +### Server-side Stitching + +Server-Side Stitching allows you to easily watch Replays for events that were not fired from the SDK. + +It works by inferring the Replay that an event belong using the Distinct ID and time property attached to the event. This is especially useful if you have events coming in from multiple sources. + +For example, let's say a user with Distinct ID “ABC” has a Replay recorded from 1-2pm. Two hours later, an event was sent from your warehouse with a timestamp of 1:35pm with Distinct ID “ABC”. Server-side Stitching will infer that the event should belong in the same Replay. + +To ensure Server-Side Stitching works, call [`identify()`](/docs/tracking-methods/sdks/swift#identify) from the client-side using our SDK with the user's `$user_id`. This guarantees that events generated from both the client-side and server-side share the same Distinct ID. Learn more about [identifying users](/docs/tracking-methods/id-management). + +## Debugging + + +`$mp_session_record` is exempt from your plan data allowance. + + +When a Replay capture begins, a "Session Recording Checkpoint" event will appear in your project, tracked as `$mp_session_record`. You may use this event to verify whether you have implemented Session Replay correctly. + +If you are using the [recommended sampling method](/docs/session-replay/implement-session-replay/session-replay-ios#sampling) to capture your Replays but having trouble finding the Replays in your project, try calling `.startRecording()` manually and see if the `$mp_session_record` event appears. If it does appear but you are still struggling to locate your Replays, you may want to increase your sampling rate. + +You can also check the Home page for your project to check for any recent Replays listed in the "Latest Replays" card. + +If you are still struggling to implement, [submit a request to our Support team](https://mixpanel.com/get-support) for more assistance. + +### Logging + +Developers can enable or disable logging with the `loggingEnabled` property of the `MPSessionReplay` object. + +**Example Usage** + +```swift Swift +let token = Mixpanel.mainInstance().apiToken +let distinctId = Mixpanel.mainInstance().distinctId +let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 50.0) +let sessionReplayInstance = MPSessionReplay.initialize(token: token, distinctId: distinctId, config: config) +sessionReplayInstance.loggingEnabled = true // enable debug log +``` + +## Privacy + +Mixpanel offers a privacy-first approach to Session Replay, including features such as data masking. Mixpanel's Session Replay privacy controls were designed to assist customers in protecting end user privacy. Read more [here](/docs/session-replay/session-replay-privacy-controls). + +### User Data + +The Mixpanel SDK will always mask all inputs. By default, all text, images, and WebViews on a page. + +You can unmask these element at your own discretion using the [`autoMaskedViews` config option described above](/docs/session-replay/implement-session-replay/session-replay-ios#additional-configuration-options). + +#### Mark Views as Sensitive + +If your app is SwiftUI-based or UIKit-based, all `UITextField` and `UILabel` components are masked by default. `UITextField` cannot be unmasked, while `UILabels` can be unmasked + +You can also mark any views as sensitive using `mpReplaySensitive`. Views marked as "sensitive" will be masked. + +**Example Usage** + +```swift Swift +// Mark any view as sensitive + +// SwiftUI +Image("family photo") + .mpReplaySensitive(true) + +// UIKit +let ccView = CreditCardUIView() +ccView.mpReplaySensitive = true +``` + +Set `mpReplaySensitive` to `false` to mark any view as safe. Views marked as "safe" will not be masked. + +**Example Usage** + +```swift Swift +// Mark any view as safe + +// SwiftUI +BackgroundImage() + .mpReplaySensitive(false) + +//UIKit +let bgImage = BackgroundImage() +bgImage.mpReplaySensitive = false +``` + +### Retention + +User replays are stored for 30 days after the time of ingestion. There is no way to view a replay older than 30 days old. + +### Legal (Beta Terms) + +Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.com/legal/session-replay-beta-service-addendum/). + +The alpha and beta of Mixpanel's mobile session replay SDK will track certain events and send them to Mixpanel so that Mixpanel can understand and improve the alpha and beta mobile session replay feature experience. These events include starting and stopping a session, adding and removing sensitive classes, adding sensitive views and adding safe views. Nothing about your application will be included in this tracking; only your usage of the Mixpanel Session Replay SDK. + +## FAQ + +#### How does Session Replay work in iOS? + +Session Replay observes user interactions within your app, capturing UI hierarchy changes and storing them as images, which are then sent to Mixpanel. Mixpanel reconstructs these images, applying recorded events as an end-user completes them. + +Within Mixpanel's platform, you can view a reconstruction of your end-user's screen as they navigate your app. + +However, Session Replay is not a literal video recording of your end-user's screen; end-user actions are not video-recorded. + +#### Can I prevent Session Replay from recording sensitive content? + +The Mixpanel SDK will always mask all inputs. By default, all text, images, and WebViews on a page. + +Additionally, you can customize how you leverage our SDK to fully control (1) where to record and (2) whom to record. Consider the [manual capture example scenarios](/docs/session-replay/implement-session-replay/session-replay-ios#manual-capture), [SDK configuration options](/docs/session-replay/implement-session-replay/session-replay-ios#additional-configuration-options), and [manual view masking example](/docs/session-replay/implement-session-replay/session-replay-ios#mark-views-as-sensitive) provided above to customize the replay capture of your implementation. + +#### How can I estimate how many Replays I will generate? + +If you already use Mixpanel, the [Session Start events](/docs/features/sessions) are a way to estimate the rough amount of replays you might expect. This is especially true if you use timeout-based query sessions. However, because our sessions are defined at query time, we cannot guarantee these metrics will be directly correlated. + +When you enable Session Replay, use the above proxy metric to determine a starting sampling percentage, which will determine how many replays will be sent. You can always adjust this as you go to calibrate to the right level. + +#### How does Session Replay affect my apps performance? + +There is no impact on your app's performance when there are no user interactions or nothing changes on the screen. When there are user interactions, expect approximately 1% to 3% more CPU usage and around 1MB more memory consumption. There is no impact on disk I/O because Session Replay does not write anything to your disk. + +In our own testing, the overhead is unnoticeable, however this testing was not exhaustive and you may discover the recording overhead may negatively impact your mobile application performance depending on your application specifications. + +If you experience any performance degradations after installing Session Replay, please [reach out to our Support team](https://mixpanel.com/get-support). + +#### What is the impact on bandwidth consumption? + +The bandwidth impact of Session Replay depends on the setting of the [`wifiOnly` parameter](/docs/session-replay/implement-session-replay/session-replay-ios#additional-configuration-options). + +By default, `wifiOnly` is set to `true`, which means replay events are only flushed to the server when the device has a wifi connection. If there is no wifi, flushes are skipped, and the events remain in the in-memory queue until WiFi is restored. This ensures no additional cellular data is used, preventing users from incurring additional data charges. + +When `wifiOnly` is set to `false`, replay events are flushed with any available network connection, including cellular. In this case, the amount of cellular data consumed depends on the intensity of user interactions and the typical session length of your app. Users may incur additional data charges if large amounts of data are transmitted over cellular connections. + +#### How does Session Replay for mobile work if my app is offline? + +Session Replay for mobile does not work in offline mode. + +#### Does it work in SwiftUI/UIKit apps? + +[Yes.](/docs/session-replay/implement-session-replay/session-replay-ios#initialize) + +#### Does it support Obj-C based app? + +Yes, Objective-C and Swift are fully interoperable. + + + + + +------------- +## Overview + +Mixpanel Session Replay is the fastest way to understand the whole picture about your customers and make better product decisions, by combining quantitative and qualitative user insights. + +When digging into customer journeys in Mixpanel’s analytics, you can understand “**where** do customers drop-off?” And now, Mixpanel Session Replay enables you to quickly follow-up with, “**why** do customers drop off?” + +## Availability + +Currently, iOS Session Replay is in invite-only Beta access for customers on our Enterprise plan. + +For any questions about Session Replay or iOS Beta access, please reach out to your Account Manager. Note: as our Beta program is early access, our functionality, including data masking features, may have bugs and cause crashes. Be sure to test thoroughly before enabling in production. + +For more information on our Web replay functionality, read [here](/docs/session-replay/session-replay-web) + +Before publishing an App with Session Replay enabled, make sure to test it thoroughly to ensure that no sensitive data is exposed. Customizing masking rules in particular should be reviewed carefully. Like all Mixpanel product features, Mixpanel's customers are responsible for their configuration of Session Replay and ensuring sensitive data is not exposed. + +# Quick Start Guide + +## Prerequisite + +You are already a Mixpanel customer and have the latest version of the Mixpanel Swift SDK installed (minimum supported version is `v4.3.1`). If not, please follow this [doc](/docs/quickstart) to get started. + +## Installation + +Add the Session Replay SDK using Swift Package Manager directly in Xcode: + +1. In Xcode, go to **File → Add Package Dependencies...** +2. Paste the GitHub URL: `https://github.com/mixpanel/mixpanel-ios-session-replay-package` +3. Follow the prompts to select the latest version and add the package to your project. + +## Initialize + +You should have the main Mixpanel SDK installed (minimum version `v4.3.1`), if not, please refer to [Prerequisite](/docs/tracking-methods/sdks/swift) Add the initialization code at the start of your app's lifecycle. + +SwiftUI + +```swift +import Mixpanel +import MixpanelSessionReplay + +struct SessionReplayDemoApp: App { + @State private var isActive = true + @Environment(\\.scenePhase) private var scenePhase + + var body: some Scene { + WindowGroup { + ... + } + .onChange(of: scenePhase) { + if scenePhase == .active { + let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 100.0) + let sessionReplayInstance = MPSessionReplay.initialize(token: Mixpanel.mainInstance().apiToken, distinctId: Mixpanel.mainInstance().distinctId, config: config) + + sessionReplayInstance.loggingEnabled = true + sessionReplayInstance.startRecording() + } + } +} + +``` + +UIKit + +```swift +import Foundation +import UIKit + +import Mixpanel +import MixpanelSessionReplay + +class AppDelegate: UIResponder, UIApplicationDelegate { + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { + Mixpanel.initialize(token: token, trackAutomaticEvents: true) + + let config = MPSessionReplayConfig( + wifiOnly: false, + recordSessionsPercent: 100.0 + ) + let sesionReplayInstance = MPSessionReplay.initialize( + token: Mixpanel.mainInstance().apiToken, + distinctId: Mixpanel.mainInstance().distinctId, + config: config + ) + #if DEBUG + Mixpanel.mainInstance().loggingEnabled = true + MPSessionReplay.getInstance()?.loggingEnabled = true + #endif + return true + } + + func applicationDidBecomeActive(_ application: UIApplication) { + MPSessionReplay.getInstance()?.startRecording() + } + +} + +``` + +## Configuration Options + +### Session Replay Config + +Upon initialization you can provide a SessionReplayConfig object to specify the configuration. Currently, there are only three config options: + +`wifiOnly` - when set to `true` replay events will only be flushed to the server when the device has a WiFi connection, if there is no WiFi, flushes are skipped and the events remain in the in-memory queue until WiFi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events). When set to `false` replay events will be flushed with any network connection, including cellular. - Default: `true` + +`recordSessionsPercent` - this is a value between 0.0 and 100.0 that controls the sampling rate for recording session replays, at 0.0 no sessions will be recorded, at 100.0 all sessions will be recorded. - Default: 0.0 + +`autoMaskedViews` - This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. By default it includes all available options: `Image`, `Text` and `Web` . + +- Config to auto mask Images only + +```swift +MPSessionReplayConfig(recordSessionsPercent: 100.0, autoMaskedViews: [.Image]) +``` + +- Config to completely disable auto masking + +```swift +MPSessionReplayConfig(recordSessionsPercent: 100.0, autoMaskedViews: []) +``` + +- Config with default setting which is to auto mask image, text and WebViews + +```swift +MPSessionReplayConfig(recordSessionsPercent: 100.0) +``` + +`autoCapture` - This an enum to selectively disable the runtime method replacement functionality (aka "swizzling) in the event that it conflicts with another SDK ([like New Relic](https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements/#method)) + +- Config to auto capture on both view controller lifecycle methods and touch events (Default) + +```swift +MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .enabled) +``` + +- Config to auto capture only on view controller lifecycle events -- use this if you want to keep the touch based functionality in the conflicting SDK, but not their view controller functionality. + +```swift +MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .viewControllerLifecycle) +``` + +- Config to auto capture only on touch events -- use this if you want to keep the view controller lifecycle functionality in the conflicting SDK, but not their touch functionality. + +```swift +MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .touch) +``` + +- Config to completely disable auto capture -- use this if you want to keep all functionality in the conflicting SDK + +```swift +MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .disabled) +``` + +### Manual Screenshot Capture + +If you have partially or completely disabled automatic screen capture via the `autoCapture` config setting you can manually capture screenshots by calling `captureScreenshot()`: + +```swift +MPSessionReplay.getInstance()?.captureScreenshot() +``` + +Or if the manual capture was triggered by a touch event: + +```swift +MPSessionReplay.getInstance()?.captureScreenshot(withTouchEvent: touchEvent) +``` + +NOTE: If you choose to disable auto capture and do manual screen capturing instead, it will be up to you to determine when, where and how you call the `captureScreenshot()` method in your application. The most naïve approach would be to call it on a `Timer`, for example: + +```swift +let screenshotTimer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in + MPSessionReplay.getInstance()?.captureScreenshot() +} +``` + +Keeping in mind that this is relatively inefficient and will result in capturing unnecessary/unchanged screenshots, it's also possible to miss important moments in between the timed screenshots. Taking screenshots on demand at critical moments will always be preferable. + +### Logging + +Developers can enable or disable logging with the `loggingEnabled` property of the `MPSessionReplay` object. + +### Example + +```swift +let token = Mixpanel.mainInstance().apiToken +let distinctId = Mixpanel.mainInstance().distinctId +let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 50.0) +let sessionReplayInstance = MPSessionReplay.initialize(token: token, distinctId: distinctId, config: config) +sessionReplayInstance.loggingEnabled = true + +``` + +## Enable Session Replay + +**Start Recording** +If you want to record the entire activity since the app’s launch, we recommend starting the recording at the beginning of your app’s lifecycle. If you want to record only for specific flows or features, start the recording at the entry point of the flow or feature. + +The recording automatically stops when the app goes to the background. Therefore, if you want to continuously record the replays, you’ll need to restart the replay once the app becomes active. + +```swift +MPSessionReplay.getInstance()?.startRecording() +``` + +**Stop Recording** + +The SDK automatically stops recording when the app goes to the background. However, if you’re recording replays for specific flows or features, you need to manually call `stopRecording` at the end of each flow or feature. + +```swift +MPSessionReplay.getInstance()?.stopRecording() +``` + +## Privacy Settings + +By default, Mixpanel will always mask all input text fields to exclude more sensitive views with user inputs from recording. To protect end-user privacy, input text fields cannot be unmasked . + +By default, Mixpanel will mask all text. You can unmask text like `UILabels` at your discretion. + +By default, Mixpanel will mask all images. Images can be unmasked at your discretion. + +By default, Mixpanel will mask all WebViews. WebViews can be unmasked at your discretion. + +[See `autoMaskedViews` in config section above.](#session-replay-config) + +To mark any view as sensitive: + +```swift +// SwiftUI +Image("family photo") + .mpReplaySensitive(true) + +// UIKit +let ccView = CreditCardUIView() +ccView.mpReplaySensitive = true +``` + +To mark any view as safe: + +```swift +// SwiftUI +BackgroundImage() + .mpReplaySensitive(false) + +//UIKit +let bgImage = BackgroundImage() +bgImage.mpReplaySensitive = false +``` + +## Using Session Replay + +Please refer to [Using Session Replay](/docs/session-replay/session-replay-web#using-session-replay) + +## Legal (Beta Terms) + +Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.com/legal/session-replay-beta-service-addendum/). + +The alpha and beta of Mixpanel’s mobile session replay SDK will track certain events and send them to Mixpanel so that Mixpanel can understand and improve the alpha and beta mobile session replay feature experience. These events include starting and stopping a session, adding and removing sensitive classes, adding sensitive views and adding safe views. Nothing about your application will be included in this tracking; only your usage of the Mixpanel Session Replay SDK. + +## FAQ + +### How does Session Replay work in iOS? + +Session Replay observes user interactions within your app, capturing UI hierarchy changes and storing them as images, which are then sent to Mixpanel. Mixpanel reconstructs these images, applying recorded events as an end-user completes them. Within Mixpanel’s platform, you can view a reconstruction of your end-user’s screen as they navigate your app. However, Session Replay is not a literal video recording of your end-user’s screen; end-user actions are not video-recorded. + +### What is the expected impact on my app performance? + +There is no impact on your app’s performance when there are no user interactions or nothing changes on the screen. When there are user interactions, expect approximately 1% to 3% more CPU usage and around 1MB more memory consumption. There is no impact on disk I/O because Session Replay does not write anything to your disk. In our own testing, the overhead is unnoticeable, however this testing was not exhaustive and you may discover the recording overhead may negatively impact your mobile application performance depending on your application specifications. If you experience any performance degradations after installing Session Replay, please reach out to us. + +### What is the bandwidth impact and will it cause users to incur additional data charges? + +The bandwidth impact of Session Replay depends on the setting of the `wifiOnly` parameter. + +When `wifiOnly` is set to `true` (default setting), replay events are only flushed to the server when the device has a WiFi connection. If there is no WiFi, flushes are skipped, and the events remain in the in-memory queue until WiFi is restored. This ensures no additional cellular data is used, preventing users from incurring additional data charges. + +When `wifiOnly` is set to `false`, replay events are flushed with any available network connection, including cellular. In this case, the amount of cellular data consumed depends on the intensity of user interactions and the typical session length of your app. Users may incur additional data charges if large amounts of data are transmitted over cellular connections. + +### How does Session Replay for mobile work if my app is offline? + +Session Replay for mobile currently doesn’t work in offline mode. + +### Am I able to sample our session replay collection rate? + +Yes, you can configure the percentage of total replays that our SDK will capture as below. + +```swift +let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 50.0) +let sessionReplayInstance = MPSessionReplay.initialize(token: token, distinctId: distinctId, config: config) + +``` + +This out-of-the-box sampling method is random sampling: your SDK will decide randomly whether the currently SDK instance load falls into the sample or not. We recommend starting at 1% and increasing from there. Please note: if you expect low traffic, you can increase the starting sampling percentage. It is a good idea to control this with your own API, so you can change it on the fly without redeploying your app. While you're testing, we recommend that you set it to 100 and this ensure every user session will be sent to Mixpanel. Once testing is done, we recommend lowering this value in production. + +### Does it work in SwiftUI/UIKit apps? + +Yes, please refer to this [section](#initialize) + +### Does it support Obj-C based app? + +Yes, Objective-C and Swift are fully interoperable. + +### Can I prevent Session Replay from recording sensitive content? + +If your app is SwiftUI-based or UIKit-based, all `UITextField` and `UILabel` components are masked by default. `UITextField` cannot be unmasked, while `UILabels can be unmasked` You can also mask any view manually by calling: + +```swift +// SwiftUI +Image("family photo") + .mpReplaySensitive(true) + +// UIKit +let ccView = CreditCardUIView() +ccView.mpReplaySensitive = true +``` diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx index ceff52fe1a..1e38e67ba6 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx @@ -2,13 +2,9 @@ import { Callout } from 'nextra/components' # Implement Session Replay (Web) - -Before enabling Session Replay for a large audience, we recommend testing it in a demo project and starting with smaller user or account sets in production. This allows you to monitor performance and ensure your privacy rules align with company policies. - - ## Overview -This developer guide will assist you in configuring your web platform for [Session Replay](/docs/session-replay) using the [Mixpanel JavaScript SDK](/docs/tracking-methods/sdks/javascript). Learn more about viewing captured Replays in your project [here](/docs/session-replay). +This developer guide will assist you in configuring your web platform for [Session Replay](/docs/session-replay) using the [Mixpanel JavaScript SDK](/docs/tracking-methods/sdks/javascript). Learn more about [viewing captured Replays in your project here](/docs/session-replay). By default, Session Replay is disabled and will not be loaded into your application until explicitly enabled. In most cases, implementation is extremely simple, requiring only a single line of code to be changed. @@ -18,13 +14,17 @@ You are a Mixpanel customer and have the latest version of the Mixpanel Javascri ## Capturing Replays -You can capturing replay data for a sample of your users during SDK initialization, or customize when and where replays are captured manually using Session Replay methods provided by the SDK. + + Test in a sandbox project and start with a smaller sample rate. This allows you to monitor performance, usage, and ensure your privacy rules align with your company policies. + -We recommend using the sampling method unless you need to customize when you capture replay data. +You can capturing replay data using a sampling method (recommended), or customize when and where replays are captured manually using Session Replay methods provided by the SDK. ### Sampling -To enable Session Replay and set your sampling rate, set the `recording_sessions_percent` when initializing the SDK. This is the only change needed in your existing JavaScript SDK setup to enable Session Replay. +We recommend using the sampling method unless you need to customize when you capture replay data. + +To enable Session Replay and set your sampling rate, set the `recording_sessions_percent` when initializing the SDK. This is the only change needed in your existing JavaScript SDK implementation to enable Session Replay. Start with a low sampling rate, then adjust according to your specific analytics needs. @@ -52,6 +52,7 @@ This will have no effect if replay data collection is already in progress. **Example Usage** ```javascript Javascript +// manually trigger a replay capture mixpanel.start_session_recording(); ``` @@ -64,6 +65,7 @@ This will have no effect if there is no replay data collection in progress. **Example Usage** ```javascript Javascript +// manually end a replay capture mixpanel.stop_session_recording(); ``` @@ -118,6 +120,7 @@ You can use the `get_session_recording_properties()` method to return the Replay **Example Usage** ```javascript Javascript +// return the $mp_replay_id for the currently active capture mixpanel.get_session_recording_properties(); // {$mp_replay_id: '19221397401184-063a51e0c3d58d-17525637-1d73c0-1919139740f185'} ``` @@ -149,6 +152,7 @@ This is useful for debugging or for adding metadata to other platforms. (E.g. ad **Example Usage** ```javascript Javascript +// return the Mixpanel URL to view the current replay in the UI mixpanel.get_session_replay_url(); // https://mixpanel.com/projects/replay-redirect?replay_id=19307d78e24394fe15-0cd98d8fd9ad1d-1f525636-4b9600-19307d78e28194fe15&distinct_id=123&token=my-project-token ``` @@ -324,7 +328,7 @@ User replays are stored for 30 days after the time of ingestion. There is no way #### Can I prevent Session Replay from recording sensitive content? -By default, all on-screen text elements are masked in replays. Additionally, you can customize how you leverage our SDK to fully control (1) where to record and (2) whom to record. Consider the [example scenarios](/docs/session-replay/implement-session-replay/session-replay-web#example-scenarios) and [init options](/docs/session-replay/implement-session-replay/session-replay-web#init-options) provided above to customize the replay capture of your implementation. +By default, all on-screen text elements are masked in replays. Additionally, you can customize how you leverage our SDK to fully control (1) where to record and (2) whom to record. Consider the [manual capture example scenarios](/docs/session-replay/implement-session-replay/session-replay-web#example-scenarios) and [init options](/docs/session-replay/implement-session-replay/session-replay-web#init-options) provided above to customize the replay capture of your implementation. #### How can I estimate how many Replays I will generate? From dda6c0a5a85d56a6a5813ac8ba29a4511c9ca9a8 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Mon, 7 Apr 2025 03:24:20 -0700 Subject: [PATCH 06/22] SR developer guide android --- pages/docs/session-replay.mdx | 2 +- .../session-replay-android.md | 264 -------------- .../session-replay-android.mdx | 300 ++++++++++++++++ .../session-replay-ios.mdx | 340 +----------------- .../session-replay-web.mdx | 2 +- 5 files changed, 312 insertions(+), 596 deletions(-) delete mode 100644 pages/docs/session-replay/implement-session-replay/session-replay-android.md create mode 100644 pages/docs/session-replay/implement-session-replay/session-replay-android.mdx diff --git a/pages/docs/session-replay.mdx b/pages/docs/session-replay.mdx index cf92c284ab..7e28c5a3e9 100644 --- a/pages/docs/session-replay.mdx +++ b/pages/docs/session-replay.mdx @@ -167,7 +167,7 @@ You will not see the "View Replays" button if your organization is on an older p #### Can I use Session Replay with a CDP? -You can use Session Replay with CDPs (e.g., Segment and mParticle) for the web platform. Your app must include the Mixpanel Javascript SDK, with Session Replay enabled. Learn more in the technical guide [here](/docs/session-replay/implement-session-replay/session-replay-web). +You can use Session Replay with CDPs (e.g., Segment and mParticle) for the web platform. Your app must include the Mixpanel Javascript SDK, with Session Replay enabled. Learn more in the developer guide [here](/docs/session-replay/implement-session-replay/session-replay-web#session-replay-with-a-cdp). #### How can I estimate how many Replays I will generate? diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-android.md b/pages/docs/session-replay/implement-session-replay/session-replay-android.md deleted file mode 100644 index e020edfa38..0000000000 --- a/pages/docs/session-replay/implement-session-replay/session-replay-android.md +++ /dev/null @@ -1,264 +0,0 @@ -# Session Replay (Android): Watch playbacks of user digital experiences - -## Overview - -Mixpanel Session Replay is the fastest way to understand the whole picture about your customers and make better product decisions, by combining quantitative and qualitative user insights. - -When digging into customer journeys in Mixpanel’s analytics, you can understand “**where** do customers drop-off?” And now, Mixpanel Session Replay enables you to quickly follow-up with, “**why** do customers drop off?” - -## Availability - -Currently, Android Session Replay is in invite-only Alpha access for customers on our Enterprise plan. - -For any questions about Session Replay or Android Alpha access, please reach out to your Account Manager. Note: as our Alpha program is early access, our functionality, including data masking features, may have bugs and cause crashes. Be sure to test thoroughly before enabling in production. - -For more information on our Web replay functionality, read [here](/docs/session-replay/session-replay-web) - -Before publishing an App with Session Replay enabled, make sure to test it thoroughly to ensure that no sensitive data is exposed. Customizing masking rules in particular should be reviewed carefully. Like all Mixpanel product features, Mixpanel's customers are responsible for their configuration of Session Replay and ensuring sensitive data is not exposed. - -# Quick Start Guide - -## Prerequisite - -You are already a Mixpanel customer and have the latest version of the Mixpanel Android SDK installed (minimum supported version is `v8.0.2`). If not, please follow this [doc](/docs/quickstart) to get started. - -## Install - -You can integrate the Mixpanel Android Session Replay SDK into your Android project by embedding the Android Archive (AAR) file below. - -### Open Your Android Studio Project - -Open your existing Android Studio project where you want to integrate the Mixpanel Android Session Replay SDK. - -### Add Mixpanel Session Replay Library - -Download and Unzip the below zip file to your local drive - -[mixpanel-android-session-replay.aar.zip](https://mxpnl.notion.site/Mixpanel-Android-Session-Replay-SDK-Alpha-1bbe0ba92562800dacdbec9cb597d397) - -1. Copy the AAR file to the `app/libs` folder in your Android project. - -2. Configure your project's Gradle settings: - - **For Kotlin DSL (settings.gradle.kts):** - Add to the repositories section under `dependencyResolutionManagement`: - - ```kotlin - flatDir { - dirs("libs") - } - ``` - - **For Groovy DSL (build.gradle):** - Add to the repositories section under `buildScripts`: - - ```groovy - flatDir { - dirs("libs") - } - ``` - -3. Add the following dependencies to your module's `build.gradle` or `build.gradle.kts`: - - ```gradle - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:+") - implementation("com.squareup.curtains:curtains:+") - implementation(files("libs/mixpanel-android-session-replay.aar")) - ``` - -4. Sync your project with Gradle files. - -## Initialize - -You should have the main Mixpanel SDK installed (minimum version `v8.0.2`), if not, please refer to [Prerequisite](/docs/tracking-methods/sdks/android) Add the initialization code at the start of your app's lifecycle. - -Initialize the Session Replay SDK by following these steps: - -1. In your Application class, initialize the MPSessionReplay SDK: - - ```kotlin - private fun initializeMixpanel() { - val token = "MY_PROJECT_TOKEN" - val trackAutomaticEvents = true - - val mixpanel = MixpanelAPI.getInstance(this, token, trackAutomaticEvents) - mixpanel.identify("DISTINCT_ID") - - - val config = MPSessionReplayConfig( - wifiOnly = false, - recordSessionsPercent = 100.0 - ) - - MPSessionReplay.initialize(this, token, mixpanel.distinctId, config) - } - ``` - -2. Start recording when appropriate: - - ```kotlin - MPSessionReplay.getInstance()?.startRecording() - ``` - -Note: Replace `YOUR_PROJECT_TOKEN` with your actual Mixpanel project token and use appropriate value for `DISTINCT_ID`. - -## Configuration Options - -### Session Replay Config - -Upon initialization you can provide a MPSessionReplayConfig object to specify the configuration. Currently, there are only three config options: - -`wifiOnly` - when set to `true` replay events will only be flushed to the server when the device has a WiFi connection, if there is no WiFi, flushes are skipped and the events remain in the in-memory queue until WiFi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events). When set to `false` replay events will be flushed with any network connection, including cellular. - Default: `true` - -`recordSessionsPercent` - this is a value between 0.0 and 100.0 that controls the sampling rate for recording session replays, at 0.0 no sessions will be recorded, at 100.0 all sessions will be recorded. - Default: 0.0 - -`autoMaskedViews` - This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. By default it includes all available options: `ImageView`, `TextView` and `WebView` . - -- Config to auto mask Images only - -```kotlin -MPSessionReplayConfig( - recordSessionsPercent = 100.0, - autoMaskedViews = mutableSetOf(AutoMaskedView.ImageView) - ) -``` - -- Config to completely disable auto masking - -```kotlin -MPSessionReplayConfig( - recordSessionsPercent = 100.0, - autoMaskedViews = emptySet() - ) -``` - -- Config with default setting which is to auto mask image, text and WebViews - -```kotlin -MPSessionReplayConfig(recordSessionsPercent = 100.0) -``` - -## Enable Session Replay - -**Start Recording** -If you want to record the entire activity since the app’s launch, we recommend starting the recording at the beginning of your app’s lifecycle. If you want to record only for specific flows or features, start the recording at the entry point of the flow or feature. - -The recording automatically stops when the app goes to the background. Therefore, if you want to continuously record the replays, you’ll need to restart the replay once the app becomes active. - -```kotlin -MPSessionReplay.getInstance()?.startRecording() -``` - -**Stop Recording** - -The SDK automatically stops recording when the app goes to the background. However, if you’re recording replays for specific flows or features, you need to manually call `stopRecording` at the end of each flow or feature. - -```kotlin -MPSessionReplay.getInstance()?.stopRecording() -``` - -## Privacy Settings - -By default, Mixpanel will always mask all input text fields to exclude more sensitive views with user inputs from recording. To protect end-user privacy, input text fields cannot be unmasked . - -By default, Mixpanel will mask all text. You can unmask text like `TextView` at your discretion. - -By default, Mixpanel will mask all images. Images can be unmasked at your discretion. - -By default, Mixpanel will mask all WebViews. WebViews can be unmasked at your discretion. - -[See `autoMaskedViews` in config section above.](#session-replay-config) - -To mark any view as sensitive: - -```kotlin -// Compose -Image( - painter = painterResource(id = R.drawable.family_photo), - contentDescription = "Family Photo", - modifier = Modifier.mpReplaySensitive(true) -) - -// XML -val creditCardView: ImageView = findViewById(R.id.creditCardView) -MPSessionReplay.getInstance()?.addSensitiveView(creditCardView) -``` - -To mark a Compose view as safe: - -```kotlin -Image( - painter = painterResource(id = R.drawable.background_image), - contentDescription = "Background Image", - modifier = Modifier.mpReplaySensitive(false) -) -``` - -## Using Session Replay - -Please refer to [Using Session Replay](/docs/session-replay/session-replay-web#using-session-replay) - -## Legal (Beta Terms) - -Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.com/legal/session-replay-beta-service-addendum/). - -The alpha and beta of Mixpanel’s mobile session replay SDK will track certain events and send them to Mixpanel so that Mixpanel can understand and improve the alpha and beta mobile session replay feature experience. These events include starting and stopping a session, adding and removing sensitive classes, adding sensitive views and adding safe views. Nothing about your application will be included in this tracking; only your usage of the Mixpanel Session Replay SDK. - -## FAQ - -### How does Session Replay work in Android? - -Session Replay observes user interactions within your app, capturing UI hierarchy changes and storing them as images, which are then sent to Mixpanel. Mixpanel reconstructs these images, applying recorded events as an end-user completes them. Within Mixpanel’s platform, you can view a reconstruction of your end-user’s screen as they navigate your app. However, Session Replay is not a literal video recording of your end-user’s screen; end-user actions are not video-recorded. - -### What is the bandwidth impact and will it cause users to incur additional data charges? - -The bandwidth impact of Session Replay depends on the setting of the `wifiOnly` parameter. - -When `wifiOnly` is set to `true` (default setting), replay events are only flushed to the server when the device has a WiFi connection. If there is no WiFi, flushes are skipped, and the events remain in the in-memory queue until WiFi is restored. This ensures no additional cellular data is used, preventing users from incurring additional data charges. - -When `wifiOnly` is set to `false`, replay events are flushed with any available network connection, including cellular. In this case, the amount of cellular data consumed depends on the intensity of user interactions and the typical session length of your app. Users may incur additional data charges if large amounts of data are transmitted over cellular connections. - -### How does Session Replay for mobile work if my app is offline? - -Session Replay for mobile currently doesn’t work in offline mode. - -### Am I able to sample our session replay collection rate? - -Yes, you can configure the percentage of total replays that our SDK will capture as below. - -```kotlin -val config = MPSessionReplayConfig( - wifiOnly = false, - recordSessionsPercent = 50.0 -) - -MPSessionReplay.initialize(this, token, mixpanel.distinctId, config) - -``` - -This out-of-the-box sampling method is random sampling: your SDK will decide randomly whether the currently SDK instance load falls into the sample or not. We recommend starting at 1% and increasing from there. Please note: if you expect low traffic, you can increase the starting sampling percentage. It is a good idea to control this with your own API, so you can change it on the fly without redeploying your app. While you're testing, we recommend that you set it to 100 and this ensure every user session will be sent to Mixpanel. Once testing is done, we recommend lowering this value in production. - -### Does it work in XML/Jetpack Compose apps? - -Yes, standard XML-based apps are fully supported while Jetpack Compose apps have limited support for automatic masking of sensitive views. If your app is using Jetpack Compose it is recommended that you manually mark your views as sensitive. - -### Does it support Java based app? - -Yes, Java and Kotlin are fully interoperable. - -### Can I prevent Session Replay from recording sensitive content? - -All `EditText` and `TextView` components are masked by default. `EditText` cannot be unmasked, while `TextView can be unmasked` You can also mask any view manually by calling: - -```kotlin -// Compose -Image( - painter = painterResource(id = R.drawable.family_photo), - contentDescription = "Family Photo", - modifier = Modifier.mpReplaySensitive(true) -) - -// XML -val creditCardView: ImageView = findViewById(R.id.creditCardView) -MPSessionReplay.getInstance()?.addSensitiveView(creditCardView) -``` diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx new file mode 100644 index 0000000000..322a03875e --- /dev/null +++ b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx @@ -0,0 +1,300 @@ +import { Callout } from 'nextra/components' + +# Implement Session Replay (Android) + + +The iOS Session Replay is in invite-only Alpha access for customers on our Enterprise plan. Reach out to your Account Manager for any questions about Session Replay or the iOS Beta access. + + + +Since our Alpha program offers early access, some functionality, including data masking features, may contain bugs and cause crashes. We recommend thoroughly testing before enabling in production. + +Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.com/legal/session-replay-beta-service-addendum/). + + +## Overview + +This developer guide will assist you in configuring your Android app for [Session Replay](/docs/session-replay) using the [Session Replay SDK (Android)](/docs/tracking-methods/sdks/android-replay). Learn more about [viewing captured Replays in your project here](/docs/session-replay). + +## Prerequisite + +You are already a Mixpanel customer and have the latest version of the [Mixpanel Android SDK](/docs/tracking-methods/sdks/android) installed (minimum supported version is [`v8.0.2`](https://github.com/mixpanel/mixpanel-android/releases/tag/v8.0.2)). If not, please follow [this doc](/docs/quickstart/install-mixpanel) to install the SDK. + +## Installation + +You can integrate the Mixpanel Android Session Replay SDK into your Android project by embedding the Android Archive (AAR) file below. + +1. Open your existing Android Studio project where you want to integrate the Mixpanel Android Session Replay SDK. +2. Download and unzip [mixpanel-android-session-replay.aar.zip](https://mxpnl.notion.site/Mixpanel-Android-Session-Replay-SDK-Alpha-1bbe0ba92562800dacdbec9cb597d397) to your local drive. +3. Copy the AAR file to the `app/libs` folder in your Android project. +4. Configure your project's Gradle settings: + - For **Kotlin DSL (settings.gradle.kts)**: Add to the repositories section under `dependencyResolutionManagement`: + + ```kotlin Kotlin + flatDir { + dirs("libs") + } + ``` + - For **Groovy DSL (build.gradle)**: Add to the repositories section under `buildScripts`: + + ```groovy + flatDir { + dirs("libs") + } + ``` +5. Add the following dependencies to your module's `build.gradle` or `build.gradle.kts`: + +```gradle +implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:+") +implementation("com.squareup.curtains:curtains:+") +implementation(files("libs/mixpanel-android-session-replay.aar")) +``` + +6. Sync your project with Gradle files. + +### Initialize + +You should have the main Mixpanel Android SDK installed (minimum version `v8.0.2`), if not, please refer to [Prerequisite](/docs/session-replay/session-replay-android#prerequisite). + +Initialize the `MPSessionReplay` SDK in your `Application` class: + +**Example Usage** + +```kotlin +private fun initializeMixpanel() { + val token = "MY_PROJECT_TOKEN" + val trackAutomaticEvents = true + + val mixpanel = MixpanelAPI.getInstance(this, token, trackAutomaticEvents) + mixpanel.identify("DISTINCT_ID") + + + val config = MPSessionReplayConfig( + wifiOnly = false, + recordSessionsPercent = 100.0 + ) + + MPSessionReplay.initialize(this, token, mixpanel.distinctId, config) +} +``` + +## Capturing Replays + + + Test in a sandbox project and start with a smaller sample rate. This allows you to monitor performance, usage, and ensure your privacy rules align with your company policies. + + +You can capturing replay data using a sampling method (recommended), or customize when and where replays are captured manually using methods provided by the Session Replay Android SDK. + +### Sampling + +We recommend using the sampling method unless you need to customize when you capture replay data. + +To enable Session Replay and set your sampling rate, create a `SessionReplayConfig` object and set the `recordSessionsPercent` with a value between `0.0` and `100.0`. At `0.0` no sessions will be recorded, at `100.0` all sessions will be recorded. + +Start with a low sampling rate, then adjust according to your specific analytics needs. + +**Example Usage** + +```kotlin +// records 1% of all sessions +MPSessionReplayConfig( + recordSessionsPercent = 1.0 + ) +``` + +### Manual Capture + +To programatically start and stop replay capture, use the `.startRecording()` and `.stopRecording()` methods. This is optional, and can be used primarily to programmatically start and stop recording, or exclude something specific from recording. + +#### Start Capturing Replay Data + +Call `.startRecording()` to force recording to begin, regardless of the `recordSessionsPercent` init option. The recording automatically stops when the app goes to the background. Therefore, if you want to continuously record the replays, you will need to restart the replay once the app becomes active again. + +This will have no effect if replay data collection is already in progress. + +**Example Usage** + +```kotlin Kotlin +// manually trigger a replay capture +MPSessionReplay.getInstance()?.startRecording() +``` + +#### Stop Capturing Replay Data + +Call `.stopRecording()` to stop any active replay data collection. The SDK automatically stops recording when the app goes to the background. + +This will have no effect if there is no replay data collection in progress. + +**Example Usage** + +```kotlin Kotlin +// manually end a replay capture +MPSessionReplay.getInstance()?.stopRecording() +``` + +#### Example Scenarios + +| Scenario | Guidance | +| --- | --- | +| We have a sensitive screen we don't want to capture | When user is about to access the sensitive screen, call `.stopRecording()`. To resume recording once they leave this screen, you can resume recording with `.startRecording()` | +| We only want to record certain types of users (e.g. Free plan users only) | Using your application code, determine if current user meets the criteria of users you wish to capture. If they do, then call `.startRecording()` to force recording on | +| We only want to users utilizing certain features | When user is about to access the feature you wish to capture replays for, call `.startRecording()` to force recording on | + +### Additional Configuration Options + +Upon initialization you can provide a `SessionReplayConfig` object to customize your replay capture. + +Currently, there are only three config options: + +| Option | Description | Default | +| --- | --- | --- | +| `wifiOnly` | When `true`, replay events will only be flushed to the server when the device has a WiFi connection. If there is no wifi, flushes are skipped and the events remain in the in-memory queue until wifi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events).
When `false`, replay events will be flushed with any network connection, including cellular. | `true` | +| `recordSessionsPercent` | This is a value between `0.0` and `100.0` that controls the sampling rate for recording session replays.
At `0.0` no sessions will be recorded. At `100.0` all sessions will be recorded. | `0.0` | +| `autoMaskedViews` | This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. | `Image`, `Text`, and `Web` | + +**autoMaskedViews Example Usage** + +```kotlin Kotlin +// mask images only +MPSessionReplayConfig( + recordSessionsPercent = 100.0, + autoMaskedViews = mutableSetOf(AutoMaskedView.ImageView) + ) + +// disable auto masking +MPSessionReplayConfig( + recordSessionsPercent = 100.0, + autoMaskedViews = emptySet() + ) + +// mask image, text and WebViews +MPSessionReplayConfig(recordSessionsPercent = 100.0) +``` + +## Replay ID + +When a replay capture begins, a Replay ID is generated by the SDK and is attached as an event property (`$mp_replay_id`) to events tracked by the SDK during the capture session. Events containing the same `$mp_replay_id` will appear in the same Replay. + +If you are sending any events not coming from the SDK, add the `$mp_replay_id` event property to attribute the event to a specific Replay. + +### Server-side Stitching + +Server-Side Stitching allows you to easily watch Replays for events that were not fired from the SDK. + +It works by inferring the Replay that an event belong using the Distinct ID and time property attached to the event. This is especially useful if you have events coming in from multiple sources. + +For example, let's say a user with Distinct ID “ABC” has a Replay recorded from 1-2pm. Two hours later, an event was sent from your warehouse with a timestamp of 1:35pm with Distinct ID “ABC”. Server-side Stitching will infer that the event should belong in the same Replay. + +To ensure Server-Side Stitching works, call [`identify()`](/docs/tracking-methods/sdks/android#identify) from the client-side using our SDK with the user's `$user_id`. This guarantees that events generated from both the client-side and server-side share the same Distinct ID. Learn more about [identifying users](/docs/tracking-methods/id-management). + +## Debugging + + +`$mp_session_record` is exempt from your plan data allowance. + + +When a Replay capture begins, a "Session Recording Checkpoint" event will appear in your project, tracked as `$mp_session_record`. You may use this event to verify whether you have implemented Session Replay correctly. + +If you are using the [recommended sampling method](/docs/session-replay/implement-session-replay/session-replay-android#sampling) to capture your Replays but having trouble finding the Replays in your project, try calling `.startRecording()` manually and see if the `$mp_session_record` event appears. If it does appear but you are still struggling to locate your Replays, you may want to increase your sampling rate. + +You can also check the Home page for your project to check for any recent Replays listed in the "Latest Replays" card. + +If you are still struggling to implement, [submit a request to our Support team](https://mixpanel.com/get-support) for more assistance. + +## Privacy + +Mixpanel offers a privacy-first approach to Session Replay, including features such as data masking. Mixpanel's Session Replay privacy controls were designed to assist customers in protecting end user privacy. Read more [here](/docs/session-replay/session-replay-privacy-controls). + +### User Data + +The Mixpanel SDK will always mask all inputs. To protect end-user privacy, input text fields cannot be unmasked. + +By default, all text, images, and WebViews are also masked. + +You can unmask these element at your own discretion using the [`autoMaskedViews` config option described above](/docs/session-replay/implement-session-replay/session-replay-android#additional-configuration-options). + +#### Mark Views as Sensitive + +All `EditText` and `TextView` components are masked by default. `EditText` cannot be unmasked, while `TextView` can be unmasked. + +You can also mark any views as sensitive using `mpReplaySensitive` or `addSensitiveView`. Views marked as "sensitive" will be masked. + +**Example Usage** + +```kotlin Kotlin +// Compose +Image( + painter = painterResource(id = R.drawable.family_photo), + contentDescription = "Family Photo", + modifier = Modifier.mpReplaySensitive(true) +) + +// XML +val creditCardView: ImageView = findViewById(R.id.creditCardView) +MPSessionReplay.getInstance()?.addSensitiveView(creditCardView) +``` + +Set `mpReplaySensitive` to `false` to mark any view as safe. Views marked as "safe" will not be masked. + +**Example Usage** + +```kotlin Kotlin +// Compose +Image( + painter = painterResource(id = R.drawable.family_photo), + contentDescription = "Family Photo", + modifier = Modifier.mpReplaySensitive(false) +) +``` +### Retention + +User replays are stored for 30 days after the time of ingestion. There is no way to view a replay older than 30 days old. + +### Legal (Beta Terms) + +Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.com/legal/session-replay-beta-service-addendum/). + +The alpha and beta of Mixpanel's mobile session replay SDK will track certain events and send them to Mixpanel so that Mixpanel can understand and improve the alpha and beta mobile session replay feature experience. These events include starting and stopping a session, adding and removing sensitive classes, adding sensitive views and adding safe views. Nothing about your application will be included in this tracking; only your usage of the Mixpanel Session Replay SDK. + +## FAQ + +#### How does Session Replay work in Android? + +Session Replay observes user interactions within your app, capturing UI hierarchy changes and storing them as images, which are then sent to Mixpanel. Mixpanel reconstructs these images, applying recorded events as an end-user completes them. + +Within Mixpanel's platform, you can view a reconstruction of your end-user's screen as they navigate your app. + +However, Session Replay is not a literal video recording of your end-user's screen; end-user actions are not video-recorded. + +#### Can I prevent Session Replay from recording sensitive content? + +The Mixpanel SDK will always mask all inputs. By default, all text, images, and WebViews on a page. + +Additionally, you can customize how you leverage our SDK to fully control (1) where to record and (2) whom to record. Consider the [manual capture example scenarios](/docs/session-replay/implement-session-replay/session-replay-android#manual-capture), [SDK configuration options](/docs/session-replay/implement-session-replay/session-replay-android#additional-configuration-options), and [manual view masking example](/docs/session-replay/implement-session-replay/session-replay-android#mark-views-as-sensitive) provided above to customize the replay capture of your implementation. + +#### How can I estimate how many Replays I will generate? + +If you already use Mixpanel, the [Session Start events](/docs/features/sessions) are a way to estimate the rough amount of replays you might expect. This is especially true if you use timeout-based query sessions. However, because our sessions are defined at query time, we cannot guarantee these metrics will be directly correlated. + +When you enable Session Replay, use the above proxy metric to determine a starting sampling percentage, which will determine how many replays will be sent. You can always adjust this as you go to calibrate to the right level. + +#### How does Session Replay affect my app's bandwidth consumption? + +The bandwidth impact of Session Replay depends on the setting of the [`wifiOnly` parameter](/docs/session-replay/implement-session-replay/session-replay-android#additional-configuration-options). + +By default, `wifiOnly` is set to `true`, which means replay events are only flushed to the server when the device has a wifi connection. If there is no wifi, flushes are skipped, and the events remain in the in-memory queue until WiFi is restored. This ensures no additional cellular data is used, preventing users from incurring additional data charges. + +When `wifiOnly` is set to `false`, replay events are flushed with any available network connection, including cellular. In this case, the amount of cellular data consumed depends on the intensity of user interactions and the typical session length of your app. Users may incur additional data charges if large amounts of data are transmitted over cellular connections. + +#### How does Session Replay for mobile work if my app is offline? + +Session Replay for mobile does not work in offline mode. + +#### Does it work in XML/Jetpack Compose apps? + +Yes, standard XML-based apps are fully supported while Jetpack Compose apps have limited support for automatic masking of sensitive views. If your app is using Jetpack Compose, it is recommended that you manually mark your views as sensitive. + +#### Does it support Java based app? + +Yes, Java and Kotlin are fully interoperable. \ No newline at end of file diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx index 7ff46cbb75..0a66d6cf61 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx @@ -18,7 +18,7 @@ This developer guide will assist you in configuring your Swift app for [Session ## Prerequisite -You are already a Mixpanel customer and have the latest version of the [Mixpanel Swift SDK](/docs/tracking-methods/sdks/swift) installed (minimum supported version is [v4.3.1](https://github.com/mixpanel/mixpanel-swift/releases/tag/v4.3.1)). If not, please follow [this doc](/docs/quickstart/install-mixpanel) to install the SDK. +You are already a Mixpanel customer and have the latest version of the [Mixpanel Swift SDK](/docs/tracking-methods/sdks/swift) installed (minimum supported version is [`v4.3.1`](https://github.com/mixpanel/mixpanel-swift/releases/tag/v4.3.1)). If not, please follow [this doc](/docs/quickstart/install-mixpanel) to install the SDK. ## Installation @@ -30,9 +30,7 @@ To capture Session Replays in your app, add the [Session Replay SDK]((/docs/trac ### Initialize -You should have the main Mixpanel SDK installed (minimum version `v4.3.1`), if not, please refer to [Prerequisite](/docs/session-replay/session-replay-ios#prerequisite). - -Add the following initialization code at the start of your app's lifecycle in `SwiftUI` and `UIKit`: +You should have the main Mixpanel Swift SDK installed (minimum version `v4.3.1`), if not, please refer to [Prerequisite](/docs/session-replay/session-replay-ios#prerequisite). **SwiftUI** @@ -161,7 +159,7 @@ MPSessionReplay.getInstance()?.stopRecording() Upon initialization you can provide a `SessionReplayConfig` object to customize your replay capture. -Currently, there are only five config options: +Currently, there are only four config options: | Option | Description | Default | | --- | --- | --- | @@ -228,7 +226,7 @@ Keeping in mind that this is relatively inefficient and will result in capturing ## Replay ID -When a replay capture begins, a Replay ID is generated by the SDK and is attached as an event property (`$mp_replay_id`) to events tracked by the SDK during the capture session. Events containing the same $mp_replay_id will appear in the same Replay. +When a replay capture begins, a Replay ID is generated by the SDK and is attached as an event property (`$mp_replay_id`) to events tracked by the SDK during the capture session. Events containing the same `$mp_replay_id` will appear in the same Replay. If you are sending any events not coming from the SDK, add the `$mp_replay_id` event property to attribute the event to a specific Replay. @@ -276,7 +274,9 @@ Mixpanel offers a privacy-first approach to Session Replay, including features s ### User Data -The Mixpanel SDK will always mask all inputs. By default, all text, images, and WebViews on a page. +The Mixpanel SDK will always mask all inputs. To protect end-user privacy, input text fields cannot be unmasked. + +By default, all text, images, and WebViews are also masked. You can unmask these element at your own discretion using the [`autoMaskedViews` config option described above](/docs/session-replay/implement-session-replay/session-replay-ios#additional-configuration-options). @@ -348,7 +348,7 @@ If you already use Mixpanel, the [Session Start events](/docs/features/sessions) When you enable Session Replay, use the above proxy metric to determine a starting sampling percentage, which will determine how many replays will be sent. You can always adjust this as you go to calibrate to the right level. -#### How does Session Replay affect my apps performance? +#### How does Session Replay affect my app's performance? There is no impact on your app's performance when there are no user interactions or nothing changes on the screen. When there are user interactions, expect approximately 1% to 3% more CPU usage and around 1MB more memory consumption. There is no impact on disk I/O because Session Replay does not write anything to your disk. @@ -356,7 +356,7 @@ In our own testing, the overhead is unnoticeable, however this testing was not e If you experience any performance degradations after installing Session Replay, please [reach out to our Support team](https://mixpanel.com/get-support). -#### What is the impact on bandwidth consumption? +#### How Does Session Replay affect my app's bandwidth consumption? The bandwidth impact of Session Replay depends on the setting of the [`wifiOnly` parameter](/docs/session-replay/implement-session-replay/session-replay-ios#additional-configuration-options). @@ -374,324 +374,4 @@ Session Replay for mobile does not work in offline mode. #### Does it support Obj-C based app? -Yes, Objective-C and Swift are fully interoperable. - - - - - -------------- -## Overview - -Mixpanel Session Replay is the fastest way to understand the whole picture about your customers and make better product decisions, by combining quantitative and qualitative user insights. - -When digging into customer journeys in Mixpanel’s analytics, you can understand “**where** do customers drop-off?” And now, Mixpanel Session Replay enables you to quickly follow-up with, “**why** do customers drop off?” - -## Availability - -Currently, iOS Session Replay is in invite-only Beta access for customers on our Enterprise plan. - -For any questions about Session Replay or iOS Beta access, please reach out to your Account Manager. Note: as our Beta program is early access, our functionality, including data masking features, may have bugs and cause crashes. Be sure to test thoroughly before enabling in production. - -For more information on our Web replay functionality, read [here](/docs/session-replay/session-replay-web) - -Before publishing an App with Session Replay enabled, make sure to test it thoroughly to ensure that no sensitive data is exposed. Customizing masking rules in particular should be reviewed carefully. Like all Mixpanel product features, Mixpanel's customers are responsible for their configuration of Session Replay and ensuring sensitive data is not exposed. - -# Quick Start Guide - -## Prerequisite - -You are already a Mixpanel customer and have the latest version of the Mixpanel Swift SDK installed (minimum supported version is `v4.3.1`). If not, please follow this [doc](/docs/quickstart) to get started. - -## Installation - -Add the Session Replay SDK using Swift Package Manager directly in Xcode: - -1. In Xcode, go to **File → Add Package Dependencies...** -2. Paste the GitHub URL: `https://github.com/mixpanel/mixpanel-ios-session-replay-package` -3. Follow the prompts to select the latest version and add the package to your project. - -## Initialize - -You should have the main Mixpanel SDK installed (minimum version `v4.3.1`), if not, please refer to [Prerequisite](/docs/tracking-methods/sdks/swift) Add the initialization code at the start of your app's lifecycle. - -SwiftUI - -```swift -import Mixpanel -import MixpanelSessionReplay - -struct SessionReplayDemoApp: App { - @State private var isActive = true - @Environment(\\.scenePhase) private var scenePhase - - var body: some Scene { - WindowGroup { - ... - } - .onChange(of: scenePhase) { - if scenePhase == .active { - let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 100.0) - let sessionReplayInstance = MPSessionReplay.initialize(token: Mixpanel.mainInstance().apiToken, distinctId: Mixpanel.mainInstance().distinctId, config: config) - - sessionReplayInstance.loggingEnabled = true - sessionReplayInstance.startRecording() - } - } -} - -``` - -UIKit - -```swift -import Foundation -import UIKit - -import Mixpanel -import MixpanelSessionReplay - -class AppDelegate: UIResponder, UIApplicationDelegate { - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { - Mixpanel.initialize(token: token, trackAutomaticEvents: true) - - let config = MPSessionReplayConfig( - wifiOnly: false, - recordSessionsPercent: 100.0 - ) - let sesionReplayInstance = MPSessionReplay.initialize( - token: Mixpanel.mainInstance().apiToken, - distinctId: Mixpanel.mainInstance().distinctId, - config: config - ) - #if DEBUG - Mixpanel.mainInstance().loggingEnabled = true - MPSessionReplay.getInstance()?.loggingEnabled = true - #endif - return true - } - - func applicationDidBecomeActive(_ application: UIApplication) { - MPSessionReplay.getInstance()?.startRecording() - } - -} - -``` - -## Configuration Options - -### Session Replay Config - -Upon initialization you can provide a SessionReplayConfig object to specify the configuration. Currently, there are only three config options: - -`wifiOnly` - when set to `true` replay events will only be flushed to the server when the device has a WiFi connection, if there is no WiFi, flushes are skipped and the events remain in the in-memory queue until WiFi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events). When set to `false` replay events will be flushed with any network connection, including cellular. - Default: `true` - -`recordSessionsPercent` - this is a value between 0.0 and 100.0 that controls the sampling rate for recording session replays, at 0.0 no sessions will be recorded, at 100.0 all sessions will be recorded. - Default: 0.0 - -`autoMaskedViews` - This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. By default it includes all available options: `Image`, `Text` and `Web` . - -- Config to auto mask Images only - -```swift -MPSessionReplayConfig(recordSessionsPercent: 100.0, autoMaskedViews: [.Image]) -``` - -- Config to completely disable auto masking - -```swift -MPSessionReplayConfig(recordSessionsPercent: 100.0, autoMaskedViews: []) -``` - -- Config with default setting which is to auto mask image, text and WebViews - -```swift -MPSessionReplayConfig(recordSessionsPercent: 100.0) -``` - -`autoCapture` - This an enum to selectively disable the runtime method replacement functionality (aka "swizzling) in the event that it conflicts with another SDK ([like New Relic](https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements/#method)) - -- Config to auto capture on both view controller lifecycle methods and touch events (Default) - -```swift -MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .enabled) -``` - -- Config to auto capture only on view controller lifecycle events -- use this if you want to keep the touch based functionality in the conflicting SDK, but not their view controller functionality. - -```swift -MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .viewControllerLifecycle) -``` - -- Config to auto capture only on touch events -- use this if you want to keep the view controller lifecycle functionality in the conflicting SDK, but not their touch functionality. - -```swift -MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .touch) -``` - -- Config to completely disable auto capture -- use this if you want to keep all functionality in the conflicting SDK - -```swift -MPSessionReplayConfig(recordSessionsPerecent: 100.0, autoCapture: .disabled) -``` - -### Manual Screenshot Capture - -If you have partially or completely disabled automatic screen capture via the `autoCapture` config setting you can manually capture screenshots by calling `captureScreenshot()`: - -```swift -MPSessionReplay.getInstance()?.captureScreenshot() -``` - -Or if the manual capture was triggered by a touch event: - -```swift -MPSessionReplay.getInstance()?.captureScreenshot(withTouchEvent: touchEvent) -``` - -NOTE: If you choose to disable auto capture and do manual screen capturing instead, it will be up to you to determine when, where and how you call the `captureScreenshot()` method in your application. The most naïve approach would be to call it on a `Timer`, for example: - -```swift -let screenshotTimer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in - MPSessionReplay.getInstance()?.captureScreenshot() -} -``` - -Keeping in mind that this is relatively inefficient and will result in capturing unnecessary/unchanged screenshots, it's also possible to miss important moments in between the timed screenshots. Taking screenshots on demand at critical moments will always be preferable. - -### Logging - -Developers can enable or disable logging with the `loggingEnabled` property of the `MPSessionReplay` object. - -### Example - -```swift -let token = Mixpanel.mainInstance().apiToken -let distinctId = Mixpanel.mainInstance().distinctId -let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 50.0) -let sessionReplayInstance = MPSessionReplay.initialize(token: token, distinctId: distinctId, config: config) -sessionReplayInstance.loggingEnabled = true - -``` - -## Enable Session Replay - -**Start Recording** -If you want to record the entire activity since the app’s launch, we recommend starting the recording at the beginning of your app’s lifecycle. If you want to record only for specific flows or features, start the recording at the entry point of the flow or feature. - -The recording automatically stops when the app goes to the background. Therefore, if you want to continuously record the replays, you’ll need to restart the replay once the app becomes active. - -```swift -MPSessionReplay.getInstance()?.startRecording() -``` - -**Stop Recording** - -The SDK automatically stops recording when the app goes to the background. However, if you’re recording replays for specific flows or features, you need to manually call `stopRecording` at the end of each flow or feature. - -```swift -MPSessionReplay.getInstance()?.stopRecording() -``` - -## Privacy Settings - -By default, Mixpanel will always mask all input text fields to exclude more sensitive views with user inputs from recording. To protect end-user privacy, input text fields cannot be unmasked . - -By default, Mixpanel will mask all text. You can unmask text like `UILabels` at your discretion. - -By default, Mixpanel will mask all images. Images can be unmasked at your discretion. - -By default, Mixpanel will mask all WebViews. WebViews can be unmasked at your discretion. - -[See `autoMaskedViews` in config section above.](#session-replay-config) - -To mark any view as sensitive: - -```swift -// SwiftUI -Image("family photo") - .mpReplaySensitive(true) - -// UIKit -let ccView = CreditCardUIView() -ccView.mpReplaySensitive = true -``` - -To mark any view as safe: - -```swift -// SwiftUI -BackgroundImage() - .mpReplaySensitive(false) - -//UIKit -let bgImage = BackgroundImage() -bgImage.mpReplaySensitive = false -``` - -## Using Session Replay - -Please refer to [Using Session Replay](/docs/session-replay/session-replay-web#using-session-replay) - -## Legal (Beta Terms) - -Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.com/legal/session-replay-beta-service-addendum/). - -The alpha and beta of Mixpanel’s mobile session replay SDK will track certain events and send them to Mixpanel so that Mixpanel can understand and improve the alpha and beta mobile session replay feature experience. These events include starting and stopping a session, adding and removing sensitive classes, adding sensitive views and adding safe views. Nothing about your application will be included in this tracking; only your usage of the Mixpanel Session Replay SDK. - -## FAQ - -### How does Session Replay work in iOS? - -Session Replay observes user interactions within your app, capturing UI hierarchy changes and storing them as images, which are then sent to Mixpanel. Mixpanel reconstructs these images, applying recorded events as an end-user completes them. Within Mixpanel’s platform, you can view a reconstruction of your end-user’s screen as they navigate your app. However, Session Replay is not a literal video recording of your end-user’s screen; end-user actions are not video-recorded. - -### What is the expected impact on my app performance? - -There is no impact on your app’s performance when there are no user interactions or nothing changes on the screen. When there are user interactions, expect approximately 1% to 3% more CPU usage and around 1MB more memory consumption. There is no impact on disk I/O because Session Replay does not write anything to your disk. In our own testing, the overhead is unnoticeable, however this testing was not exhaustive and you may discover the recording overhead may negatively impact your mobile application performance depending on your application specifications. If you experience any performance degradations after installing Session Replay, please reach out to us. - -### What is the bandwidth impact and will it cause users to incur additional data charges? - -The bandwidth impact of Session Replay depends on the setting of the `wifiOnly` parameter. - -When `wifiOnly` is set to `true` (default setting), replay events are only flushed to the server when the device has a WiFi connection. If there is no WiFi, flushes are skipped, and the events remain in the in-memory queue until WiFi is restored. This ensures no additional cellular data is used, preventing users from incurring additional data charges. - -When `wifiOnly` is set to `false`, replay events are flushed with any available network connection, including cellular. In this case, the amount of cellular data consumed depends on the intensity of user interactions and the typical session length of your app. Users may incur additional data charges if large amounts of data are transmitted over cellular connections. - -### How does Session Replay for mobile work if my app is offline? - -Session Replay for mobile currently doesn’t work in offline mode. - -### Am I able to sample our session replay collection rate? - -Yes, you can configure the percentage of total replays that our SDK will capture as below. - -```swift -let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 50.0) -let sessionReplayInstance = MPSessionReplay.initialize(token: token, distinctId: distinctId, config: config) - -``` - -This out-of-the-box sampling method is random sampling: your SDK will decide randomly whether the currently SDK instance load falls into the sample or not. We recommend starting at 1% and increasing from there. Please note: if you expect low traffic, you can increase the starting sampling percentage. It is a good idea to control this with your own API, so you can change it on the fly without redeploying your app. While you're testing, we recommend that you set it to 100 and this ensure every user session will be sent to Mixpanel. Once testing is done, we recommend lowering this value in production. - -### Does it work in SwiftUI/UIKit apps? - -Yes, please refer to this [section](#initialize) - -### Does it support Obj-C based app? - -Yes, Objective-C and Swift are fully interoperable. - -### Can I prevent Session Replay from recording sensitive content? - -If your app is SwiftUI-based or UIKit-based, all `UITextField` and `UILabel` components are masked by default. `UITextField` cannot be unmasked, while `UILabels can be unmasked` You can also mask any view manually by calling: - -```swift -// SwiftUI -Image("family photo") - .mpReplaySensitive(true) - -// UIKit -let ccView = CreditCardUIView() -ccView.mpReplaySensitive = true -``` +Yes, Objective-C and Swift are fully interoperable. \ No newline at end of file diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx index 1e38e67ba6..6991f11479 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx @@ -10,7 +10,7 @@ By default, Session Replay is disabled and will not be loaded into your applicat ## Prerequisite -You are a Mixpanel customer and have the latest version of the Mixpanel Javascript SDK installed (minimum supported version is [v2.50.0](https://github.com/mixpanel/mixpanel-js/releases/tag/v2.50.0)). If not, please follow [this doc](/docs/quickstart/install-mixpanel) to install the SDK. +You are a Mixpanel customer and have the latest version of the Mixpanel Javascript SDK installed (minimum supported version is [`v2.50.0`](https://github.com/mixpanel/mixpanel-js/releases/tag/v2.50.0)). If not, please follow [this doc](/docs/quickstart/install-mixpanel) to install the SDK. ## Capturing Replays From e8a05ab87a72bb1b33c0f87b8d60e8f8637a7f72 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Mon, 7 Apr 2025 04:24:34 -0700 Subject: [PATCH 07/22] SR declutter JS SDK page --- pages/docs/session-replay.mdx | 15 ---- .../implement-session-replay.mdx | 8 +- .../session-replay-android.mdx | 2 + .../session-replay-web.mdx | 2 + .../docs/tracking-methods/sdks/javascript.mdx | 84 +++++++------------ 5 files changed, 39 insertions(+), 72 deletions(-) diff --git a/pages/docs/session-replay.mdx b/pages/docs/session-replay.mdx index 7e28c5a3e9..d3539e877b 100644 --- a/pages/docs/session-replay.mdx +++ b/pages/docs/session-replay.mdx @@ -119,21 +119,6 @@ If you currently use [Autocapture](/docs/tracking-methods/autocapture) to track 2. Choose a URL where you want to analyze user interactions. 3. To easily navigate back to a created Heatmap, you can click the title to rename the Heatmap -## Server Side Stitching - -Server-Side Stitching allows you to easily watch replays for events that are not fired from our SDK. It works by inferring the replay an event happened in by looking at the distinct ID and time that the replay occurred. This is especially useful if you have events coming in from multiple sources such as your server or via warehouse import where it does not make sense to pass around the value of `mixpanel.get_session_recording_properties()`. (Note: we still recommend including these properties on your client side events to guarantee accuracy.) - -This make it possible to watch replays for events tracked server-side, events coming from your data warehouse, and events tracked with your CDP (we still recommend using our [CDP middleware](/docs/session-replay-web#can-i-use-session-replay-with-a-cdp) to ensure data accuracy for cross tab/platform user sessions). - -| | **With Competitors** | **With Mixpanel** | **Value Add** | -| --- | --- | --- | --- | -| **Events sent via Data Warehouses** | Cannot watch replays that contain without lots of custom code | Can easily watch replays that contain, just need our SDK to capture replays and make an `.identify()` call | **High** | -| **Events sent via APIs (e.g. server-side events)** | Cannot watch replays that contain without lots of custom code | Can easily watch replays that contain, just need our SDK to capture replays and make an `.identify()` call | **High** | -| **Events sent via Customer Data Platform** | Middleware required to watch replays that contain a specific event | You do not need middleware to watch replays that contain specific events. However, we recommend adding middleware to handle edge cases where replays may not be associated with the right events (simultaneous sessions across tabs, domains, or apps) | **Medium** | -| **Events sent via Client-Side SDK** | Can easily watch replays that contain a specific event | Can easily watch replays that contain a specific event | **Low** | - -To ensure Server-Side Stitching works, call `identify()` from the client-side using our SDK with the user's unique Distinct ID. This guarantees that events generated from both the client-side and server-side share the same Distinct ID. [Learn more about identifying users](/docs/tracking-methods/id-management/identifying-users-simplified#client-side-identity-management). - ## FAQ #### What happens when I reach my Session Replay limit? diff --git a/pages/docs/session-replay/implement-session-replay.mdx b/pages/docs/session-replay/implement-session-replay.mdx index 30cc16b3ba..bfa8f07922 100644 --- a/pages/docs/session-replay/implement-session-replay.mdx +++ b/pages/docs/session-replay/implement-session-replay.mdx @@ -2,9 +2,9 @@ import { Cards } from 'nextra/components' # Implement Session Replay -Session Replay is supported on three platforms: Web, iOS, and Android. You can use Session Replay with CDPs (e.g., Segment and mParticle) through the Web platform. +Session Replay is supported on three platforms: Web, iOS, and Android. Additionally, can use Session Replay with CDPs (e.g., Segment and mParticle) through the Web platform. -See our developer guides on implementing Session Replay for these platforms below: +See our developer guides on implementing Session Replay below to start recording replays. ## Web @@ -17,4 +17,6 @@ See our developer guides on implementing Session Replay for these platforms belo - \ No newline at end of file +
+ +Learn more about [viewing captured Replays in your project here](/docs/session-replay). \ No newline at end of file diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx index 322a03875e..1da0745a19 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx @@ -214,6 +214,8 @@ By default, all text, images, and WebViews are also masked. You can unmask these element at your own discretion using the [`autoMaskedViews` config option described above](/docs/session-replay/implement-session-replay/session-replay-android#additional-configuration-options). +Along with other data, the SDK respects all Do Not Track (DNT) settings as well as manual opt-out for any replay data. + #### Mark Views as Sensitive All `EditText` and `TextView` components are masked by default. `EditText` cannot be unmasked, while `TextView` can be unmasked. diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx index 6991f11479..dac7819306 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx @@ -320,6 +320,8 @@ Mixpanel offers a privacy-first approach to Session Replay, including features s The Mixpanel SDK will always mask all inputs. By default, all text on a page will also be masked unless a different `record_mask_text_selector` is specified (see [Additional Configuration](/docs/session-replay/implement-session-replay/session-replay-web#additional-configuration-options) above). +Along with other data, the SDK respects all Do Not Track (DNT) settings as well as manual opt-out for any replay data. + ### Retention User replays are stored for 30 days after the time of ingestion. There is no way to view a replay older than 30 days old. diff --git a/pages/docs/tracking-methods/sdks/javascript.mdx b/pages/docs/tracking-methods/sdks/javascript.mdx index 8147afcbb2..7adbf983d5 100644 --- a/pages/docs/tracking-methods/sdks/javascript.mdx +++ b/pages/docs/tracking-methods/sdks/javascript.mdx @@ -912,13 +912,19 @@ Here's a [full code sample](https://gist.github.com/ranic/80459104def4e4bcd73d5c ## Session Replay -Capture and replay data on how users interact with your application. By default, the Replay functionality is disabled and will not be loaded into your application until explicitly enabled. Ensure your application runs at least version 2.50.0 of our JavaScript SDK to use this feature. + + See the developer's guide to implementing Session Replay with the Javascript SDK [here](/docs/session-replay/implement-session-replay/session-replay-web). + + +Mixpanel [Session Replay](/docs/session-replay) enables you to watch playbacks of your end-user's digital experiences on your website. By default, the Session Replay functionality is disabled and will not be loaded into your website until explicitly enabled. -Before you enable Session Replay for a large audience, we recommend testing in a demo project, and starting in production with smaller sets of users or accounts, so that you can monitor performance and ensure your privacy rules align with company policies. +### Sampling -### Implementation / Sampling +Enable Session Replay and set your sampling rate with the `record_sessions_percent` config option when initializing the library. -Implementing Session Replay and setting your sampling rate can be accomplished in a single step during the SDK initialization. Here’s how to activate Session Replay and control the volume of session data captured: +Start with a low sampling rate and adjust according to your specific analytics needs. + +**Example Usage** ```javascript mixpanel.init( @@ -929,11 +935,11 @@ mixpanel.init( ) ``` -Start with a low sampling rate, such as 1%, and adjust according to your specific analytics needs. +Start with a low sampling rate and adjust according to your specific analytics needs. -Note: This is the only change needed in your existing JavaScript SDK setup to enable Session Replay. +### Replay Configurations -### Init Options +Customize the Replay capture behavior using the library init options outlined below. | Option | Description | Default | | --- | --- | --- | @@ -948,75 +954,45 @@ Note: This is the only change needed in your existing JavaScript SDK setup to en | `record_sessions_percent` | Percentage of SDK initializations that will qualify for replay data capture. A value of "1" = 1%. | `0` | | `record_canvas` | When true, Mixpanel will record snapshots of `` elements on your site at up to 15 frames per second | `false` | +### Manual Capture -### Session Replay Methods - -We give our customers full control to customize when and where they capture session replays. +Start and stop the capturing of Replay data manually at any time using the `start_session_recording()` and `stop_session_recording()` methods. These methods override the `record_sessions_percent` value from the [sampling init option](/docs/tracking-methods/sdks/javascript#sampling) above. -#### Start capturing replay data +**Example Usage** ```javascript -mixpanel.start_session_recording() -``` -This will force recording to begin, overriding any value defined in `record_sessions_percent`. This will have no effect if replay data collection is in progress. - -This is optional, and can be used primarily to programmatically start and stop recording, or exclude something specific from recording. We recommend using the [sampling method](/docs/tracking-methods/sdks/javascript#sampling-method) detailed above unless you need to customize when you capture replay data. +// force session recording to begin +// no effect if replay data collection is in progress +mixpanel.start_session_recording(); -#### Stop capturing replay data - -```javascript -mixpanel.stop_session_recording() +// force session recording to end +// no effect if replay data collection is not in progress +mixpanel.stop_session_recording(); ``` -This will have no effect if there is no replay data collection in progress. -#### Get replay properties +#### Get Replay ID -Use this method to get properties used to identify a replay that is taking place. Add the properties from this method to any events sent to Mixpanel that are not coming from the SDK (e.g. from a [CDP library](/docs/session-replay/session-replay-web#can-i-use-session-replay-with-a-cdp)). +Use the `get_session_recording_properties()` method to return the `$mp_replay_id` of the current recording taking place. Add this property to any events not tracked using the SDK to include the event in the current recording. -If your Mixpanel Events are instrumented using the JavaScript SDK, these properties will automatically be added. +Events tracked using the JavaScript SDK while session recording is active will have the `$mp_replay_id` added automatically. + +**Example Usage** ```javascript mixpanel.get_session_recording_properties() // {$mp_replay_id: '19221397401184-063a51e0c3d58d-17525637-1d73c0-1919139740f185'} +// Returns an empty object if there is no Replay in progress. ``` -Returns an empty object if there is no Replay in progress. -#### Get replay URL +#### Get Replay URL Returns a URL linking to the current replay in the Mixpanel UI. This URL is accessible only by authenticated users with the necessary permissions for the Mixpanel project. This is useful for debugging purposes or for adding metadata to other platforms, such as support tickets. ```javascript mixpanel.get_session_replay_url() // https://mixpanel.com/projects/replay-redirect?replay_id=19307d78e24394fe15-0cd98d8fd9ad1d-1f525636-4b9600-19307d78e28194fe15&distinct_id=123&token=my-project-token +// Returns null if there is no Replay in progress. ``` -Returns null if there is no Replay in progress. - -#### Example Scenarios - -| Scenario | Guidance | -| --- | --- | -| We have a sensitive screen we don't want to capture | When user is about to access the sensitive screen, call `mixpanel.stop_session_recording()`. To resume recording once they leave this screen, you can resume recording with `mixpanel.start_session_recording()` | -| We only want to record certain types of users (e.g. Free plan users only) | Using your application code, determine if current user meets the criteria of users you wish to capture. If they do, then call `mixpanel.start_session_recording()` to force recording on | -| We only want to users utilizing certain features | When user is about to access the feature you wish to capture replays for, call `mixpanel.start_session_recording()` to force recording on | - - -### Tips & Tricks While Implementing -- Search for Session Recording Checkpoint events in your project, tracked as `$mp_session_record`. When you capture Mixpanel session replays, the SDK will automatically emit this default event. If you've implemented correctly, you should see these events appear. Note: the Session Recording Checkpoint event does not count as a billed event for events plans in Mixpanel. -- Calling `mixpanel.start_session_recording()` in your website / application is a good test to see if it causes Session Recording Checkpoint event mentioned above to appear. If it does, and you're still struggling to find replays for Users and Reports, your sampling rate may not be working, or may be set too low. -- Check the home page for your project to see if there are any replays listed in the Latest Replays card. -- If you're still struggling to implement, [submit a request to our Support team](https://mixpanel.com/get-support) for more assistance. - -### Privacy -Mixpanel offers a privacy-first approach to Session Replay, including features such as data masking. Mixpanel’s Session Replay privacy controls were designed to assist customers in protecting end user privacy. Read more [here](/docs/session-replay/session-replay-web#appendix-session-replay-privacy-controls). - - -#### User Data -The Mixpanel SDK will always mask all inputs. By default, all text on a page will also be masked unless a different `record_mask_text_selector` is specified. - -Along with other data, the SDK respects all Do Not Track (DNT) settings as well as manual opt-out for any replay data. - -#### Retention -User replays are stored for 30 days after the time of ingestion. There is no way to view a replay older than 30 days old. ## Release History [See All Releases](https://github.com/mixpanel/mixpanel-js/releases). From c6d36318f8b940cdb3e87266208cac90137d10cf Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Wed, 9 Apr 2025 13:50:48 -0700 Subject: [PATCH 08/22] add getReplayId methods for mobile --- .../session-replay-android.mdx | 14 ++++++++++++++ .../session-replay-ios.mdx | 10 ++++++++++ .../docs/tracking-methods/sdks/android-replay.mdx | 1 + 3 files changed, 25 insertions(+) diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx index 1da0745a19..a2f22f6c72 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx @@ -178,6 +178,16 @@ When a replay capture begins, a Replay ID is generated by the SDK and is attache If you are sending any events not coming from the SDK, add the `$mp_replay_id` event property to attribute the event to a specific Replay. +You can use the `getReplayId()` method to return the Replay ID for the current replay capture. The method will return an empty object if there is no active replay capture in progress. + +**Example Usage** + +```kotlin Kotlin +// return the $mp_replay_id for the currently active capture +MPSessionReplay.getInstance()?.getReplayId() +// {$mp_replay_id: '19221397401184-063a51e0c3d58d-17525637-1d73c0-1919139740f185'} +``` + ### Server-side Stitching Server-Side Stitching allows you to easily watch Replays for events that were not fired from the SDK. @@ -202,6 +212,10 @@ You can also check the Home page for your project to check for any recent Replay If you are still struggling to implement, [submit a request to our Support team](https://mixpanel.com/get-support) for more assistance. +### Logging + +No toggle is needed to enable debug logs; logging is always enabled in your developer/debug environment. + ## Privacy Mixpanel offers a privacy-first approach to Session Replay, including features such as data masking. Mixpanel's Session Replay privacy controls were designed to assist customers in protecting end user privacy. Read more [here](/docs/session-replay/session-replay-privacy-controls). diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx index 0a66d6cf61..633c31a78f 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx @@ -230,6 +230,16 @@ When a replay capture begins, a Replay ID is generated by the SDK and is attache If you are sending any events not coming from the SDK, add the `$mp_replay_id` event property to attribute the event to a specific Replay. +You can use the `getReplayId()` method to return the Replay ID for the current replay capture. The method will return an empty object if there is no active replay capture in progress. + +**Example Usage** + +```swift Swift +// return the $mp_replay_id for the currently active capture +MPSessionReplay.getInstance()?.getReplayId() +// {$mp_replay_id: '19221397401184-063a51e0c3d58d-17525637-1d73c0-1919139740f185'} +``` + ### Server-side Stitching Server-Side Stitching allows you to easily watch Replays for events that were not fired from the SDK. diff --git a/pages/docs/tracking-methods/sdks/android-replay.mdx b/pages/docs/tracking-methods/sdks/android-replay.mdx index e69de29bb2..0bf463f201 100644 --- a/pages/docs/tracking-methods/sdks/android-replay.mdx +++ b/pages/docs/tracking-methods/sdks/android-replay.mdx @@ -0,0 +1 @@ +# Session Replay SDK (Android) \ No newline at end of file From 40e2d84354bd9bd3a65feed818a97c842ca5fb0a Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Wed, 9 Apr 2025 13:56:54 -0700 Subject: [PATCH 09/22] add meta for nested SDK pages --- pages/docs/tracking-methods/sdks/_meta.ts | 4 +--- pages/docs/tracking-methods/sdks/android/_meta.ts | 3 +++ .../tracking-methods/sdks/{ => android}/android-replay.mdx | 0 pages/docs/tracking-methods/sdks/swift/_meta.ts | 3 +++ pages/docs/tracking-methods/sdks/{ => swift}/swift-replay.mdx | 0 5 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 pages/docs/tracking-methods/sdks/android/_meta.ts rename pages/docs/tracking-methods/sdks/{ => android}/android-replay.mdx (100%) create mode 100644 pages/docs/tracking-methods/sdks/swift/_meta.ts rename pages/docs/tracking-methods/sdks/{ => swift}/swift-replay.mdx (100%) diff --git a/pages/docs/tracking-methods/sdks/_meta.ts b/pages/docs/tracking-methods/sdks/_meta.ts index 30b22a2778..d93e2ac5a0 100644 --- a/pages/docs/tracking-methods/sdks/_meta.ts +++ b/pages/docs/tracking-methods/sdks/_meta.ts @@ -16,7 +16,5 @@ export default { "title": "Mixpanel-utils↗", "href": "https://github.com/mixpanel/mixpanel-utils", "newWindow": true - }, - "android-replay": "Session Replay (Android)", - "swift-replay": "Session Replay (Swift)" + } } diff --git a/pages/docs/tracking-methods/sdks/android/_meta.ts b/pages/docs/tracking-methods/sdks/android/_meta.ts new file mode 100644 index 0000000000..3ab8f090a1 --- /dev/null +++ b/pages/docs/tracking-methods/sdks/android/_meta.ts @@ -0,0 +1,3 @@ +export default { + "android-replay": "Session Replay (Android)" +} diff --git a/pages/docs/tracking-methods/sdks/android-replay.mdx b/pages/docs/tracking-methods/sdks/android/android-replay.mdx similarity index 100% rename from pages/docs/tracking-methods/sdks/android-replay.mdx rename to pages/docs/tracking-methods/sdks/android/android-replay.mdx diff --git a/pages/docs/tracking-methods/sdks/swift/_meta.ts b/pages/docs/tracking-methods/sdks/swift/_meta.ts new file mode 100644 index 0000000000..1f08a36e99 --- /dev/null +++ b/pages/docs/tracking-methods/sdks/swift/_meta.ts @@ -0,0 +1,3 @@ +export default { + "swift-replay": "Session Replay (Swift)" +} diff --git a/pages/docs/tracking-methods/sdks/swift-replay.mdx b/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx similarity index 100% rename from pages/docs/tracking-methods/sdks/swift-replay.mdx rename to pages/docs/tracking-methods/sdks/swift/swift-replay.mdx From a01f91e61d1a2281dbc0b61f26f693ede913f3bc Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Wed, 9 Apr 2025 14:46:10 -0700 Subject: [PATCH 10/22] SR iOS SDK reference --- .../session-replay-android.mdx | 4 +- .../session-replay-ios.mdx | 8 +- .../sdks/android/android-replay.mdx | 2 +- .../sdks/swift/swift-replay.mdx | 266 +++++++++++++++++- 4 files changed, 273 insertions(+), 7 deletions(-) diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx index a2f22f6c72..bb9077fbd2 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx @@ -14,7 +14,7 @@ Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.co ## Overview -This developer guide will assist you in configuring your Android app for [Session Replay](/docs/session-replay) using the [Session Replay SDK (Android)](/docs/tracking-methods/sdks/android-replay). Learn more about [viewing captured Replays in your project here](/docs/session-replay). +This developer guide will assist you in configuring your Android app for [Session Replay](/docs/session-replay) using the [Session Replay SDK (Android)](/docs/tracking-methods/sdks/android/android-replay). Learn more about [viewing captured Replays in your project here](/docs/session-replay). ## Prerequisite @@ -22,7 +22,7 @@ You are already a Mixpanel customer and have the latest version of the [Mixpanel ## Installation -You can integrate the Mixpanel Android Session Replay SDK into your Android project by embedding the Android Archive (AAR) file below. +You can integrate the [Mixpanel Android Session Replay SDK](/docs/tracking-methods/sdks/android/android-replay) into your Android project by embedding the Android Archive (AAR) file below. 1. Open your existing Android Studio project where you want to integrate the Mixpanel Android Session Replay SDK. 2. Download and unzip [mixpanel-android-session-replay.aar.zip](https://mxpnl.notion.site/Mixpanel-Android-Session-Replay-SDK-Alpha-1bbe0ba92562800dacdbec9cb597d397) to your local drive. diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx index 633c31a78f..59656522b1 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-ios.mdx @@ -14,7 +14,7 @@ Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.co ## Overview -This developer guide will assist you in configuring your Swift app for [Session Replay](/docs/session-replay) using the [Session Replay SDK (Swift)](/docs/tracking-methods/sdks/swift-replay). Learn more about [viewing captured Replays in your project here](/docs/session-replay). +This developer guide will assist you in configuring your Swift app for [Session Replay](/docs/session-replay) using the [Session Replay SDK (Swift)](/docs/tracking-methods/sdks/swift/swift-replay). Learn more about [viewing captured Replays in your project here](/docs/session-replay). ## Prerequisite @@ -22,7 +22,7 @@ You are already a Mixpanel customer and have the latest version of the [Mixpanel ## Installation -To capture Session Replays in your app, add the [Session Replay SDK]((/docs/tracking-methods/sdks/swift-replay)) using Swift Package Manager directly in Xcode: +To capture Session Replays in your app, add the [Session Replay SDK](/docs/tracking-methods/sdks/swift/swift-replay) using Swift Package Manager directly in Xcode: 1. In Xcode, go to File → **Add Package Dependencies…** 2. Paste the GitHub URL: `https://github.com/mixpanel/mixpanel-ios-session-replay-package` @@ -32,6 +32,8 @@ To capture Session Replays in your app, add the [Session Replay SDK]((/docs/trac You should have the main Mixpanel Swift SDK installed (minimum version `v4.3.1`), if not, please refer to [Prerequisite](/docs/session-replay/session-replay-ios#prerequisite). +Add the following code to your **SwiftUI and **UIKit**. + **SwiftUI** ```swift Swift @@ -222,7 +224,7 @@ let screenshotTimer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { } ``` -Keeping in mind that this is relatively inefficient and will result in capturing unnecessary/unchanged screenshots, it is also possible to miss important moments in between the timed screenshots. Taking scr +Keeping in mind that this is relatively inefficient and will result in capturing unnecessary/unchanged screenshots, it is also possible to miss important moments in between the timed screenshots. Taking screenshots on demand at critical moments will always be preferable. ## Replay ID diff --git a/pages/docs/tracking-methods/sdks/android/android-replay.mdx b/pages/docs/tracking-methods/sdks/android/android-replay.mdx index 0bf463f201..d7f5b14c9c 100644 --- a/pages/docs/tracking-methods/sdks/android/android-replay.mdx +++ b/pages/docs/tracking-methods/sdks/android/android-replay.mdx @@ -1 +1 @@ -# Session Replay SDK (Android) \ No newline at end of file +# Mixpanel Session Replay SDKs: Android \ No newline at end of file diff --git a/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx b/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx index 15434bb1af..313c85b13a 100644 --- a/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx +++ b/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx @@ -1 +1,265 @@ -# Session Replay SDK (Swift) \ No newline at end of file +import { Callout } from 'nextra/components' + +# Mixpanel Session Replay SDKs: Swift + + +The iOS Session Replay is in invite-only Beta access for customers on our Enterprise plan. Reach out to your Account Manager for any questions about Session Replay or the iOS Beta access. + + + +Since our Beta program offers early access, some functionality, including data masking features, may contain bugs and cause crashes. We recommend thoroughly testing before enabling in production. + +Our Session Replay Beta Service Addendum can be found [here](https://mixpanel.com/legal/session-replay-beta-service-addendum/). + + +## Getting started + +The Session Replay SDK for Swift is an supplementary SDK that complements the [main Swift SDK](/docs/tracking-methods/sdks/swift), enabling you to visually replay your users' app interactions through the [Session Replay](/docs/session-replay) feature. Please refer to our [developer guide on implementing Session Replay](/docs/session-replay/implement-session-replay/session-replay-ios) for a detailed walkthrough. + +If you have not installed the main Swift SDK yet, navigate to the [Quickstart Guide](/docs/quickstart). + +The [Library Source Code](https://github.com/mixpanel/mixpanel-ios-session-replay-package) is documented in our GitHub repo. + +## Installing the Library + +Add the Session Replay SDK for Swift using Swift Package Manager directly in Xcode: + +1. In Xcode, go to File → **Add Package Dependencies…** +2. Paste the GitHub URL: `https://github.com/mixpanel/mixpanel-ios-session-replay-package` +3. Follow the prompts to select the latest version and add the package to your project. + +### Initialize + +You should have the main Mixpanel Swift SDK installed (minimum version `v4.3.1`), if not, please refer to the [Quickstart Guide](/docs/quickstart). + +**SwiftUI** + +```swift Swift +import Mixpanel +import MixpanelSessionReplay + +struct SessionReplayDemoApp: App { + @State private var isActive = true + @Environment(\\.scenePhase) private var scenePhase + + var body: some Scene { + WindowGroup { + ... + } + .onChange(of: scenePhase) { + if scenePhase == .active { + let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 100.0) + let sessionReplayInstance = MPSessionReplay.initialize(token: Mixpanel.mainInstance().apiToken, distinctId: Mixpanel.mainInstance().distinctId, config: config) + + sessionReplayInstance.loggingEnabled = true + sessionReplayInstance.startRecording() + } + } +} +``` + +**UIKit** + +```swift Swift +import Foundation +import UIKit + +import Mixpanel +import MixpanelSessionReplay + +class AppDelegate: UIResponder, UIApplicationDelegate { + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { + Mixpanel.initialize(token: token, trackAutomaticEvents: true) + + let config = MPSessionReplayConfig( + wifiOnly: false, + recordSessionsPercent: 100.0 + ) + let sesionReplayInstance = MPSessionReplay.initialize( + token: Mixpanel.mainInstance().apiToken, + distinctId: Mixpanel.mainInstance().distinctId, + config: config + ) + #if DEBUG + Mixpanel.mainInstance().loggingEnabled = true + MPSessionReplay.getInstance()?.loggingEnabled = true + #endif + return true + } + + func applicationDidBecomeActive(_ application: UIApplication) { + MPSessionReplay.getInstance()?.startRecording() + } + +} +``` + +## Capturing Replays + + + Test in a sandbox project and start with a smaller sample rate. This allows you to monitor performance, usage, and ensure your privacy rules align with your company policies. + + +You can capturing replay data using a sampling method (recommended), or customize when and where replays are captured manually using methods provided by the Session Replay Swift SDK. + +### Sampling + +To enable Session Replay and set your sampling rate, use the `SessionReplayConfig` object and set `recordSessionsPercent` with a value between `0.0` and `100.0`. + +At `0.0` no sessions will be recorded, at `100.0` all sessions will be recorded. + +**Example Usage** + +```swift Swift +// records 1% of all sessions +MPSessionReplayConfig(recordSessionsPercent: 1.0) +``` + +### Manual Capture + +To programatically start and stop replay capture, use the `.startRecording()` and `.stopRecording()` methods. + +#### Start Recording + +Call `.startRecording()` to force recording to begin, regardless of the `recordSessionsPercent` init option. + +The recording automatically stops when the app goes to the background. Therefore, if you want to continuously record the replays, you will need to restart the replay once the app becomes active again. + +**Example Usage** + +```swift Swift +// manually trigger a replay capture +MPSessionReplay.getInstance()?.startRecording() +// no effect if recording is already in progress +``` + +#### Stop Recording + +Call `.stopRecording()` to stop any active replay data collection. The SDK automatically stops recording when the app goes to the background. + +**Example Usage** + +```swift Swift +// manually end a replay capture +MPSessionReplay.getInstance()?.stopRecording() +// no effect if recording is not already in progress +``` + +### Config Options + +Upon initialization you can provide a `SessionReplayConfig` object to customize your replay capture behavior. + +Currently, there are four config options: + +| Option | Description | Default | +| --- | --- | --- | +| `wifiOnly` | When `true`, replay events will only be flushed to the server when the device has a WiFi connection. If there is no wifi, flushes are skipped and the events remain in the in-memory queue until wifi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events).
When `false`, replay events will be flushed with any network connection, including cellular. | `true` | +| `recordSessionsPercent` | This is a value between `0.0` and `100.0` that controls the sampling rate for recording session replays.
At `0.0` no sessions will be recorded. At `100.0` all sessions will be recorded. | `0.0` | +| `autoMaskedViews` | This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. | `Image`, `Text`, and `Web` | +| `autoCapture` | This an enum to selectively disable the runtime method replacement functionality (aka “swizzling") in the event that it conflicts with another SDK (like [New Relic](https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements/#method)) | `.enabled` | + +**Example Usage** + +```swift Swift +// mask images only +// only send recordings on wifi +MPSessionReplayConfig(autoMaskedViews: [.Image], wifiOnly: true) +``` + +#### Manual Screenshot Capture + +If you have partially or completely disabled automatic screen capture via the `autoCapture` config setting above, you can manually capture screenshots by calling `.captureScreenshot()`: + +**Example Usage** + +```swift Swift +// manually capture screenshots +MPSessionReplay.getInstance()?.captureScreenshot() + +// manually capture screenshots triggered by a touch event +MPSessionReplay.getInstance()?.captureScreenshot(withTouchEvent: touchEvent) +``` + +If you choose to disable auto capture and do manual screen capturing instead, it will be up to you to determine when, where and how you call the `.captureScreenshot()` method in your application. The most naïve approach would be to call it on a `Timer`. + +**Example Usage** + +```swift Swift +// trigger manual screenshot capture using Timer +let screenshotTimer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in + MPSessionReplay.getInstance()?.captureScreenshot() +} +``` + +Keeping in mind that this is relatively inefficient and will result in capturing unnecessary/unchanged screenshots, it is also possible to miss important moments in between the timed screenshots. + +### Mark Views as Sensitive + +All `UITextField` and `UILabel` components are masked by default. `UITextField` cannot be unmasked, while `UILabels` can be unmasked + +Mark any views as sensitive by setting `mpReplaySensitive` to `true`. Views marked as "sensitive" will be masked. + +**Example Usage** + +```swift Swift +// Mark any view as sensitive + +// SwiftUI +Image("family photo") + .mpReplaySensitive(true) + +// UIKit +let ccView = CreditCardUIView() +ccView.mpReplaySensitive = true +``` + +Set `mpReplaySensitive` to `false` to mark any view as safe. Views marked as "safe" will not be masked. + +**Example Usage** + +```swift Swift +// Mark any view as safe + +// SwiftUI +BackgroundImage() + .mpReplaySensitive(false) + +//UIKit +let bgImage = BackgroundImage() +bgImage.mpReplaySensitive = false +``` + +## Get Replay ID + +You can use the `getReplayId()` method to return the [Replay ID](/docs/session-replay/implement-session-replay/session-replay-ios#replay-id) for the current replay recording. The method will return an empty object if there is no active replay capture in progress. + +**Example Usage** + +```swift Swift +// return the $mp_replay_id for the currently active capture +MPSessionReplay.getInstance()?.getReplayId() +// {$mp_replay_id: '19221397401184-063a51e0c3d58d-17525637-1d73c0-1919139740f185'} +``` + +## Debug Mode + +Enable or disable logging with the `loggingEnabled` property of the `MPSessionReplay` object. + +**Example Usage** + +```swift Swift +let token = Mixpanel.mainInstance().apiToken +let distinctId = Mixpanel.mainInstance().distinctId +let config = MPSessionReplayConfig(wifiOnly: false, recordSessionsPercent: 50.0) +let sessionReplayInstance = MPSessionReplay.initialize(token: token, distinctId: distinctId, config: config) +sessionReplayInstance.loggingEnabled = true // enable debug log +``` + +## Replay Retention + +User replays are stored for 30 days after the time of ingestion. + +## Release History + +[See all releases.](https://github.com/mixpanel/mixpanel-ios-session-replay-package/releases) \ No newline at end of file From bda7ebab130d639db96f23e4dd8ddde45852c88e Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Wed, 9 Apr 2025 17:32:28 -0700 Subject: [PATCH 11/22] add SR android SDK --- .../sdks/android/android-replay.mdx | 195 +++++++++++++++++- .../sdks/swift/swift-replay.mdx | 51 +++-- 2 files changed, 217 insertions(+), 29 deletions(-) diff --git a/pages/docs/tracking-methods/sdks/android/android-replay.mdx b/pages/docs/tracking-methods/sdks/android/android-replay.mdx index d7f5b14c9c..5f4a9b4577 100644 --- a/pages/docs/tracking-methods/sdks/android/android-replay.mdx +++ b/pages/docs/tracking-methods/sdks/android/android-replay.mdx @@ -1 +1,194 @@ -# Mixpanel Session Replay SDKs: Android \ No newline at end of file +import { Callout } from 'nextra/components' + +# Mixpanel Session Replay SDKs: Android + +## Getting started + +The Session Replay SDK for Android is an supplementary SDK that complements the [main Android SDK](/docs/tracking-methods/sdks/android), enabling you to visually replay your users' app interactions through the [Session Replay](/docs/session-replay) feature. Please refer to our [developer guide on implementing Session Replay](/docs/session-replay/implement-session-replay/session-replay-android) for a detailed walkthrough. + +If you have not installed the main Swift SDK yet, navigate to the [Quickstart Guide](/docs/quickstart). + +The [Library Source Code](https://github.com/mixpanel/mixpanel-android-session-replay-package) is documented in our GitHub repo. + +## Installing the Library + +You can integrate the Mixpanel Android Session Replay SDK into your Android project by embedding the Android Archive (AAR) file below. + +1. Open your existing Android Studio project where you want to integrate the Mixpanel Android Session Replay SDK. +2. Download and unzip [mixpanel-android-session-replay.aar.zip](https://mxpnl.notion.site/Mixpanel-Android-Session-Replay-SDK-Alpha-1bbe0ba92562800dacdbec9cb597d397) to your local drive. +3. Copy the AAR file to the `app/libs` folder in your Android project. +4. Configure your project's Gradle settings: + - For **Kotlin DSL (settings.gradle.kts)**: Add to the repositories section under `dependencyResolutionManagement`: + + ```kotlin Kotlin + flatDir { + dirs("libs") + } + ``` + - For **Groovy DSL (build.gradle)**: Add to the repositories section under `buildScripts`: + + ```groovy + flatDir { + dirs("libs") + } + ``` +5. Add the following dependencies to your module's `build.gradle` or `build.gradle.kts`: + +```gradle +implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:+") +implementation("com.squareup.curtains:curtains:+") +implementation(files("libs/mixpanel-android-session-replay.aar")) +``` + +6. Sync your project with Gradle files. + +### Initialize + +You should have the main Mixpanel Android SDK installed (minimum version `v8.0.2`). If not, please refer to the [Quickstart Guide](/docs/quickstart). + +Initialize the [`MPSessionReplay`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/MPSessionReplay.kt) SDK in your `Application` class: + +**Example Usage** + +```kotlin +private fun initializeMixpanel() { + val token = "MY_PROJECT_TOKEN" + val trackAutomaticEvents = true + + val mixpanel = MixpanelAPI.getInstance(this, token, trackAutomaticEvents) + mixpanel.identify("DISTINCT_ID") + + + val config = MPSessionReplayConfig( + wifiOnly = false, + recordSessionsPercent = 100.0 + ) + + MPSessionReplay.initialize(this, token, mixpanel.distinctId, config) +} +``` + +## Capturing Replays + + + Test in a sandbox project and start with a smaller sample rate. This allows you to monitor performance, usage, and ensure your privacy rules align with your company policies. + + +You can capturing replay data using a sampling method (recommended), or customize when and where replays are captured manually using methods provided by the Session Replay Android SDK. + +### Sampling + +To enable Session Replay and set your sampling rate, create a [`SessionReplayConfig`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/models/MPSessionReplayConfig.kt#L9) object and set the [`recordSessionsPercent`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/models/MPSessionReplayConfig.kt#L11) with a value between `0.0` and `100.0`. + +At `0.0` no sessions will be recorded, at `100.0` all sessions will be recorded. + +**Example Usage** + +```kotlin +// records 1% of all sessions +MPSessionReplayConfig( + recordSessionsPercent = 1.0 + ) +``` + +### Manual Capture + +To programatically start and stop replay capture, use the `.startRecording()` and `.stopRecording()` methods. + +#### Start Recording + +Call [`.startRecording()`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/MPSessionReplayInstance.kt#L179) to force recording to begin, regardless of the `recordSessionsPercent` init option. + +The recording automatically stops when the app goes to the background. Therefore, if you want to continuously record the replays, you will need to restart the replay once the app becomes active again. + +This will have no effect if replay data collection is already in progress. + +**Example Usage** + +```kotlin Kotlin +// manually trigger a replay capture +MPSessionReplay.getInstance()?.startRecording() +// no effect if recording is already in progress +``` + +#### Stop Recording + +Call [`.stopRecording()`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/MPSessionReplayInstance.kt#L222) to stop any active replay data collection. The SDK automatically stops recording when the app goes to the background. + +**Example Usage** + +```kotlin Kotlin +// manually end a replay capture +MPSessionReplay.getInstance()?.stopRecording() +// no effect if no recording in progress +``` + +### Config Options + +Upon initialization you can provide a [`SessionReplayConfig`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/models/MPSessionReplayConfig.kt#L9) object to customize your replay capture. + +Currently, there are three config options: + +| Option | Description | Default | +| --- | --- | --- | +| [`wifiOnly`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/models/MPSessionReplayConfig.kt#L10) | When `true`, replay events will only be flushed to the server when the device has a WiFi connection. If there is no wifi, flushes are skipped and the events remain in the in-memory queue until wifi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events).
When `false`, replay events will be flushed with any network connection, including cellular. | `true` | +| [`recordSessionsPercent`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/models/MPSessionReplayConfig.kt#L11) | This is a value between `0.0` and `100.0` that controls the sampling rate for recording session replays.
At `0.0` no sessions will be recorded. At `100.0` all sessions will be recorded. | `0.0` | +| [`autoMaskedViews`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/models/MPSessionReplayConfig.kt#L12) | This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. | `Image`, `Text`, and `Web` | + +**Example Usage** + +```kotlin Kotlin +// mask images only +// only send recordings on wifi +MPSessionReplayConfig( + wifiOnly = true, + autoMaskedViews = mutableSetOf(AutoMaskedView.ImageView) + ) +``` + +#### Mark Views as Sensitive + +Mark any views as sensitive by setting the `mpReplaySensitive` property to `true` or calling the [`addSensitiveView()`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/sensitive_views/SensitiveViewManager.kt#L107) method. Views marked as "sensitive" will be masked. + +Set `mpReplaySensitive` to `false` or calling the [`removeSensitiveView()`](https://github.com/mixpanel/mixpanel-android-session-replay/blob/13c5726c9573e329120959025cfd6b06b5b3d888/mixpanel-android-session-replay/src/main/java/com/mixpanel/mixpanel_android_session_replay/MPSessionReplayInstance.kt#L157) to mark any view as safe. Views marked as "safe" will not be masked. + +**Example Usage** + +```kotlin Kotlin +// Compose +Image( + painter = painterResource(id = R.drawable.family_photo), + contentDescription = "Family Photo", + modifier = Modifier.mpReplaySensitive(true) +) + +// XML +val creditCardView: ImageView = findViewById(R.id.creditCardView) +MPSessionReplay.getInstance()?.addSensitiveView(creditCardView) +``` + +All `EditText` and `TextView` components are masked by default. `EditText` cannot be unmasked, while `TextView` can be unmasked. + +## Get Replay ID + +Use the [`getReplayId()`]() method to return the [Replay ID](/docs/session-replay/implement-session-replay/session-replay-android#replay-id) for the current replay recording. The method will return an empty object if there is no active replay capture in progress. + +**Example Usage** + +```swift Swift +// return the $mp_replay_id for the currently active capture +MPSessionReplay.getInstance()?.getReplayId() +// {$mp_replay_id: '19221397401184-063a51e0c3d58d-17525637-1d73c0-1919139740f185'} +``` + +## Debug Mode + +No toggle is needed to enable debug logs; logging is always enabled in your developer/debug environment. + +## Replay Retention + +User replays are stored for 30 days after the time of ingestion. + +## Release History + +[See all releases.](https://github.com/mixpanel/mixpanel-android-session-replay-package/releases) \ No newline at end of file diff --git a/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx b/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx index 313c85b13a..93fdee44e9 100644 --- a/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx +++ b/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx @@ -105,7 +105,7 @@ You can capturing replay data using a sampling method (recommended), or customiz ### Sampling -To enable Session Replay and set your sampling rate, use the `SessionReplayConfig` object and set `recordSessionsPercent` with a value between `0.0` and `100.0`. +To enable Session Replay and set your sampling rate, use the [`SessionReplayConfig`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/Models/MPSessionReplayConfig.swift#L26) object and set [`recordSessionsPercent`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/Models/MPSessionReplayConfig.swift#L42) with a value between `0.0` and `100.0`. At `0.0` no sessions will be recorded, at `100.0` all sessions will be recorded. @@ -122,7 +122,7 @@ To programatically start and stop replay capture, use the `.startRecording()` an #### Start Recording -Call `.startRecording()` to force recording to begin, regardless of the `recordSessionsPercent` init option. +Call [`.startRecording()`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/MPSessionReplayInstance.swift#L123) to force recording to begin, regardless of the `recordSessionsPercent` init option. The recording automatically stops when the app goes to the background. Therefore, if you want to continuously record the replays, you will need to restart the replay once the app becomes active again. @@ -136,7 +136,7 @@ MPSessionReplay.getInstance()?.startRecording() #### Stop Recording -Call `.stopRecording()` to stop any active replay data collection. The SDK automatically stops recording when the app goes to the background. +Call [`.stopRecording()`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/MPSessionReplayInstance.swift#L218) to stop any active replay data collection. The SDK automatically stops recording when the app goes to the background. **Example Usage** @@ -148,16 +148,16 @@ MPSessionReplay.getInstance()?.stopRecording() ### Config Options -Upon initialization you can provide a `SessionReplayConfig` object to customize your replay capture behavior. +Upon initialization you can provide a [`SessionReplayConfig`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/Models/MPSessionReplayConfig.swift#L26) object to customize your replay capture behavior. Currently, there are four config options: | Option | Description | Default | | --- | --- | --- | -| `wifiOnly` | When `true`, replay events will only be flushed to the server when the device has a WiFi connection. If there is no wifi, flushes are skipped and the events remain in the in-memory queue until wifi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events).
When `false`, replay events will be flushed with any network connection, including cellular. | `true` | -| `recordSessionsPercent` | This is a value between `0.0` and `100.0` that controls the sampling rate for recording session replays.
At `0.0` no sessions will be recorded. At `100.0` all sessions will be recorded. | `0.0` | -| `autoMaskedViews` | This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. | `Image`, `Text`, and `Web` | -| `autoCapture` | This an enum to selectively disable the runtime method replacement functionality (aka “swizzling") in the event that it conflicts with another SDK (like [New Relic](https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements/#method)) | `.enabled` | +| [`wifiOnly`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/Models/MPSessionReplayConfig.swift#L34) | When `true`, replay events will only be flushed to the server when the device has a WiFi connection. If there is no wifi, flushes are skipped and the events remain in the in-memory queue until wifi is restored (or until the queue reaches its limit and the oldest events are evicted to make room for newer events).
When `false`, replay events will be flushed with any network connection, including cellular. | `true` | +| [`recordSessionsPercent`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/Models/MPSessionReplayConfig.swift#L42) | This is a value between `0.0` and `100.0` that controls the sampling rate for recording session replays.
At `0.0` no sessions will be recorded. At `100.0` all sessions will be recorded. | `0.0` | +| [`autoMaskedViews`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/Models/MPSessionReplayConfig.swift#L47) | This is a `Set` of enum options for the types of views that should be masked by the SDK automatically. | `Image`, `Text`, and `Web` | +| [`autoCapture`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/Models/MPSessionReplayConfig.swift#L57) | This an enum to selectively disable the runtime method replacement functionality (aka “swizzling") in the event that it conflicts with another SDK (like [New Relic](https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/get-started/new-relic-ios-compatibility-requirements/#method)) | `.enabled` | **Example Usage** @@ -169,7 +169,7 @@ MPSessionReplayConfig(autoMaskedViews: [.Image], wifiOnly: true) #### Manual Screenshot Capture -If you have partially or completely disabled automatic screen capture via the `autoCapture` config setting above, you can manually capture screenshots by calling `.captureScreenshot()`: +If you have partially or completely disabled automatic screen capture via the `autoCapture` config setting above, you can manually capture screenshots by calling [`.captureScreenshot()`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/MPSessionReplayInstance.swift#L151): **Example Usage** @@ -196,9 +196,9 @@ Keeping in mind that this is relatively inefficient and will result in capturing ### Mark Views as Sensitive -All `UITextField` and `UILabel` components are masked by default. `UITextField` cannot be unmasked, while `UILabels` can be unmasked +Mark any views as sensitive by setting `mpReplaySensitive` to `true`. Views marked as "sensitive" will be masked. -Mark any views as sensitive by setting `mpReplaySensitive` to `true`. Views marked as "sensitive" will be masked. +Set `mpReplaySensitive` to `false` to mark any view as safe. Views marked as "safe" will not be masked. **Example Usage** @@ -214,25 +214,11 @@ let ccView = CreditCardUIView() ccView.mpReplaySensitive = true ``` -Set `mpReplaySensitive` to `false` to mark any view as safe. Views marked as "safe" will not be masked. - -**Example Usage** - -```swift Swift -// Mark any view as safe - -// SwiftUI -BackgroundImage() - .mpReplaySensitive(false) - -//UIKit -let bgImage = BackgroundImage() -bgImage.mpReplaySensitive = false -``` +All `UITextField` and `UILabel` components are masked by default. `UITextField` cannot be unmasked, while `UILabels` can be unmasked ## Get Replay ID -You can use the `getReplayId()` method to return the [Replay ID](/docs/session-replay/implement-session-replay/session-replay-ios#replay-id) for the current replay recording. The method will return an empty object if there is no active replay capture in progress. +Use the [`getReplayId()`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/2fb5c4651fa7bd661395082d5350565401ed26f7/MixpanelSessionReplay/MixpanelSessionReplay/MPSessionReplay.swift#L19) method to return the [Replay ID](/docs/session-replay/implement-session-replay/session-replay-ios#replay-id) for the current replay recording. The method will return an empty object if there is no active replay capture in progress. **Example Usage** @@ -242,9 +228,18 @@ MPSessionReplay.getInstance()?.getReplayId() // {$mp_replay_id: '19221397401184-063a51e0c3d58d-17525637-1d73c0-1919139740f185'} ``` +## Flushing + +Use the [`flush()`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/MPSessionReplayInstance.swift#L255) method to manually flush replay events in queue. + +```swift Swift +// trigger manual flushing for replay events +MPSessionReplay.getInstance()?.flush() +``` + ## Debug Mode -Enable or disable logging with the `loggingEnabled` property of the `MPSessionReplay` object. +Enable or disable logging with the [`loggingEnabled`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/MPSessionReplayInstance.swift#L52) property of the [`MPSessionReplay`](https://github.com/mixpanel/mixpanel-ios-session-replay/blob/e3d9edd6c68fc027b5217ef42dd2bd0234b8262e/MixpanelSessionReplay/MixpanelSessionReplay/MPSessionReplayInstance.swift) object. **Example Usage** From 1e90505b6827722c682f7af6453fca25214e29b5 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Wed, 9 Apr 2025 18:04:37 -0700 Subject: [PATCH 12/22] update URLs and privacy tabbing --- .../session-replay-privacy-controls.mdx | 103 +++++++++++------- pages/docs/tracking-methods/sdks.mdx | 4 +- 2 files changed, 67 insertions(+), 40 deletions(-) diff --git a/pages/docs/session-replay/session-replay-privacy-controls.mdx b/pages/docs/session-replay/session-replay-privacy-controls.mdx index 94a7c5b9dc..14e0c81c89 100644 --- a/pages/docs/session-replay/session-replay-privacy-controls.mdx +++ b/pages/docs/session-replay/session-replay-privacy-controls.mdx @@ -1,64 +1,91 @@ +import { Tabs } from 'nextra/components' + # Session Replay for Web Privacy Controls **Last updated July 30th, 2024** -## Introduction to Session Replay for Web +## Introduction to Session Replay -Mixpanel offers a privacy-first approach to Session Replay, including features such as data masking. Mixpanel’s Web Session Replay privacy controls were designed to assist customers in protecting end user privacy. +Mixpanel offers a privacy-first approach to Session Replay, including features such as data masking. Mixpanel's Session Replay privacy controls were designed to assist customers in protecting end user privacy. Data privacy regulations are rapidly evolving and vary considerably across states and countries. A consistent requirement across many data privacy regulations for website operators is disclosing to end users that their personal information is being collected, often in a privacy notice. Before implementing Session Replay on your website, a best practice is to review your privacy notice with legal counsel to ensure it remains accurate and compliant with data privacy laws. -## How does Session Replay (Web) work? +## How does Session Replay work? -Session Replay for Web captures the Document Object Model (DOM) structure and changes to it. Mixpanel then reconstructs the web page, applying recorded events at the time an end user completed them. Within Mixpanel’s platform, you can view a reconstruction of your end user’s screen as they navigate your website. However, Session Replay for Web is not a video recording of your end user’s screen and end user actions are not literally video-recorded. + + + Session Replay for Web captures the Document Object Model (DOM) structure and changes to it. Mixpanel then reconstructs the web page, applying recorded events at the time an end user completed them. Within Mixpanel’s platform, you can view a reconstruction of your end user’s screen as they navigate your website. However, Session Replay for Web is not a video recording of your end user’s screen and end user actions are not literally video-recorded. + + HOW SESSION REPLAY WORKS FOR ANDROID + HOW SESSION REPLAY WORKS FOR IOS + ## How does masking and blocking work? What are the high-level technical details? -Masking and blocking are slightly different. + + + Masking and blocking are slightly different. -Masked data is suppressed client-side, meaning it is not collected in its original form by Mixpanel’s SDK, and the data is not stored on Mixpanel servers. Masked elements have their text replaced with asterisks of the same length [****]. + Masked data is suppressed client-side, meaning it is not collected in its original form by Mixpanel’s SDK, and the data is not stored on Mixpanel servers. Masked elements have their text replaced with asterisks of the same length [****]. -Blocked data is similarly suppressed client-side, meaning it is not collected in its original form by Mixpanel’s SDK, and the data is not stored on Mixpanel servers. However, blocked elements will be rendered with a placeholder element (e.g., an empty box of similar size). + Blocked data is similarly suppressed client-side, meaning it is not collected in its original form by Mixpanel’s SDK, and the data is not stored on Mixpanel servers. However, blocked elements will be rendered with a placeholder element (e.g., an empty box of similar size). -Note: interactions (such as mouse-clicks) with blocked and masked elements are still captured by Session Replay for Web. + Note: interactions (such as mouse-clicks) with blocked and masked elements are still captured by Session Replay for Web. + + HOW MASKING WORKS FOR ANDROID + HOW MASKING WORKS FOR IOS + ## Configuring Privacy Controls -By default, Mixpanel masks and/or blocks the most common elements that contain content like input text, non-input text, images, and videos. However, Mixpanel also offers its customers a range of privacy controls to choose to unmask / unblock elements as needed, which are detailed further on this page. + + + By default, Mixpanel masks and/or blocks the most common elements that contain content like input text, non-input text, images, and videos. However, Mixpanel also offers its customers a range of privacy controls to choose to unmask / unblock elements as needed, which are detailed further on this page. -| Element Type | Default State | Customizable | -| --- | --- | --- | -| Inputs | Mixpanel attempts to mask all user input text. When a user enters text into an input field, Mixpanel captures [****] in place of text. | No. You cannot disable this privacy feature. | -| Text | By default, Mixpanel attempts to mask all non-input text on your webpage. This masked content on your webpage is replaced with [****]. | Yes. Mixpanel empowers its customers to decide to record all non-input text as-is. First, change record_mask_text_selector’s default value from “*” to “” to make all text elements no longer masked. Then, you can individually mask each text element detailed in the next section. | -| Videos and Images | By default, Mixpanel blocks videos and images. These elements will be rendered with a placeholder element (i.e., an empty box of similar size). Note: interactions with blocked elements will still be captured (e.g., mouse-clicks). | Yes. Mixpanel empowers its customers to decide to record images and videos as-is. + | Element Type | Default State | Customizable | + | --- | --- | --- | + | Inputs | Mixpanel attempts to mask all user input text. When a user enters text into an input field, Mixpanel captures [****] in place of text. | No. You cannot disable this privacy feature. | + | Text | By default, Mixpanel attempts to mask all non-input text on your webpage. This masked content on your webpage is replaced with [****]. | Yes. Mixpanel empowers its customers to decide to record all non-input text as-is. First, change record_mask_text_selector’s default value from “*” to “” to make all text elements no longer masked. Then, you can individually mask each text element detailed in the next section. | + | Videos and Images | By default, Mixpanel blocks videos and images. These elements will be rendered with a placeholder element (i.e., an empty box of similar size). Note: interactions with blocked elements will still be captured (e.g., mouse-clicks). | Yes. Mixpanel empowers its customers to decide to record images and videos as-is. -Other elements not listed in this table are captured by default, and can be blocked at your discretion. You can specify a CSS selector under the config option `record_block_selector` to block all elements which match the selector. + Other elements not listed in this table are captured by default, and can be blocked at your discretion. You can specify a CSS selector under the config option `record_block_selector` to block all elements which match the selector. + + CONFIGURING PRIVACY CONTROL FOR ANDROID + CONFIGURING PRIVACY CONTROL FOR IOS + ## How to mask and block elements -- To mask text, add the class name “.mp-mask.” Masked content is replaced with [****] -- To block elements containing text entirely, add the class name “.mp-block.” Blocked content will be rendered with a placeholder element -- Specify a CSS selector `record_mask_text_selector` to mask all text in elements that match the selector - -Example code below for masking text: -``` -mixpanel.init(YOUR_PROJECT_TOKEN, {record_mask_text_selector: ''}) -``` -``` -
This text is masked!
-``` -Example code below for blocking elements: -``` -mixpanel.init(YOUR_PROJECT_TOKEN, {record_block_selector: '.sensitive-data'}) -``` -``` - -``` + + + + - To mask text, add the class name “.mp-mask.” Masked content is replaced with [****] + - To block elements containing text entirely, add the class name “.mp-block.” Blocked content will be rendered with a placeholder element + - Specify a CSS selector `record_mask_text_selector` to mask all text in elements that match the selector + + Example code below for masking text: + ``` + mixpanel.init(YOUR_PROJECT_TOKEN, {record_mask_text_selector: ''}) + ``` + ``` +
This text is masked!
+ ``` + Example code below for blocking elements: + ``` + mixpanel.init(YOUR_PROJECT_TOKEN, {record_block_selector: '.sensitive-data'}) + ``` + ``` + + ``` +
+ HOW TO MASK ELEMENTS FOR ANDROID + HOW TO MASK ELEMENTS FOR IOS +
## Disabling Replay Collection -Once enabled, Session Replay runs on your website until either: -- The user leaves your site +Once enabled, Session Replay runs on your website/app until either: +- The user leaves your website/app - The user is inactive for more than 30 minutes -- You call mixpanel.stop_session_recording() +- You call manually stop a session recording using an SDK method. Call mixpanel.stop_session_recording() before a user navigates to a restricted area of your site to disable replay collection while the user is in that area. To restart replay collection, call `mixpanel.start_session_recording()` to re-add the plugin. @@ -67,11 +94,11 @@ WebComponents that utilize HTML attributes may be ingested and stored by Session ## User Opt-Out -Mixpanel’s Session Replay for Web follows Mixpanel’s [standard SDK opt-out setting](/docs/privacy/end-user-data-management#opt-out-users). +Session Replay follows [standard SDK opt-out setting](/docs/privacy/end-user-data-management#opt-out-users). If a user is opted out of regular SDK tracking, they will also be opted out of Session Replay recording. ## Data Deletion -Deletion requests for Session Replay for Web use Mixpanel’s standard end user management process for events documented [here](/docs/privacy/end-user-data-management). +Deletion requests for Session Replay for Web use Mixpanel's standard end user management process for events documented [here](/docs/privacy/end-user-data-management). ## Data Retention diff --git a/pages/docs/tracking-methods/sdks.mdx b/pages/docs/tracking-methods/sdks.mdx index d46a2a8f81..f888b2d9cd 100644 --- a/pages/docs/tracking-methods/sdks.mdx +++ b/pages/docs/tracking-methods/sdks.mdx @@ -32,8 +32,8 @@ If you do not see an SDK in your preferred language, leverage our [HTTP APIs](ht ## Session Replay SDKs - - + + From 7cbfd1a0e378833d8694aa290994dac7ea84aa36 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Wed, 9 Apr 2025 18:22:03 -0700 Subject: [PATCH 13/22] heatmaps --- pages/docs/session-replay/_meta.ts | 3 +- pages/docs/session-replay/heatmaps.mdx | 47 ++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 pages/docs/session-replay/heatmaps.mdx diff --git a/pages/docs/session-replay/_meta.ts b/pages/docs/session-replay/_meta.ts index 35de5c37b0..e1b033f5db 100644 --- a/pages/docs/session-replay/_meta.ts +++ b/pages/docs/session-replay/_meta.ts @@ -1,4 +1,5 @@ export default { "implement-session-replay": "Implement Session Replay", - "session-replay-privacy-controls": "Session Replay Privacy Controls" + "session-replay-privacy-controls": "Session Replay Privacy Controls", + "heatmaps": "Heatmaps (beta)" } diff --git a/pages/docs/session-replay/heatmaps.mdx b/pages/docs/session-replay/heatmaps.mdx new file mode 100644 index 0000000000..64c8eeb442 --- /dev/null +++ b/pages/docs/session-replay/heatmaps.mdx @@ -0,0 +1,47 @@ +import { Callout } from 'nextra/components' + +# Heatmaps (Beta) + + + Heatmaps are currently in private, closed beta. For early access, please contact your Account Manager. + + +## Overview + +Heatmaps help you visualize user interactions on your web application, showing where users click the most. This feature enables teams to quickly identify areas of high engagement and friction, helping to optimize user experiences and improve conversion rates. + +Our initial version of Heatmaps is a click map, which means it specifically tracks clicks on individual site elements rather than just overlaying general activity on a page. This provides more precise insights into which modals, dropdowns, or features that users engage with the most. Future versions may also include hovers, scroll depth, and other interaction types. + +Enabling Heatmaps does not affect billing. They are included with the Session Replay add-on and do not generate additional billable events. + +### How It Works +Heatmaps are powered by Session Replay data and automatically capture click interactions when enabled. Users can generate a Heatmap for specific pages to gain deeper insights into user engagement. + +To function, Heatmaps require Session Replay to be enabled, as they rely on session replay data to track and visualize user clicks. + +Heatmaps only capture data during sessions with recorded replays. If a page has limited replay coverage, the Heatmap may not offer meaningful insights. + +### Implementation +Ensure you have Session Replay set up(see [developer guide on implementing Session Replay](/docs/session-replay/implement-session-replay/session-replay-web)), and [Autocapture](/docs/tracking-methods/autocapture) with click interaction tracking enabled. Session Replays are required for Heatmaps to work. + +If you currently use [Autocapture](/docs/tracking-methods/autocapture) to track clicks, you can leverage these clicks to populate the Heatmaps. + +**Example Usage** + +```javascript Javascript +mixpanel.init('YOUR_PROJECT_TOKEN', { + autocapture: { + pageview: "full-url", + click: true, // click tracking enabled + input: true, + scroll: true, + submit: true, + capture_text_content: false, + }, + record_sessions_percent: 1 // Session Replay enabled, recording 1% of all sessions +}); +``` +### Using Heatmaps +1. From the Home page, find the Heatmaps section +2. Choose a URL where you want to analyze user interactions. +3. To easily navigate back to a created Heatmap, you can click the title to rename the Heatmap \ No newline at end of file From c1504782610850a0ee1cdefb8a028b15bbb5d2fa Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Wed, 9 Apr 2025 18:28:05 -0700 Subject: [PATCH 14/22] update privacy page name --- pages/docs/session-replay/session-replay-privacy-controls.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/docs/session-replay/session-replay-privacy-controls.mdx b/pages/docs/session-replay/session-replay-privacy-controls.mdx index 14e0c81c89..a80f086243 100644 --- a/pages/docs/session-replay/session-replay-privacy-controls.mdx +++ b/pages/docs/session-replay/session-replay-privacy-controls.mdx @@ -1,6 +1,6 @@ import { Tabs } from 'nextra/components' -# Session Replay for Web Privacy Controls +# Session Replay Privacy Controls **Last updated July 30th, 2024** ## Introduction to Session Replay From bc7d69263551e09b2dad61b529d60e55034f60be Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Tue, 22 Apr 2025 16:40:55 -0700 Subject: [PATCH 15/22] heatmap images --- pages/docs/session-replay/heatmaps.mdx | 28 +++++++++++++++++++++---- public/heatmap_home.png | Bin 0 -> 201276 bytes public/heatmap_rename.png | Bin 0 -> 58816 bytes public/heatmap_sample.png | Bin 0 -> 544318 bytes 4 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 public/heatmap_home.png create mode 100644 public/heatmap_rename.png create mode 100644 public/heatmap_sample.png diff --git a/pages/docs/session-replay/heatmaps.mdx b/pages/docs/session-replay/heatmaps.mdx index 64c8eeb442..cf6526e138 100644 --- a/pages/docs/session-replay/heatmaps.mdx +++ b/pages/docs/session-replay/heatmaps.mdx @@ -22,9 +22,19 @@ To function, Heatmaps require Session Replay to be enabled, as they rely on sess Heatmaps only capture data during sessions with recorded replays. If a page has limited replay coverage, the Heatmap may not offer meaningful insights. ### Implementation -Ensure you have Session Replay set up(see [developer guide on implementing Session Replay](/docs/session-replay/implement-session-replay/session-replay-web)), and [Autocapture](/docs/tracking-methods/autocapture) with click interaction tracking enabled. Session Replays are required for Heatmaps to work. -If you currently use [Autocapture](/docs/tracking-methods/autocapture) to track clicks, you can leverage these clicks to populate the Heatmaps. +Ensure you have Session Replay set up(see [developer guide on implementing Session Replay](/docs/session-replay/implement-session-replay/session-replay-web)), with the `record_heatmap_data` set to `true`. + +**Example Usage** + +```javascript Javascript +mixpanel.init('YOUR_PROJECT_TOKEN', { + record_sessions_percent: 1, // Session Replay enabled, recording 1% of all sessions + record_heatmap_data: true // Enable Heatmap data collection +}); +``` + +If you currently use [Autocapture](/docs/tracking-methods/autocapture) to track clicks, you can leverage these clicks to populate the Heatmaps without the `record_heatmap_data` init option. **Example Usage** @@ -41,7 +51,17 @@ mixpanel.init('YOUR_PROJECT_TOKEN', { record_sessions_percent: 1 // Session Replay enabled, recording 1% of all sessions }); ``` + ### Using Heatmaps + 1. From the Home page, find the Heatmaps section -2. Choose a URL where you want to analyze user interactions. -3. To easily navigate back to a created Heatmap, you can click the title to rename the Heatmap \ No newline at end of file + +![heatmap_home.png](/heatmap_home.png) + +2. Choose a URL where you want to analyze user interactions and generate a Heatmap. + +![heatmap_sample.png](/heatmap_sample.png) + +3. To easily navigate back to a created Heatmap, you can click the title to rename the Heatmap. + +![heatmap_rename.png](/heatmap_rename.png) \ No newline at end of file diff --git a/public/heatmap_home.png b/public/heatmap_home.png new file mode 100644 index 0000000000000000000000000000000000000000..6d123a526e7e7e433c2f039498b82a9db9d7d749 GIT binary patch literal 201276 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

V@1Ur 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 { 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 c5` zSHJKgg7C>NAR3yOoDXOoDYHCGk@AW(ZYg!DpEVjisE*A1oF9i6Zscm^^Vx<*wQC+H z@RJ96yHrCymqB$+zBj6G&DlS`nBkuCdZ01)`~F5`NnN+xd{0+=e? zd_A$053x{DElb>ztUHtY_tk+myjSQ@*@VtIY81=M@iD+XJGn%NXS`1_Uxxmj(KPp7 zf)t11Aaq#>DgyZXK8)LwITN}8@3-BDM?@U2lFwC>QVJx+j)-0L`$}9ZF>GC>6VIsn zaXtuI^s*3dYaD-mc~zyZv~;-C!G81z%F3X9eLJKcI8`i~dz}L9I?h%n-ccd7tkB`2 zD61g-m8z=q7$?hlz9=rT!d3bawQ4sG9}a_!ML(bkd9gnJ zv6rY@jgIbs43Upbs2<$GXbN!ng!2Sy==(CTum@kQUj8HX z$`k)J5Ao1S2o|K^<2WhCb+gipgS}yc*W>WgTRVko-M|j|E=xu=|11(I3Yb=@e>uyfj~wN7Ic~*vJWk5np=1muzhw|Mezs-#OM-! zB^8Cd1^x=#hD~uH;2hWw78zWjgQk&c?Zwf$b`IqF@^n;0{!!qXN9_6Y?OKFQ7oj)` zf!~zmhEdWLe$3?$L=Ra|(2Jnx^B#^S;=Xq!q`9(k{^hGT2jXF!p?C zH#n~Ir_CBF9JadFG0r?Mm7 z3c|dMR?yVavKV9?6lP~< zE1H;?m>L0eZ#Kv`&i(Z1(-hZEv&
KBT#|82<@Ah-h}{|e5|&c2F~5fSSZ3>>CY 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 VCi;1SN<07n002ovPDHLkV1h~gIK=<} literal 0 HcmV?d00001 diff --git a/public/heatmap_sample.png b/public/heatmap_sample.png new file mode 100644 index 0000000000000000000000000000000000000000..b93f2cd222c9ea24ac7af6470989836c0f983498 GIT binary patch literal 544318 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

l-0l;=R@iq|473B=u3>goBiWZGXs^Ic`y% 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≤f9*^M?Oh(yg+ZC+sbvx}(Vim2k3FviLv+*^1{S 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⪚AQhE|@|LEf;R$ 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 z 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%0DZ^X1i%ia-KAlUwsir*SIZ7pjt;7n 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

7UaioF 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 a`N98SYq#&Fha+VefWXt$&t;ucLK6U+DD>|D literal 0 HcmV?d00001 From ddca49f960e4452c4d32e8fc13ef3cbaa4c21584 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Tue, 22 Apr 2025 16:45:01 -0700 Subject: [PATCH 16/22] fix conflict --- pages/docs/session-replay.mdx | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/pages/docs/session-replay.mdx b/pages/docs/session-replay.mdx index 01966780aa..74c7d9bfcb 100644 --- a/pages/docs/session-replay.mdx +++ b/pages/docs/session-replay.mdx @@ -90,35 +90,6 @@ The Replay Feed on the left of the player also allows you to: - Search for replays by user's name / email, replay date, user ID, or the name of an event in the replay - See a feed of events that occurred during each replay -## Heatmaps (Beta) - - - Heatmaps are currently in private, closed beta. For early access, please contact your Account Manager. - - -Heatmaps help you visualize user interactions on your web application, showing where users click the most. This feature enables teams to quickly identify areas of high engagement and friction, helping to optimize user experiences and improve conversion rates. - -Our initial version of Heatmaps is a click map, which means it specifically tracks clicks on individual site elements rather than just overlaying general activity on a page. This provides more precise insights into which modals, dropdowns, or features that users engage with the most. Future versions may also include hovers, scroll depth, and other interaction types. - -Enabling Heatmaps does not affect billing. They are included with the Session Replay add-on and do not generate additional billable events. - -### How It Works -Heatmaps are powered by Session Replay data and automatically capture click interactions when enabled. Users can generate a Heatmap for specific pages to gain deeper insights into user engagement. - -To function, Heatmaps require Session Replay to be enabled, as they rely on session replay data to track and visualize user clicks. - -Heatmaps only capture data during sessions with recorded replays. If a page has limited replay coverage, the Heatmap may not offer meaningful insights. - -### Implementation -Ensure you have Session Replay set up, and [click interaction tracking enabled](/docs/tracking-methods/sdks/javascript#heatmaps-beta). Session Replays are required for Heatmaps to work. - -If you currently use [Autocapture](/docs/tracking-methods/autocapture) to track clicks, you can leverage these clicks to populate the Heatmaps. - -### Using Heatmaps -1. From the Home page, find the Heatmaps section -2. Choose a URL where you want to analyze user interactions. -3. To easily navigate back to a created Heatmap, you can click the title to rename the Heatmap - ## FAQ #### What happens when I reach my Session Replay limit? From ec90a7216893b70c210be0b6d1ae27c8a18964d9 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Tue, 22 Apr 2025 17:18:01 -0700 Subject: [PATCH 17/22] heatmaps in JS SDK page --- .../session-replay-web.mdx | 39 +++++++++++++++++++ .../docs/tracking-methods/sdks/javascript.mdx | 37 ++++++++++++++++-- 2 files changed, 72 insertions(+), 4 deletions(-) diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx index dac7819306..c47223befb 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-web.mdx @@ -157,6 +157,45 @@ mixpanel.get_session_replay_url(); // https://mixpanel.com/projects/replay-redirect?replay_id=19307d78e24394fe15-0cd98d8fd9ad1d-1f525636-4b9600-19307d78e28194fe15&distinct_id=123&token=my-project-token ``` +## Heatmaps (Beta) + + +Heatmaps are currently in private, closed beta. For early access, please contact your Account Manager. + + +To supplement your Session Replay data, enable [Heatmaps](/docs/session-replay/heatmaps) data collection. The current Heatmap functions as a click map, tracking user interactions with individual site elements. + +Enable Heatmap data collection by setting `record_heatmap_data` to `true` during library initialization. + +Ensure Session Replay is enabled, as Heatmaps only collect data during sessions with recorded replays. If a page has limited replay coverage, the resulting Heatmap may provide limited or less meaningful insights. + +**Example Usage** + +```javascript Javascript +mixpanel.init('YOUR_PROJECT_TOKEN', { + record_sessions_percent: 1, // Session Replay must be enabled for Heatmap + record_heatmap_data: true // Enable Heatmap data collection +}); +``` + +If you use [Autocapture](/docs/tracking-methods/autocapture) to track clicks, you can leverage these clicks to populate the Heatmaps without setting the `record_heatmap_data` option during library initialization. + +**Example Usage** + +```javascript Javascript +mixpanel.init('YOUR_PROJECT_TOKEN', { + autocapture: { + pageview: "full-url", + click: true, // click tracking enabled + input: true, + scroll: true, + submit: true, + capture_text_content: false, + }, + record_sessions_percent: 1 // Session Replay enabled, recording 1% of all sessions +}); +``` + ## Debugging diff --git a/pages/docs/tracking-methods/sdks/javascript.mdx b/pages/docs/tracking-methods/sdks/javascript.mdx index b21f592b39..254bf82837 100644 --- a/pages/docs/tracking-methods/sdks/javascript.mdx +++ b/pages/docs/tracking-methods/sdks/javascript.mdx @@ -953,7 +953,7 @@ Customize the Replay capture behavior using the library init options outlined be | `record_min_ms` | Minimum length of a single replay in milliseconds. Up to 8 seconds is supported. If a replay does not meet the minimum length, it will be discarded. | `0`
(0 seconds) | | `record_sessions_percent` | Percentage of SDK initializations that will qualify for replay data capture. A value of "1" = 1%. | `0` | | `record_canvas` | When true, Mixpanel will record snapshots of `` elements on your site at up to 15 frames per second | `false` | -| `record_heatmap_data` | When true, Mixpanel will capture click events during replays to populate Heatmaps. Viewing Heatmaps is currently in Beta. | `false` | +| `record_heatmap_data` | When true, Mixpanel will capture click events during replays to populate Heatmaps. Viewing Heatmaps is currently in Beta. | `false` | ### Manual Capture @@ -997,11 +997,40 @@ mixpanel.get_session_replay_url() ``` ### Heatmaps (Beta) -In order to collect data to populate Heatmaps, use the `record_heatmap_data` init option. + +Heatmaps are currently in private, closed beta. For early access, please contact your Account Manager. + + +Enable [Heatmaps](/docs/session-replay/heatmaps) data collection by setting `record_heatmap_data` to `true` during library initialization. + +Ensure Session Replay is enabled, as Heatmaps only collect data during sessions with recorded replays. If a page has limited replay coverage, the resulting Heatmap may provide limited or less meaningful insights. + +**Example Usage** + +```javascript Javascript +mixpanel.init('YOUR_PROJECT_TOKEN', { + record_sessions_percent: 1, // Session Replay must be enabled for Heatmap + record_heatmap_data: true // Enable Heatmap data collection +}); +``` + +If you use [Autocapture](/docs/tracking-methods/autocapture) to track clicks, you can leverage these clicks to populate the Heatmaps without setting the `record_heatmap_data` option during library initialization. -Note: If you already utilize Mixpanel's [autocapture functionality](/docs/tracking-methods/autocapture) to capture clicks, then these clicks can be used to populate Heatmaps. +**Example Usage** -Note: Heatmaps are currently in private, closed beta. For early access, please contact your Account Manager. +```javascript Javascript +mixpanel.init('YOUR_PROJECT_TOKEN', { + autocapture: { + pageview: "full-url", + click: true, // click tracking enabled + input: true, + scroll: true, + submit: true, + capture_text_content: false, + }, + record_sessions_percent: 1 // Session Replay enabled, recording 1% of all sessions +}); +``` ## Release History [See All Releases](https://github.com/mixpanel/mixpanel-js/releases). From bfbf50643696eab072668c52b8ecc473eed525e8 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Tue, 22 Apr 2025 17:56:19 -0700 Subject: [PATCH 18/22] remove tabs from privacy page --- pages/docs/session-replay.mdx | 4 +- .../session-replay-privacy-controls.mdx | 88 +++++++------------ 2 files changed, 33 insertions(+), 59 deletions(-) diff --git a/pages/docs/session-replay.mdx b/pages/docs/session-replay.mdx index 74c7d9bfcb..ec7ca067bd 100644 --- a/pages/docs/session-replay.mdx +++ b/pages/docs/session-replay.mdx @@ -93,9 +93,7 @@ The Replay Feed on the left of the player also allows you to: ## FAQ #### What happens when I reach my Session Replay limit? -Customers who have purchased the Session Replay add-on will be billed for replays ingested beyond the purchased amount at the ala carte rate. We will send email notifications to [organization Owners and Billing Admins](/docs/orgs-and-projects/roles-and-permissions#organization-roles) as your projects approaches the data allowance of your subscription plan. - -Customers using Session Replay without purchasing the add-on (e.g., those using complimentary replays included with the Free, Growth, or Enterprise plans) will be unable to view replays once they reach the data allowance, unless they upgrade. We will send email notifications to [organization Owners and Billing Admins](/docs/orgs-and-projects/roles-and-permissions#organization-roles) as your projects approaches the data allowance of your subscription plan. +Customers who have purchased the Session Replay add-on will be billed for replays ingested beyond the purchased amount at the ala carte rate. Customers using Session Replay without purchasing the add-on (e.g., those using complimentary replays included with the Free, Growth, or Enterprise plans) will be unable to view replays once they reach the data allowance, unless they upgrade. We will send email notifications to [organization Owners and Billing Admins](/docs/orgs-and-projects/roles-and-permissions#organization-roles) as your projects approaches the data allowance of your subscription plan. Mixpanel reserves the right to stop ingesting replays once a customer collects replays beyond their purchased/allocated amount. To minimize disruption to your team, we recommend monitoring your data usage in the organization settings and working with your Account Manager (if applicable) to ensure you have the right plan for your needs. diff --git a/pages/docs/session-replay/session-replay-privacy-controls.mdx b/pages/docs/session-replay/session-replay-privacy-controls.mdx index a80f086243..59f715723a 100644 --- a/pages/docs/session-replay/session-replay-privacy-controls.mdx +++ b/pages/docs/session-replay/session-replay-privacy-controls.mdx @@ -11,74 +11,50 @@ Data privacy regulations are rapidly evolving and vary considerably across state ## How does Session Replay work? - - - Session Replay for Web captures the Document Object Model (DOM) structure and changes to it. Mixpanel then reconstructs the web page, applying recorded events at the time an end user completed them. Within Mixpanel’s platform, you can view a reconstruction of your end user’s screen as they navigate your website. However, Session Replay for Web is not a video recording of your end user’s screen and end user actions are not literally video-recorded. - - HOW SESSION REPLAY WORKS FOR ANDROID - HOW SESSION REPLAY WORKS FOR IOS - +Session Replay for Web captures the Document Object Model (DOM) structure and changes to it. Mixpanel then reconstructs the web page, applying recorded events at the time an end user completed them. Within Mixpanel’s platform, you can view a reconstruction of your end user’s screen as they navigate your website. However, Session Replay for Web is not a video recording of your end user’s screen and end user actions are not literally video-recorded. ## How does masking and blocking work? What are the high-level technical details? - - - Masking and blocking are slightly different. +Masking and blocking are slightly different. - Masked data is suppressed client-side, meaning it is not collected in its original form by Mixpanel’s SDK, and the data is not stored on Mixpanel servers. Masked elements have their text replaced with asterisks of the same length [****]. +Masked data is suppressed client-side, meaning it is not collected in its original form by Mixpanel’s SDK, and the data is not stored on Mixpanel servers. Masked elements have their text replaced with asterisks of the same length [****]. - Blocked data is similarly suppressed client-side, meaning it is not collected in its original form by Mixpanel’s SDK, and the data is not stored on Mixpanel servers. However, blocked elements will be rendered with a placeholder element (e.g., an empty box of similar size). - - Note: interactions (such as mouse-clicks) with blocked and masked elements are still captured by Session Replay for Web. - - HOW MASKING WORKS FOR ANDROID - HOW MASKING WORKS FOR IOS - +Blocked data is similarly suppressed client-side, meaning it is not collected in its original form by Mixpanel’s SDK, and the data is not stored on Mixpanel servers. However, blocked elements will be rendered with a placeholder element (e.g., an empty box of similar size). +Note: interactions (such as mouse-clicks) with blocked and masked elements are still captured by Session Replay for Web. + ## Configuring Privacy Controls - - - By default, Mixpanel masks and/or blocks the most common elements that contain content like input text, non-input text, images, and videos. However, Mixpanel also offers its customers a range of privacy controls to choose to unmask / unblock elements as needed, which are detailed further on this page. +By default, Mixpanel masks and/or blocks the most common elements that contain content like input text, non-input text, images, and videos. However, Mixpanel also offers its customers a range of privacy controls to choose to unmask / unblock elements as needed, which are detailed further on this page. - | Element Type | Default State | Customizable | - | --- | --- | --- | - | Inputs | Mixpanel attempts to mask all user input text. When a user enters text into an input field, Mixpanel captures [****] in place of text. | No. You cannot disable this privacy feature. | - | Text | By default, Mixpanel attempts to mask all non-input text on your webpage. This masked content on your webpage is replaced with [****]. | Yes. Mixpanel empowers its customers to decide to record all non-input text as-is. First, change record_mask_text_selector’s default value from “*” to “” to make all text elements no longer masked. Then, you can individually mask each text element detailed in the next section. | - | Videos and Images | By default, Mixpanel blocks videos and images. These elements will be rendered with a placeholder element (i.e., an empty box of similar size). Note: interactions with blocked elements will still be captured (e.g., mouse-clicks). | Yes. Mixpanel empowers its customers to decide to record images and videos as-is. +| Element Type | Default State | Customizable | +| --- | --- | --- | +| Inputs | Mixpanel attempts to mask all user input text. When a user enters text into an input field, Mixpanel captures [****] in place of text. | No. You cannot disable this privacy feature. | +| Text | By default, Mixpanel attempts to mask all non-input text on your webpage. This masked content on your webpage is replaced with [****]. | Yes. Mixpanel empowers its customers to decide to record all non-input text as-is. First, change record_mask_text_selector’s default value from “*” to “” to make all text elements no longer masked. Then, you can individually mask each text element detailed in the next section. | +| Videos and Images | By default, Mixpanel blocks videos and images. These elements will be rendered with a placeholder element (i.e., an empty box of similar size). Note: interactions with blocked elements will still be captured (e.g., mouse-clicks). | Yes. Mixpanel empowers its customers to decide to record images and videos as-is. - Other elements not listed in this table are captured by default, and can be blocked at your discretion. You can specify a CSS selector under the config option `record_block_selector` to block all elements which match the selector. - - CONFIGURING PRIVACY CONTROL FOR ANDROID - CONFIGURING PRIVACY CONTROL FOR IOS - +Other elements not listed in this table are captured by default, and can be blocked at your discretion. You can specify a CSS selector under the config option `record_block_selector` to block all elements which match the selector. ## How to mask and block elements - - - - To mask text, add the class name “.mp-mask.” Masked content is replaced with [****] - - To block elements containing text entirely, add the class name “.mp-block.” Blocked content will be rendered with a placeholder element - - Specify a CSS selector `record_mask_text_selector` to mask all text in elements that match the selector - - Example code below for masking text: - ``` - mixpanel.init(YOUR_PROJECT_TOKEN, {record_mask_text_selector: ''}) - ``` - ``` -

- ``` - Example code below for blocking elements: - ``` - mixpanel.init(YOUR_PROJECT_TOKEN, {record_block_selector: '.sensitive-data'}) - ``` - ``` - - ``` - - HOW TO MASK ELEMENTS FOR ANDROID - HOW TO MASK ELEMENTS FOR IOS - +- To mask text, add the class name “.mp-mask.” Masked content is replaced with [****] +- To block elements containing text entirely, add the class name “.mp-block.” Blocked content will be rendered with a placeholder element +- Specify a CSS selector `record_mask_text_selector` to mask all text in elements that match the selector + +Example code below for masking text: +``` +mixpanel.init(YOUR_PROJECT_TOKEN, {record_mask_text_selector: ''}) +``` +``` +
This text is masked!
+``` +Example code below for blocking elements: +``` +mixpanel.init(YOUR_PROJECT_TOKEN, {record_block_selector: '.sensitive-data'}) +``` +``` + +``` ## Disabling Replay Collection @@ -87,7 +63,7 @@ Once enabled, Session Replay runs on your website/app until either: - The user is inactive for more than 30 minutes - You call manually stop a session recording using an SDK method. -Call mixpanel.stop_session_recording() before a user navigates to a restricted area of your site to disable replay collection while the user is in that area. To restart replay collection, call `mixpanel.start_session_recording()` to re-add the plugin. +Call `mixpanel.stop_session_recording()` before a user navigates to a restricted area of your site to disable replay collection while the user is in that area. To restart replay collection, call `mixpanel.start_session_recording()` to re-add the plugin. ## Additional Considerations WebComponents that utilize HTML attributes may be ingested and stored by Session Replay for Web, regardless of whether they are displayed in an individual recording as text. Customers should utilize the block functionality outlined above to the extent specific areas of a webpage should not be ingested. From f581bbd599d4e72ab848d6287c39b8e6fa656235 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Tue, 22 Apr 2025 18:02:42 -0700 Subject: [PATCH 19/22] reference to SR in SDK page --- pages/docs/tracking-methods/sdks/android.mdx | 4 ++++ pages/docs/tracking-methods/sdks/swift.mdx | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/pages/docs/tracking-methods/sdks/android.mdx b/pages/docs/tracking-methods/sdks/android.mdx index 1aa5e1ace0..3c228c2b7c 100644 --- a/pages/docs/tracking-methods/sdks/android.mdx +++ b/pages/docs/tracking-methods/sdks/android.mdx @@ -591,6 +591,10 @@ A few commonly used group methods are highlighted below: +## Session Replay + +Install the [Session Replay SDK for Android](/docs/tracking-methods/sdks/android/android-replay) to record replay data. Learn more about [Session Replay](/docs/session-replay) and [implementing Session Replay on Android](/docs/session-replay/implement-session-replay/session-replay-android). + ## Debug Mode To enable debug mode, add the following permission within your `AndroidManifest.xml` inside the `` tag: diff --git a/pages/docs/tracking-methods/sdks/swift.mdx b/pages/docs/tracking-methods/sdks/swift.mdx index 6032d788c5..34c87dc873 100644 --- a/pages/docs/tracking-methods/sdks/swift.mdx +++ b/pages/docs/tracking-methods/sdks/swift.mdx @@ -560,6 +560,10 @@ A few commonly used group methods are highlighted below: +## Session Replay + +Install the [Session Replay SDK for Swift](/docs/tracking-methods/sdks/android/swift-replay) to record replay data. Learn more about [Session Replay](/docs/session-replay) and [implementing Session Replay on iOS](/docs/session-replay/implement-session-replay/session-replay-ios). + ## Debugging and Logging Enable debug mode by setting the [`loggingEnabled`](https://mixpanel.github.io/mixpanel-swift/Classes/MixpanelInstance.html#/s:8Mixpanel0A8InstanceC14loggingEnabledSbvp) configuration to `true`. From f3d6bc3c452f21e25bd4f4e57dc87b91ecd80abc Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Tue, 22 Apr 2025 18:05:59 -0700 Subject: [PATCH 20/22] redirects --- redirects/local.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/redirects/local.txt b/redirects/local.txt index b73ee765de..c031c99dbe 100644 --- a/redirects/local.txt +++ b/redirects/local.txt @@ -267,4 +267,7 @@ /docs/tracking-methods/data-warehouse /docs/tracking-methods/warehouse-connectors /docs/boards/advanced /docs/boards /docs/quickstart/track-events /docs/quickstart/capture-events/track-events -/docs/session-replay/session-replay-web#server-side-stitching-beta /docs/session-replay#server-side-stitching \ No newline at end of file +/docs/session-replay/session-replay-web#server-side-stitching-beta /docs/session-replay#server-side-stitching +/docs/session-replay/session-replay-web /session-replay/implement-session-replay/session-replay-web +/docs/session-replay/session-replay-ios /docs/session-replay/implement-session-replay/session-replay-ios +/docs/session-replay/session-replay-android /docs/session-replay/implement-session-replay/session-replay-android \ No newline at end of file From ad0b2e2250d82edd6b4623ce72e0f30151c990da Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Wed, 23 Apr 2025 11:47:47 -0700 Subject: [PATCH 21/22] edit Android banner --- .../implement-session-replay/session-replay-android.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx index bb9077fbd2..d67125ef3a 100644 --- a/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx +++ b/pages/docs/session-replay/implement-session-replay/session-replay-android.mdx @@ -3,7 +3,7 @@ import { Callout } from 'nextra/components' # Implement Session Replay (Android) -The iOS Session Replay is in invite-only Alpha access for customers on our Enterprise plan. Reach out to your Account Manager for any questions about Session Replay or the iOS Beta access. +The Android Session Replay is in invite-only Alpha access for customers on our Enterprise plan. Reach out to your Account Manager for any questions about Session Replay or the Android Beta access. @@ -263,6 +263,7 @@ Image( modifier = Modifier.mpReplaySensitive(false) ) ``` + ### Retention User replays are stored for 30 days after the time of ingestion. There is no way to view a replay older than 30 days old. From 7b073e4d1b33d8bc7d31f95da8f3ab33271c6cc1 Mon Sep 17 00:00:00 2001 From: Myron Fung Date: Wed, 23 Apr 2025 16:34:02 -0700 Subject: [PATCH 22/22] small typo --- pages/docs/tracking-methods/sdks/swift/swift-replay.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx b/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx index 93fdee44e9..294c8d2eae 100644 --- a/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx +++ b/pages/docs/tracking-methods/sdks/swift/swift-replay.mdx @@ -30,7 +30,7 @@ Add the Session Replay SDK for Swift using Swift Package Manager directly in Xco ### Initialize -You should have the main Mixpanel Swift SDK installed (minimum version `v4.3.1`), if not, please refer to the [Quickstart Guide](/docs/quickstart). +You should have the main Mixpanel Swift SDK installed (minimum version `v4.3.1`). If not, please refer to the [Quickstart Guide](/docs/quickstart). **SwiftUI**

cm6uK7l$Cbm~a)x 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%0DNW2oRceO) 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