@@ -13,6 +13,7 @@ export interface ITelemetryEvent {
13
13
event : string ;
14
14
eventData : Object ;
15
15
nonTracking : boolean ;
16
+ traits ?: Object ;
16
17
}
17
18
18
19
export interface ITelemetryInitEvent {
@@ -43,7 +44,7 @@ export class AnalyticsService {
43
44
44
45
private appVersion : string = '2.0.0' ;
45
46
46
- private analytics ;
47
+ private analytics : Analytics ;
47
48
48
49
constructor (
49
50
private settingsService : SettingsService ,
@@ -80,7 +81,9 @@ export class AnalyticsService {
80
81
// for analytics is granted or not.
81
82
// If permissions not granted
82
83
// anonymousId will includes "00000000-0000-0000-0000-000000000001" value without any user identifiers.
83
- const { event, eventData, nonTracking } = payload ;
84
+ const {
85
+ event, eventData, nonTracking, traits = { } ,
86
+ } = payload ;
84
87
const isAnalyticsGranted = await this . checkIsAnalyticsGranted ( ) ;
85
88
86
89
if ( isAnalyticsGranted || nonTracking ) {
@@ -90,8 +93,9 @@ export class AnalyticsService {
90
93
event,
91
94
context : {
92
95
traits : {
96
+ ...traits ,
93
97
telemetry : isAnalyticsGranted ? Telemetry . Enabled : Telemetry . Disabled ,
94
- }
98
+ } ,
95
99
} ,
96
100
properties : {
97
101
...eventData ,
@@ -118,7 +122,9 @@ export class AnalyticsService {
118
122
// user in any way. When `nonTracking` is True, the event is sent regardless of whether the user's permission
119
123
// for analytics is granted or not.
120
124
// If permissions not granted anonymousId includes "UNSET" value without any user identifiers.
121
- const { event, eventData, nonTracking } = payload ;
125
+ const {
126
+ event, eventData, nonTracking, traits = { } ,
127
+ } = payload ;
122
128
const isAnalyticsGranted = await this . checkIsAnalyticsGranted ( ) ;
123
129
124
130
if ( isAnalyticsGranted || nonTracking ) {
@@ -128,8 +134,9 @@ export class AnalyticsService {
128
134
integrations : { Amplitude : { session_id : this . sessionId } } ,
129
135
context : {
130
136
traits : {
137
+ ...traits ,
131
138
telemetry : isAnalyticsGranted ? Telemetry . Enabled : Telemetry . Disabled ,
132
- }
139
+ } ,
133
140
} ,
134
141
properties : {
135
142
...eventData ,
0 commit comments