session missing when user sends video recording
ART-4186_KNOWLEDGE_NODE-43
app.\n* Unlike web sessions, there is **no time limit** on session length.\n* A session contains multiple **recordings**:\n  + A **recording** ends when the app is backgrounded.\n  + A **new recording** starts when the app comes to the foreground again.\n  + The **session ends** when the app is killed, or it crashes, or it becomes non-responsive, or after 30 mins of inactivity.\n  + Sessions are **uploaded** the next time the app is launched.\n\nSession Analytics: Mobile dashboard consists of
Computer for User Insights | Session analytics | Computer for Your Customers | DevRev
ART-12449_KNOWLEDGE_NODE-22
session recording to capture user interactions with your app.\n\n#####\n\nThe session recording feature is opt-out and is enabled by default.\n\nHere are the available methods to help you control the session recording feature:\n\nAction| Kotlin (`DevRev`)| Java (`DevRevObservabilityExtKt`)  \n---|---|---  \nStarts the session recording.| startRecording()| startRecording(DevRev.INSTANCE, context);  \nEnds the session recording and uploads it to the portal.| stopRecording()|
Features — DevRev | Docs
ART-2898_KNOWLEDGE_NODE-19
app.\n\n#####\n\nThe session recording feature is opt-out and is enabled by default.\n\nHere are the available methods to help you control the session recording feature:\n\nAction| Kotlin (`DevRev`)| Java (`DevRevObservabilityExtKt`)  \n---|---|---  \nStarts the session recording.| startRecording()| startRecording(DevRev.INSTANCE, context);  \nEnds the session recording and uploads it to the portal.| stopRecording()| stopRecording(DevRev.INSTANCE);  \nPauses the ongoing session recording.|
Android integration — DevRev | Docs
ART-15513_KNOWLEDGE_NODE-33
`DevRev.startRecording()` | Starts the session recording. |\n| `DevRev.stopRecording()` | Ends the session recording and uploads it to the portal. |\n| `DevRev.pauseRecording()` | Pauses the ongoing session recording. |\n| `DevRev.resumeRecording()` | Resumes a paused session recording. |\n| `DevRev.processAllOnDemandSessions()` | Stops the ongoing user recording and sends all on-demand sessions along with the current recording. |\n\nUsing this property returns the status of the session
Features | DevRev | Docs
ART-2898_KNOWLEDGE_NODE-18
this user.\n\n###### Kotlin\n\n###### Java\n\n[code]\n\n    1| DevRev.resumeAllMonitoring()  \n    ---|---\n[/code]  \n  \nIf session recording was disabled for the user using the `stopAllMonitoring()` method, you can enable recording at runtime with this method.\n\n#####\n\nThis feature only stores a monitoring permission flag and does not provide any user interface or dialog.\n\n### Session recording\n\nYou can enable session recording to capture user interactions with your
Android integration — DevRev | Docs
ART-15515_KNOWLEDGE_NODE-33
|\n| `DevRev.pauseRecording()` | Pauses the ongoing session recording. |\n| `DevRev.resumeRecording()` | Resumes a paused session recording. |\n| `DevRev.processAllOnDemandSessions()` | Stops the ongoing user recording and sends all on-demand sessions along with the current recording. |\n\nYou can also check the following flags for session recording:\n\n```\n|  |  |\n| --- | --- |\n| 1 | // Check if session recording is currently active. |\n| 2 | let isRecording = DevRev.isRecording |\n| 3 |
Features | DevRev | Docs
ART-12398_KNOWLEDGE_NODE-33
enable_session_recording: true,\n\n\n\n5   session_recording_options: {\n\n\n\n6     sessionDetails: {\n\n\n\n7       sessionId: sessionId,\n\n\n\n8       tabId: tabId,\n\n\n\n9     },\n\n\n\n10   },\n\n\n\n11 });\n```\n\nShow more\n```\n\nYou can leave the tabId empty if you want to track this domain as a separate tab within the same session.\n\n![]()\n\nIf the session identifiers passed to the Plug method correspond to a session which has already ended, or some invalid identifiers, the SDK
Cross-domain session tracking | Session analytics | Computer for Your Customers | DevRev
ART-4255_KNOWLEDGE_NODE-19
recording.| startRecording()| startRecording(DevRev.INSTANCE, context);  \nEnds the session recording and uploads it to the portal.| stopRecording()| stopRecording(DevRev.INSTANCE);  \nPauses the ongoing session recording.| pauseRecording()| pauseRecording(DevRev.INSTANCE);  \nResumes a paused session recording.| resumeRecording()| resumeRecording(DevRev.INSTANCE);  \n  \n### Session properties\n\nYou can add custom properties to the session recording to help you understand the context of the
DevRev SDK for Android — DevRev | Docs
ART-2982_KNOWLEDGE_NODE-15
\nTo opt back in, use the following method:\n\n[code]\n\n    1| DevRev.resumeAllMonitoring()  \n    ---|---\n[/code]  \n  \n### Session recording\n\nYou can enable session recording to capture user interactions with your app.\n\n#####\n\nThe session recording feature is opt-out and is enabled by default.\n\nThe session recording feature includes the following methods to control the recording:\n\nMethod| Action  \n---|---  \n`DevRev.startRecording()`| Starts the session recording.
React Native integration — DevRev | Docs
ART-4256_KNOWLEDGE_NODE-14
out\n\nSession analytics features are opted-in by default, enabling them from the start. However, you can opt-out using the following method:\n\n[code]\n\n    1| DevRev.stopAllMonitoring()  \n    ---|---\n[/code]  \n  \nTo opt back in, use the following method:\n\n[code]\n\n    1| DevRev.resumeAllMonitoring()  \n    ---|---\n[/code]  \n  \n### Session recording\n\nYou can enable session recording to record user interactions with your app.\n\n#####\n\nThe session recording feature is opt-out and
DevRev SDK for React Native — DevRev | Docs
ART-15507_KNOWLEDGE_NODE-28
`DevRev.pauseRecording()` | Pauses the ongoing session recording. |\n| `DevRev.resumeRecording()` | Resumes a paused session recording. |\n| `DevRev.processAllOnDemandSessions()` | Stops the ongoing user recording and sends all on-demand sessions along with the current recording. |\n\n### Session properties\n\nYou can add custom properties to the session recording to help you understand the context of the session. The properties are defined as a map of string values.\n\n```\n|  |  |\n| --- |
Features | DevRev | Docs
ART-2664_KNOWLEDGE_NODE-27
your\n   [website](https://developer.devrev.ai/sdks/web/installation) or\n   [mobile app](https://developer.devrev.ai/sdks/mobile).\n2. For web applications, configure\n   [user identification](https://developer.devrev.ai/sdks/web/user-identity).\n3. Enable session recording for your users, go to **Settings** > **PluG and Portal** >\n   **Session Replays** and enable recording for your desired platform.\n\n   **Note**: Alternatively, you can enable session recording during Plug SDK\n
Session analytics | Computer for Your Customers | DevRev
ART-16579_KNOWLEDGE_NODE-29
recording. |\n| `DevRev.stopRecording()` | Ends the session recording and uploads it to the portal. |\n| `DevRev.pauseRecording()` | Pauses the ongoing session recording. |\n| `DevRev.resumeRecording()` | Resumes a paused session recording. |\n| `DevRev.processAllOnDemandSessions()` | Stops the ongoing session recording and uploads all offline sessions on demand, including the current one. |\n\n### Session properties\n\nYou can add custom properties to the session recording to help you
Features | DevRev | Docs
ART-12449_KNOWLEDGE_NODE-20
enabling them from the start. However, you can opt-out using the following method:\n\n###### Kotlin\n\n###### Java\n\n[code]\n\n    1| DevRev.stopAllMonitoring()  \n    ---|---\n[/code]  \n  \nTo opt back in, use the following method:\n\n###### Kotlin\n\n###### Java\n\n[code]\n\n    1| DevRev.resumeAllMonitoring()  \n    ---|---\n[/code]  \n  \nYou can check whether session monitoring has been enabled by using this property:\n\nIf session recording was disabled for the user using the
Features — DevRev | Docs
ART-12453_KNOWLEDGE_NODE-20
Opting-in or out\n\nSession analytics features are opted-in by default, enabling them from the start. However, you can opt-out using the following method:\n\n[code]\n\n    1| DevRev.stopAllMonitoring()  \n    ---|---\n[/code]  \n  \nTo opt back in, use the following method:\n\n[code]\n\n    1| DevRev.resumeAllMonitoring()  \n    ---|---\n[/code]  \n  \n### Session recording\n\nYou can enable session recording to capture user interactions with your app.\n\n#####\n\nThe session recording feature
Features — DevRev | Docs
ART-15506_KNOWLEDGE_NODE-28
calling the `shutdown()` method will stop the ongoing session recording. Re-initializing with the `init()` method will then start a new session recording. To avoid losing continuity, you can pass the details of the ongoing session recording when re-initializing Plug.\n\n```\n|  |  |\n| --- | --- |\n| 1 | // Get the ongoing session details |\n| 2 | const { sessionId, tabId } = window.plugSDK.getSessionDetails(); |\n| 3 |  |\n| 4 | if (window.plugSDK.isPlugInitialized) { |\n| 5 |
Identify your users with Plug | DevRev | Docs
ART-15506_KNOWLEDGE_NODE-29
window.plugSDK.shutdown(); |\n| 6 | } |\n| 7 | window.plugSDK.init({ |\n| 8 | app_id: appId, |\n| 9 |  |\n| 10 | // Pass the session details |\n| 11 | session_recording_options: { |\n| 12 | sessionDetails: { |\n| 13 | sessionId: sessionId, |\n| 14 | tabId: tabId, |\n| 15 | }, |\n| 16 | }, |\n| 17 |  |\n| 18 | // With session token |\n| 19 | session_token: sessionToken, |\n| 20 | // Or without session token |\n| 21 | identity: {}, |\n| 22 | }); |\n```\n\nWas this page
Identify your users with Plug | DevRev | Docs
ART-4257_KNOWLEDGE_NODE-20
Action  \n---|---  \n`DevRev.startRecording()`| Starts the session recording.  \n`DevRev.stopRecording()`| Ends the session recording and uploads it to the portal.  \n`DevRev.pauseRecording()`| Pauses the ongoing session recording.  \n`DevRev.resumeRecording()`| Resumes a paused session recording.  \n  \n### Session properties\n\nYou can add custom properties to the session recording to help you understand the context of the session. The properties are defined as a dictionary of string
DevRev SDK for iOS — DevRev | Docs
ART-15515_KNOWLEDGE_NODE-34
|\n| 4 | // Check if session monitoring is enabled. |\n| 5 | let isMonitoringEnabled = DevRev.isMonitoringEnabled |\n| 6 |  |\n| 7 | // Check if on-demand sessions are enabled. |\n| 8 | let areOnDemandSessionsEnabled = DevRev.areOnDemandSessionsEnabled |\n```\n\n### Session properties\n\nYou can add custom properties to the session recording to help you understand the context of the session. The properties are defined as a dictionary of string values.\n\n```\n|  |  |\n| --- | --- |\n| 1 |
Features | DevRev | Docs
ART-2895_KNOWLEDGE_NODE-2
view their past conversations. Identifying your users also enables more personalized engagement.\n\nIn this flow, you have to generate a session token for every user who visits your website. The session token identifies the customer when they interact with the widget. The session token is generated using the application access token and customer information. It should be generated on your website\xe2\x80\x99s back end since the app token needs to be kept hidden.\n\nTo identify logged-in users,
Identify your users with PLuG — DevRev | Docs
ART-15509_KNOWLEDGE_NODE-5
(True or False) |\n| `session_recording_key` | Identifies your session recording account and is required to enable the SDK session recording features. | String |\n| `enable_session_recording` | Instructs the widget to determine whether to start the session recording. | Boolean (True or False) |\n| `session_token` | Identifies the user interacting with your app. | String |\n| `primary_text_color` | The color of the launcher, button text for new tickets and conversations, conversation user text,
Methods | DevRev | Docs
ART-12398_KNOWLEDGE_NODE-27
method to fetch these ids.\n\n```\n```\n1 const { sessionId, tabId } = window.plugSDK.getSessionDetails();\n```\n```\n\n![]()\n\nTo ensure that the session recording features are ready before calling getSessionDetails, wait on the ON\\_OBSERVABILITY\\_READY Plug event. For more information about this event, refer to the [methods reference](https://developer.devrev.ai/public/sdks/web/methods).\n\n```\n```\n1 window.plugSDK.onEvent(payload => {\n\n\n\n2   if (payload.type ===
Cross-domain session tracking | Session analytics | Computer for Your Customers | DevRev
ART-15506_KNOWLEDGE_NODE-3
engagement.\n\nTo implement user identification, you need to generate a session token for each user who visits your website. This token is created using your application access token combined with customer information, and must be generated on your backend to keep the application token secure.\n\nDevRev\'s BackendYour BackendYour FrontendYour UserDevRev\'s BackendYour BackendYour FrontendYour User(1) User is known(via Signup, Login)(2) Send user details(3) auth-tokens.create API call(4) Return
Identify your users with Plug | DevRev | Docs
ART-2897_KNOWLEDGE_NODE-24
"Credit Card",  \n    6| "expiry_date" : "2024-12-12"  \n    7| }  \n    8| window.plugSDK.trackEvent("signed_up",properties)\n[/code]  \n  \nTo learn more about tracking events, visit [Track events](/public/sdks/web/track-events).\n\n## Restart session recording\n\nThe `restartSessionRecording` method is used to restart session recording.\n\n[code]\n\n    1| window.plugSDK.restartSessionRecording();  \n    ---|---\n[/code]  \n  \nWas this page helpful?YesNo\n\n[Custom implementationUp
Methods — DevRev | Docs
ART-2898_KNOWLEDGE_NODE-17
DevRev SDK offers session analytics features to help you understand how users interact with your app.\n\n### Opt in or out\n\nEnd users can opt in or out of the session analytics feature, enabling them to control whether their interactions are tracked for analytics.\n\n###### Kotlin\n\n###### Java\n\n[code]\n\n    1| DevRev.stopAllMonitoring()  \n    ---|---\n[/code]  \n  \nThis method terminates and deletes the current session recording and also disables future session recording by our SDK for
Android integration — DevRev | Docs
ART-15506_KNOWLEDGE_NODE-27
|\n| 1 | // Delete the existing Plug instance if it exists |\n| 2 | if (window.plugSDK.isPlugInitialized) { |\n| 3 | window.plugSDK.shutdown(); |\n| 4 | } |\n| 5 |  |\n| 6 | // Re-initialize Plug |\n| 7 | window.plugSDK.init({ |\n| 8 | app_id: appId, |\n| 9 |  |\n| 10 | // With session token |\n| 11 | session_token: sessionToken, |\n| 12 |  |\n| 13 | // Or without session token |\n| 14 | identity: {}, |\n| 15 | }); |\n```\n\nIf you\xe2\x80\x99re using the Plug SDK for recording user sessions,
Identify your users with Plug | DevRev | Docs
ART-2897_KNOWLEDGE_NODE-6
\n`enable_default_launcher`| Show/hide the default PLuG widget launcher.| Boolean (True or False)  \n`session_recording_key`| Identifies your session recording account and is required to enable the SDK session recording features.| String  \n`enable_session_recording`| Instructs the widget to determine whether to start the session recording.| Boolean (True or False)  \n`session_token`| Identifies the user interacting with your app.| String  \n`primary_text_color`| The color of the launcher,
Methods — DevRev | Docs