You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `Identity` interface is used to provide user, organization, and account information when identifying users or updating their details. This class is used primarily with the `identifyUnverifiedUser`and `updateUser` methods.
145
+
User identity information is passed as a `Map<String, dynamic>` to the `updateUser` method. The map can contain user, organization, and account information.
150
146
151
147
#### Properties
152
148
153
-
The `Identity` class contains the following properties:
149
+
The identity map can contain the following properties:
Setting this flag to true applies the system's default behavior for opening links, which includes dismissing any DevRev modal screens to facilitate handling your own deep links.
244
240
241
+
## Dynamic theme configuration
242
+
243
+
The DevRev SDK allows you to configure the theme dynamically based on the system appearance, or use the theme configured on the DevRev portal. By default, the theme will be dynamic and follow the system appearance.
244
+
245
+
```dart
246
+
DevRev.setPrefersSystemTheme(value: boolean);
247
+
```
248
+
245
249
## Analytics
246
250
247
251
The DevRev SDK allows you to send custom analytic events by using a properties map. You can track these events using the following function:
To protect sensitive data, you can mask sensitive UI elements such as text fields, text views, and web views using `DevRevMask` widget, as shown below.
312
316
313
-
#### Example (masked element):
317
+
For example:
314
318
315
319
```dart
316
320
DevRevMask(
@@ -320,9 +324,11 @@ DevRevMask(
320
324
)
321
325
```
322
326
327
+
### Unmasking sensitive data
328
+
323
329
You can also manually unmask UI elements that would otherwise be automatically masked using `DevRevUnmask`:
324
330
325
-
#### Example (unmasked element):
331
+
For example:
326
332
327
333
```dart
328
334
DevRevUnmask(
@@ -332,7 +338,7 @@ DevRevUnmask(
332
338
)
333
339
```
334
340
335
-
####Advanced session recording control while masking
341
+
### Advanced session recording control while masking
336
342
337
343
For enhanced session recording and screen transition handling, you can use `DevRevMonitoredApp` as a drop-in replacement for `MaterialApp`. This widget automatically handles screen transition states and ensures proper masking during navigation.
338
344
@@ -364,23 +370,23 @@ The mechanism uses balanced start and stop methods, both of which accept a timer
On Android, the DevRev SDK provides methods to manually track the screen transitions.
403
-
404
-
When a screen transition begins, you must call the following method:
408
+
The DevRev SDK allows tracking of screen transitions to understand the user navigation within your app.
409
+
You can manually update the state using the following methods:
405
410
406
411
```dart
407
-
DevRev.setInScreenTransitioning(true)
408
-
```
409
-
410
-
When a screen transition ends, you must call the following method:
412
+
// Mark the transition as started.
413
+
DevRev.setInScreenTransitioning(true);
411
414
412
-
```dart
413
-
DevRev.setInScreenTransitioning(false)
415
+
// Mark the transition as ended.
416
+
DevRev.setInScreenTransitioning(false);
414
417
```
415
418
416
419
## Push notifications
@@ -432,7 +435,7 @@ Push notifications require that the SDK has been configured and the user has bee
432
435
The DevRev SDK offers a method to register your device for receiving push notifications. You can register for push notifications using the following method:
On Android devices, the `deviceToken` should be the Firebase Cloud Messaging (FCM) token value, while on iOS devices, it should be the Apple Push Notification Service (APNs) token.
@@ -461,54 +464,10 @@ To process the notification, use the following method:
461
464
DevRev.processPushNotification(payload);
462
465
```
463
466
464
-
Here, the `message` object from the notification payload needs to be passed to this function.
On iOS devices, you must pass the received push notification payload to the DevRev SDK for processing. The SDK will then handle the notification and execute the necessary actions.
0 commit comments