Skip to content

Commit 65948e9

Browse files
authored
Release v2.2.8 (#6)
2 parents d09480c + f783b3e commit 65948e9

77 files changed

Lines changed: 3352 additions & 121 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devrev/.devrev/repo.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
deployable: true

.github/.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @zeeshan-devrev @rohan-devrev
17 Bytes
Binary file not shown.
1 Byte
Binary file not shown.
17 Bytes
Binary file not shown.

.gradle/.gradle/8.0.2/gc.properties

Whitespace-only changes.

.gradle/.gradle/vcs-1/gc.properties

Whitespace-only changes.

CHANGELOG.md

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## 2.2.8
9+
10+
### Deprecated
11+
- Deprecated the `identifyAnonymousUser()` method.
12+
13+
### Fixed
14+
- Resolved a potential OutOfMemory crash.
15+
816
## 2.2.7
917

1018
### Added
@@ -58,7 +66,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5866
### Fixed
5967
- Fixed an issue related to rendering of the event properties.
6068
- Improved the verified identification flow.
61-
- Fixed an issue with the session upload flow.
69+
- Fixed an issue with the session upload flow.
6270

6371
## 2.0.4
6472

@@ -68,7 +76,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6876
## 2.0.3
6977

7078
### Fixed
71-
- Fixed an issue with manual unmasking of input components.
79+
- Fixed an issue with manual unmasking of input components.
7280
- Fixed an issue with session uploads when the app is rapidly killed.
7381

7482
## 2.0.2
@@ -90,11 +98,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9098
## 1.1.5
9199

92100
### Added
93-
- Added `setShouldPreferSystemTheme` for dynamic theme handling.
94-
- Added support for masking compose views in session recordings & analytics.
101+
- Added `setShouldPreferSystemTheme` for dynamic theme handling.
102+
- Added support for masking compose views in session recordings & analytics.
95103

96104
### Fixed
97-
- Improved the initialization sequence of the observability SDK.
105+
- Improved the initialization sequence of the observability SDK.
98106

99107
## 1.1.4
100108

@@ -109,20 +117,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
109117
- Enhanced the session analytics feature to work better across different environments.
110118

111119
### Fixed
112-
- Fix the bugs related to on-demand sessions providing a more stable experience.
120+
- Fix the bugs related to on-demand sessions providing a more stable experience.
113121

114122
## 1.1.2
115123

116124
### Fixed
117-
- Fix the session recording experience in the SDK.
125+
- Fix the session recording experience in the SDK.
118126

119127
## 1.1.1
120128

121-
### Added
129+
### Added
122130
- Added new methods that allow tracking of screen transitions to understand user navigation within your app.
123131

124132
### Fixed
125-
- Fix the session recording upload bug.
133+
- Fix the session recording upload bug.
126134

127135
## 1.1.0
128136

README.md

Lines changed: 78 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ DevRev SDK, used for integrating DevRev services into your Android app.
1212
- [Sample app](#sample-app)
1313
- [Features](#features)
1414
- [Identification](#identification)
15-
- [Identify an anonymous user](#identify-an-anonymous-user)
1615
- [Identify an unverified user](#identify-an-unverified-user)
1716
- [Identify a verified user](#identify-a-verified-user)
1817
- [Generate an AAT](#generate-an-aat)
@@ -39,8 +38,10 @@ DevRev SDK, used for integrating DevRev services into your Android app.
3938
- [Mask using predefined tags](#mask-using-predefined-tags)
4039
- [Mask web view elements](#mask-web-view-elements)
4140
- [Unmask web view elements](#unmask-web-view-elements)
41+
- [User interaction tracking](#user-interaction-tracking)
4242
- [Custom masking provider](#custom-masking-provider)
4343
- [Timers](#timers)
44+
- [Track handled exceptions](#track-handled-exceptions)
4445
- [Track screens](#track-screens)
4546
- [Manage screen transitions](#manage-screen-transitions)
4647
- [Check if the screen is transitioning](#check-if-the-screen-is-transitioning)
@@ -209,23 +210,6 @@ The identification function should be placed appropriately in your app after the
209210
> [!TIP]
210211
> The `Identity` structure allows for custom fields in the user, organization, and account traits. These fields must be configured through the DevRev app before they can be utilized. For more information, refer to [Object customization](https://devrev.ai/docs/product/object-customization).
211212
212-
#### Identify an anonymous user
213-
214-
The anonymous identification method allows you to create an anonymous user with an optional user identifier, ensuring that no other data is stored or associated with the user.
215-
216-
- Kotlin
217-
```kotlin
218-
DevRev.identifyAnonymousUser(
219-
userId: String
220-
)
221-
```
222-
- Java
223-
```java
224-
DevRev.INSTANCE.identifyAnonymousUser(
225-
String userId
226-
);
227-
```
228-
229213
#### Identify an unverified user
230214
231215
The unverified identification method identifies users with a unique identifier, but it does not verify their identity with the DevRev backend.
@@ -322,9 +306,6 @@ For example:
322306

323307
- Kotlin
324308
```kotlin
325-
// Identify an anonymous user without a user identifier.
326-
DevRev.identifyAnonymousUser("abcd1234")
327-
328309
// Identify an unverified user with its email address as a user identifier.
329310
DevRev.identifyUnverifiedUser(Identity(userId = "foo@example.org"))
330311

@@ -333,9 +314,6 @@ For example:
333314
```
334315
- Java
335316
```java
336-
// Identify an anonymous user without a user identifier.
337-
DevRev.INSTANCE.identifyAnonymousUser("abcd1234");
338-
339317
// Identify an unverified user with its email address as a user identifier.
340318
DevRev.identifyUnverifiedUser(
341319
new Identity("foo@example.org", null, null, null, null, null)
@@ -902,6 +880,32 @@ For example:
902880
<input type="text" placeholder="Enter Username" name="username" required class="devrev-unmask">
903881
```
904882
883+
#### User interaction tracking
884+
885+
The DevRev SDK automatically tracks user interactions such as taps, swipes, and scrolls. However, in some cases you may want to disable this tracking to prevent sensitive user actions from being recorded.
886+
887+
To **temporarily disable** user interaction tracking, use the following method:
888+
889+
- Kotlin
890+
```kotlin
891+
DevRev.pauseUserInteractionTracking()
892+
```
893+
- Java
894+
```java
895+
DevRevObservabilityExtKt.pauseUserInteractionTracking(DevRev.INSTANCE);
896+
```
897+
898+
To **resume** user interaction tracking, use the following method:
899+
900+
- Kotlin
901+
```kotlin
902+
DevRev.resumeUserInteractionTracking()
903+
```
904+
- Java
905+
```java
906+
DevRevObservabilityExtKt.resumeUserInteractionTracking(DevRev.INSTANCE);
907+
```
908+
905909
#### Custom masking provider
906910
907911
For advanced use cases, you can provide a custom masking provider to explicitly specify which regions of the UI should be masked during snapshots.
@@ -1037,6 +1041,55 @@ DevRevObservabilityExtKt.startTimer(DevRev.INSTANCE, "response-time", new HashMa
10371041
DevRevObservabilityExtKt.endTimer(DevRev.INSTANCE, "response-time", new HashMap<String, String>().put("id", "task-1337"));
10381042
```
10391043
1044+
#### Track handled exceptions
1045+
1046+
You can report a handled exception from a catch block using the `sendException` function.
1047+
This ensures that even if the exception is handled in your app, it will still be logged for diagnostics.
1048+
1049+
- Kotlin
1050+
```kotlin
1051+
DevRev.sendException(
1052+
exceptionObj: Throwable,
1053+
exceptionTag: String
1054+
)
1055+
```
1056+
1057+
- Java
1058+
```java
1059+
DevRevObservabilityExtKt.sendException(
1060+
DevRev.INSTANCE,
1061+
Throwable exceptionObj,
1062+
String exceptionTag
1063+
);
1064+
```
1065+
1066+
For example:
1067+
1068+
- Kotlin
1069+
```kotlin
1070+
try {
1071+
// Your code that may produce an exception
1072+
} catch (e: Throwable) {
1073+
DevRev.sendException(
1074+
exceptionObj = e,
1075+
exceptionTag = "login-failure"
1076+
)
1077+
}
1078+
```
1079+
1080+
- Java
1081+
```java
1082+
try {
1083+
// your code that may throw
1084+
} catch (Throwable e) {
1085+
DevRevObservabilityExtKt.sendException(
1086+
DevRev.INSTANCE,
1087+
e,
1088+
"login-failure"
1089+
);
1090+
}
1091+
```
1092+
10401093
#### Track screens
10411094
10421095
The DevRev SDK offers automatic screen tracking to help you understand how users navigate through your app. Although activities and fragments are automatically tracked, you can manually track screens using the following method:
@@ -1240,7 +1293,7 @@ public class MyFirebaseMessagingService extends FirebaseMessagingService {
12401293
**Solution**: The DevRev SDK reports all errors using Android's logging utility. Look for error messages in Android Studio's Logcat after applying `DEVREV SDK` filter.
12411294
12421295
- **Issue**: Support chat won't show.
1243-
**Solution**: Ensure you have correctly called one of the identification methods: `DevRev.identifyUnverifiedUser(...)`, `DevRev.identifyVerifiedUser(...)`, or `DevRev.identifyAnonymousUser(...)`.
1296+
**Solution**: Ensure you have correctly called one of the identification methods: `DevRev.identifyUnverifiedUser(...)` or `DevRev.identifyVerifiedUser(...)`.
12441297

12451298
- **Issue**: Not receiving push notifications.
12461299
**Solution**: Ensure that your app is configured to receive push notifications and that your device is registered with the DevRev SDK.

docs/html/core/ai.devrev.sdk.interfaces/index.html

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -110,27 +110,8 @@
110110
<h1 class="cover"><span><span>Package-level</span></span> <span><span>declarations</span></span></h1>
111111
</div>
112112
<div class="tabbedcontent">
113-
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="TYPE">Types</button><button class="section-tab" data-togglable="FUNCTION,EXTENSION_FUNCTION">Functions</button></div>
113+
<div class="tabs-section" tabs-section="tabs-section"><button class="section-tab" data-active="" data-togglable="FUNCTION,EXTENSION_FUNCTION">Functions</button></div>
114114
<div class="tabs-section-body">
115-
<div data-togglable="TYPE">
116-
<h2 class="">Types</h2>
117-
<div class="table"><a data-name="-1832215238%2FClasslikes%2F197447377" anchor-label="Logger" id="-1832215238%2FClasslikes%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>
118-
<div class="table-row" data-filterable-current=":core:dokkaHtml/release" data-filterable-set=":core:dokkaHtml/release">
119-
<div class="main-subrow keyValue ">
120-
<div class=""><span class="inline-flex">
121-
<div><a href="-logger/index.html"><span><span>Logger</span></span></a></div>
122-
<span class="anchor-wrapper"><span class="anchor-icon" pointing-to="-1832215238%2FClasslikes%2F197447377"></span>
123-
<div class="copy-popup-wrapper "><span class="copy-popup-icon"></span><span>Link copied to clipboard</span></div>
124-
</span></span></div>
125-
<div>
126-
<div class="title">
127-
<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">interface </span><a href="-logger/index.html">Logger</a></div></div></div>
128-
</div>
129-
</div>
130-
</div>
131-
</div>
132-
</div>
133-
</div>
134115
<div data-togglable="EXTENSION_FUNCTION">
135116
<h2 class="">Functions</h2>
136117
<div class="table"><a data-name="-340499117%2FFunctions%2F197447377" anchor-label="refreshToken" id="-340499117%2FFunctions%2F197447377" data-filterable-set=":core:dokkaHtml/release"></a>

0 commit comments

Comments
 (0)