Skip to content

Commit e5f80d0

Browse files
committed
Release v1.1.0
1 parent 6cc45fb commit e5f80d0

13 files changed

+575
-47
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## 1.1.0
6+
7+
### Added
8+
- Introducing a logout mechanism that clears the user's credentials, unregisters the device from receiving push notifications, and stops the session recording.
9+
- Added a boolean flag to check if the SDK has been configured.
10+
- Added a boolean flag to check if the user has been identified.
11+
- Added a boolean flag to check if the session is being recorded.
12+
- Added a boolean flag to check if the monitoring is enabled.
13+
- Added a boolean flag to check if the on-demand sessions are enabled.
14+
515
## 1.0.3
616

717
### Added

README.md

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
- [Identification](#identification)
1212
- [Anonymous identification](#anonymous-identification)
1313
- [Unverified identification](#unverified-identification)
14+
- [Verified identification](#verified-identification)
15+
- [Updating the user](#updating-the-user)
16+
- [Logout](#logout)
1417
- [Examples](#examples)
1518
- [PLuG support chat](#plug-support-chat)
1619
- [Analytics](#analytics)
@@ -103,6 +106,16 @@ DevRev.configure(context: Context, appId: String, prefersDialogMode: Boolean)
103106
DevRev.INSTANCE.configure(Context context, String appId, Boolean prefersDialogMode);
104107
```
105108

109+
Use this property to check whether the DevRev SDK has been configured:
110+
- Kotlin
111+
```kotlin
112+
DevRev.isConfigured
113+
```
114+
- Java
115+
```java
116+
DevRev.INSTANCE.isConfigured();
117+
```
118+
106119
> [!NOTE]
107120
> `prefersDialogMode`, if set to true, enables the SDK to open the screens in the app's main task/activity
108121
@@ -202,6 +215,17 @@ DevRev.INSTANCE.identifyUnverifiedUser(
202215

203216
The function accepts the `Identity` object, with the user identifier (`userId`) as the only required property, all other properties are optional.
204217

218+
### Verified identification
219+
The verified identification method is used to identify the user with a unique identifier and verify the user's identity with the DevRev backend.
220+
221+
```kotlin
222+
DevRev.identifyVerifiedUser(userId: String, sessionToken: String)
223+
```
224+
225+
```java
226+
DevRev.INSTANCE.identifyVerifiedUser(String userId, String sessionToken);
227+
```
228+
205229
### Examples
206230

207231
- Kotlin
@@ -228,7 +252,17 @@ DevRev.identifyUnverifiedUser(
228252

229253
The identification function should be placed at the appropriate place in your app after you login your user. If you have the user information at app launch, call the function after the `DevRev.configure(context, appID)` method.
230254

231-
#### Updating the user
255+
Use this property to check whether the user has been provided to the SDK:
256+
- Kotlin
257+
```kotlin
258+
DevRev.isUserIdentified
259+
```
260+
- Java
261+
```java
262+
DevRev.INSTANCE.isUserIdentified();
263+
```
264+
265+
### Updating the user
232266
You can update the user's information using the following method:
233267

234268
- Kotlin
@@ -252,6 +286,19 @@ The function accepts the `DevRev.Identity` ojbect.
252286
> [!IMPORTANT]
253287
> The `userID` property can *not* be updated.
254288
289+
### Logout
290+
291+
You can perform a logout of the current user by calling the following method:
292+
293+
```kotlin
294+
DevRev.logout(context: Context, deviceId: String)
295+
```
296+
297+
```java
298+
DevRev.INSTANCE.logout(Context context, String deviceId);
299+
```
300+
301+
The user will be logged out by clearing their credentials, as well as unregistering the device from receiving push notifications, and stopping the session recording.
255302

256303
## PLuG support chat
257304

@@ -346,6 +393,14 @@ DevRev.resumeAllMonitoring()
346393
```java
347394
DevRevObservabilityExtKt.resumeAllMonitoring(DevRev.INSTANCE);
348395
```
396+
You can check whether session monitoring has been enabled by using this property:
397+
```kotlin
398+
DevRev.isMonitoringEnabled
399+
```
400+
- Java
401+
```java
402+
DevRevObservabilityExtKt.isMonitoringEnabled(DevRev.INSTANCE);
403+
```
349404
If the user was disabled for session recording by using the stopAllMonitoring() method, you can use this method to enable recording at runtime.
350405
> [!NOTE]
351406
> This feature will only store a monitoring permission flag, it will **not** provide any UI or dialog.
@@ -364,6 +419,22 @@ The session recording feature has a number of methods to help you control the re
364419
| DevRev.stopRecording() | DevRevObservabilityExtKt.stopRecording(DevRev.INSTANCE); | Stops the session recording and uploads it to the portal. |
365420
| DevRev.pauseRecording() | DevRevObservabilityExtKt.pauseRecording(DevRev.INSTANCE); | Pauses the ongoing session recording. |
366421
| DevRev.resumeRecording() | DevRevObservabilityExtKt.resumeRecording(DevRev.INSTANCE); | Resumes a paused session recording. |
422+
Using this property will return the status of the session recording:
423+
```kotlin
424+
DevRev.isRecording
425+
```
426+
- Java
427+
```java
428+
DevRevObservabilityExtKt.isRecording(DevRev.INSTANCE);
429+
```
430+
To check if on-demand sessions are enabled, use:
431+
```kotlin
432+
DevRev.areOnDemandSessionsEnabled
433+
```
434+
- Java
435+
```java
436+
DevRevObservabilityExtKt.areOnDemandSessionsEnabled(DevRev.INSTANCE);
437+
```
367438

368439
### Session properties
369440
You 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.

docs/html/core/ai.devrev.sdk/-dev-rev/index.html

Lines changed: 65 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,21 @@ <h2 class="">Functions</h2>
136136
</div>
137137
</div>
138138
</div>
139+
<a data-name="-385953269%2FFunctions%2F197447377" anchor-label="logout" id="-385953269%2FFunctions%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
140+
<div class="table-row" data-filterable-current=":core:dokkaHtml/release" data-filterable-set=":core:dokkaHtml/release">
141+
<div class="main-subrow keyValue ">
142+
<div class=""><span class="inline-flex">
143+
<div><a href="logout.html"><span><span>logout</span></span></a></div>
144+
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-385953269%2FFunctions%2F197447377"></span>
145+
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
146+
</span></span></div>
147+
<div>
148+
<div class="title">
149+
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword"></span><span class="token keyword">fun </span><a href="logout.html"><span class="token function">logout</span></a><span class="token punctuation">(</span><span class="parameters "><span class="parameter ">context<span class="token operator">: </span><a href="https://developer.android.com/reference/kotlin/android/content/Context.html">Context</a><span class="token punctuation">, </span></span><span class="parameter ">deviceId<span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-string/index.html">String</a></span></span><span class="token punctuation">)</span></div><div class="brief "><p class="paragraph">Logs out the current identified user and resets the session. The process will also unregister the user's device from receiving push notifications, and stop any ongoing session recording.</p></div></div></div>
150+
</div>
151+
</div>
152+
</div>
153+
</div>
139154
<a data-name="-69298287%2FFunctions%2F197447377" anchor-label="processPushNotification" id="-69298287%2FFunctions%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
140155
<div class="table-row" data-filterable-current=":core:dokkaHtml/release" data-filterable-set=":core:dokkaHtml/release">
141156
<div class="main-subrow keyValue ">
@@ -258,17 +273,32 @@ <h2 class="">Functions</h2>
258273
</div>
259274
</div>
260275
<h2 class="">Properties</h2>
261-
<div class="table" data-togglable="Properties"><a data-name="-67997467%2FProperties%2F197447377" anchor-label="isInitialized" id="-67997467%2FProperties%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
276+
<div class="table" data-togglable="Properties"><a data-name="-40923581%2FProperties%2F197447377" anchor-label="isConfigured" id="-40923581%2FProperties%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
277+
<div class="table-row" data-filterable-current=":core:dokkaHtml/release" data-filterable-set=":core:dokkaHtml/release">
278+
<div class="main-subrow keyValue ">
279+
<div class=""><span class="inline-flex">
280+
<div><a href="is-configured.html"><span>is</span><wbr></wbr><span><span>Configured</span></span></a></div>
281+
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-40923581%2FProperties%2F197447377"></span>
282+
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
283+
</span></span></div>
284+
<div>
285+
<div class="title">
286+
<div class="platform-hinted " data-platform-hinted="data-platform-hinted" data-togglable="Properties"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:dokkaHtml/release"><a data-name="-40923581%2FProperties%2F197447377" anchor-label="isConfigured" id="-40923581%2FProperties%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a><div class="symbol monospace"><span class="token keyword"></span><span class="token keyword">val </span><a href="is-configured.html">isConfigured</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div></div></div>
287+
</div>
288+
</div>
289+
</div>
290+
</div>
291+
<a data-name="-636019525%2FProperties%2F197447377" anchor-label="isUserIdentified" id="-636019525%2FProperties%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
262292
<div class="table-row" data-filterable-current=":core:dokkaHtml/release" data-filterable-set=":core:dokkaHtml/release">
263293
<div class="main-subrow keyValue ">
264294
<div class=""><span class="inline-flex">
265-
<div><a href="is-initialized.html"><span>is</span><wbr></wbr><span><span>Initialized</span></span></a></div>
266-
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-67997467%2FProperties%2F197447377"></span>
295+
<div><a href="is-user-identified.html"><span>is</span><wbr></wbr><span>User</span><wbr></wbr><span><span>Identified</span></span></a></div>
296+
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-636019525%2FProperties%2F197447377"></span>
267297
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
268298
</span></span></div>
269299
<div>
270300
<div class="title">
271-
<div class="platform-hinted " data-platform-hinted="data-platform-hinted" data-togglable="Properties"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:dokkaHtml/release"><a data-name="-67997467%2FProperties%2F197447377" anchor-label="isInitialized" id="-67997467%2FProperties%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a><div class="symbol monospace"><span class="token keyword"></span><span class="token keyword">val </span><a href="is-initialized.html">isInitialized</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div></div></div>
301+
<div class="platform-hinted " data-platform-hinted="data-platform-hinted" data-togglable="Properties"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:dokkaHtml/release"><a data-name="-636019525%2FProperties%2F197447377" anchor-label="isUserIdentified" id="-636019525%2FProperties%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a><div class="symbol monospace"><span class="token keyword"></span><span class="token keyword">val </span><a href="is-user-identified.html">isUserIdentified</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div></div></div>
272302
</div>
273303
</div>
274304
</div>
@@ -290,6 +320,21 @@ <h2 class="tabbedcontent">Extensions</h2>
290320
</div>
291321
</div>
292322
</div>
323+
<a data-name="-14298317%2FExtensions%2F197447377" anchor-label="areOnDemandSessionsEnabled" id="-14298317%2FExtensions%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
324+
<div class="table-row" data-filterable-current=":core:dokkaHtml/release" data-filterable-set=":core:dokkaHtml/release">
325+
<div class="main-subrow keyValue ">
326+
<div class=""><span class="inline-flex">
327+
<div><a href="../are-on-demand-sessions-enabled.html"><span>are</span><wbr></wbr><span>On</span><wbr></wbr><span>Demand</span><wbr></wbr><span>Sessions</span><wbr></wbr><span><span>Enabled</span></span></a></div>
328+
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-14298317%2FExtensions%2F197447377"></span>
329+
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
330+
</span></span></div>
331+
<div>
332+
<div class="title">
333+
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword"></span><span class="token keyword">val </span><a href="index.html">DevRev</a><span class="token punctuation">.</span><a href="../are-on-demand-sessions-enabled.html">areOnDemandSessionsEnabled</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div><div class="brief "><p class="paragraph">A flag denoting whether on-demand sessions are enabled.</p></div></div></div>
334+
</div>
335+
</div>
336+
</div>
337+
</div>
293338
<a data-name="-1510739491%2FExtensions%2F197447377" anchor-label="clearSessionProperties" id="-1510739491%2FExtensions%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
294339
<div class="table-row" data-filterable-current=":core:dokkaHtml/release" data-filterable-set=":core:dokkaHtml/release">
295340
<div class="main-subrow keyValue ">
@@ -335,6 +380,21 @@ <h2 class="tabbedcontent">Extensions</h2>
335380
</div>
336381
</div>
337382
</div>
383+
<a data-name="-60914486%2FExtensions%2F197447377" anchor-label="isMonitoringEnabled" id="-60914486%2FExtensions%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
384+
<div class="table-row" data-filterable-current=":core:dokkaHtml/release" data-filterable-set=":core:dokkaHtml/release">
385+
<div class="main-subrow keyValue ">
386+
<div class=""><span class="inline-flex">
387+
<div><a href="../is-monitoring-enabled.html"><span>is</span><wbr></wbr><span>Monitoring</span><wbr></wbr><span><span>Enabled</span></span></a></div>
388+
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-60914486%2FExtensions%2F197447377"></span>
389+
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
390+
</span></span></div>
391+
<div>
392+
<div class="title">
393+
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword"></span><span class="token keyword">val </span><a href="index.html">DevRev</a><span class="token punctuation">.</span><a href="../is-monitoring-enabled.html">isMonitoringEnabled</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div><div class="brief "><p class="paragraph">A flag denoting whether session monitoring is enabled.</p></div></div></div>
394+
</div>
395+
</div>
396+
</div>
397+
</div>
338398
<a data-name="-892045902%2FExtensions%2F197447377" anchor-label="isRecording" id="-892045902%2FExtensions%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
339399
<div class="table-row" data-filterable-current=":core:dokkaHtml/release" data-filterable-set=":core:dokkaHtml/release">
340400
<div class="main-subrow keyValue ">
@@ -345,7 +405,7 @@ <h2 class="tabbedcontent">Extensions</h2>
345405
</span></span></div>
346406
<div>
347407
<div class="title">
348-
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword"></span><span class="token keyword">fun </span><a href="index.html">DevRev</a><span class="token punctuation">.</span><a href="../is-recording.html"><span class="token function">isRecording</span></a><span class="token punctuation">(</span><span class="token punctuation">)</span></div></div></div>
408+
<div class="platform-hinted " data-platform-hinted="data-platform-hinted"><div class="content sourceset-dependent-content" data-active="" data-togglable=":core:dokkaHtml/release"><div class="symbol monospace"><span class="token keyword"></span><span class="token keyword">val </span><a href="index.html">DevRev</a><span class="token punctuation">.</span><a href="../is-recording.html">isRecording</a><span class="token operator">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin-stdlib/kotlin/-boolean/index.html">Boolean</a></div><div class="brief "><p class="paragraph">A flag denoting whether the session is being recorded.</p></div></div></div>
349409
</div>
350410
</div>
351411
</div>

0 commit comments

Comments
 (0)