@clix-so/react-native-sdk 1.3.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/core/Clix.js +4 -1
- package/lib/module/core/Clix.js.map +1 -1
- package/lib/module/services/EventAPIService.js +4 -1
- package/lib/module/services/EventAPIService.js.map +1 -1
- package/lib/module/services/EventService.js +2 -2
- package/lib/module/services/EventService.js.map +1 -1
- package/lib/module/services/NotificationService.js +5 -3
- package/lib/module/services/NotificationService.js.map +1 -1
- package/lib/module/services/SessionService.js +72 -0
- package/lib/module/services/SessionService.js.map +1 -0
- package/lib/typescript/src/core/Clix.d.ts +2 -0
- package/lib/typescript/src/core/Clix.d.ts.map +1 -1
- package/lib/typescript/src/core/ClixConfig.d.ts +1 -0
- package/lib/typescript/src/core/ClixConfig.d.ts.map +1 -1
- package/lib/typescript/src/services/EventAPIService.d.ts +1 -1
- package/lib/typescript/src/services/EventAPIService.d.ts.map +1 -1
- package/lib/typescript/src/services/EventService.d.ts +1 -1
- package/lib/typescript/src/services/EventService.d.ts.map +1 -1
- package/lib/typescript/src/services/NotificationService.d.ts +3 -1
- package/lib/typescript/src/services/NotificationService.d.ts.map +1 -1
- package/lib/typescript/src/services/SessionService.d.ts +19 -0
- package/lib/typescript/src/services/SessionService.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/core/Clix.ts +10 -1
- package/src/core/ClixConfig.ts +1 -0
- package/src/services/EventAPIService.ts +3 -1
- package/src/services/EventService.ts +4 -2
- package/src/services/NotificationService.ts +8 -3
- package/src/services/SessionService.ts +106 -0
package/lib/module/core/Clix.js
CHANGED
|
@@ -8,6 +8,7 @@ import { EventService } from "../services/EventService.js";
|
|
|
8
8
|
import { LiveActivityAPIService } from "../services/LiveActivityAPIService.js";
|
|
9
9
|
import { LiveActivityService } from "../services/LiveActivityService.js";
|
|
10
10
|
import { NotificationService } from "../services/NotificationService.js";
|
|
11
|
+
import { SessionService } from "../services/SessionService.js";
|
|
11
12
|
import { StorageService } from "../services/StorageService.js";
|
|
12
13
|
import { TokenService } from "../services/TokenService.js";
|
|
13
14
|
import { ClixLogger, ClixLogLevel } from "../utils/logging/ClixLogger.js";
|
|
@@ -41,11 +42,13 @@ export class Clix {
|
|
|
41
42
|
this.shared.tokenService = new TokenService(this.shared.storageService);
|
|
42
43
|
this.shared.deviceService = new DeviceService(this.shared.storageService, this.shared.tokenService, deviceApiService);
|
|
43
44
|
this.shared.eventService = new EventService(eventApiService, this.shared.deviceService);
|
|
44
|
-
this.shared.
|
|
45
|
+
this.shared.sessionService = new SessionService(this.shared.storageService, this.shared.eventService, config.sessionTimeoutMs ?? 30000);
|
|
46
|
+
this.shared.notificationService = new NotificationService(this.shared.deviceService, this.shared.tokenService, this.shared.eventService, this.shared.sessionService);
|
|
45
47
|
this.shared.liveActivityService = new LiveActivityService(this.shared.deviceService, liveActivityApiService);
|
|
46
48
|
this.shared.storageService.set(this.configKey, config);
|
|
47
49
|
this.shared.liveActivityService.initialize();
|
|
48
50
|
await this.shared.notificationService.initialize(); // NOTE(nyanxyz): must be initialized before any await calls
|
|
51
|
+
await this.shared.sessionService.start();
|
|
49
52
|
await this.shared.deviceService.initialize();
|
|
50
53
|
ClixLogger.debug('Clix SDK initialized successfully');
|
|
51
54
|
this.initCoordinator.completeInitialization();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ClixAPIClient","DeviceAPIService","DeviceService","EventAPIService","EventService","LiveActivityAPIService","LiveActivityService","NotificationService","StorageService","TokenService","ClixLogger","ClixLogLevel","ClixInitCoordinator","ClixNotification","Clix","initCoordinator","Notification","shared","configKey","initialize","options","config","endpoint","logLevel","INFO","extraHeaders","setLogLevel","ERROR","debug","apiClient","deviceApiService","eventApiService","liveActivityApiService","storageService","projectId","tokenService","deviceService","eventService","notificationService","liveActivityService","set","completeInitialization","error","errorInstance","Error","String","failInitialization","setUserId","userId","waitForInitialization","setProjectUserId","removeUserId","removeProjectUserId","setUserProperty","key","value","updateUserProperties","setUserProperties","properties","removeUserProperty","removeUserProperties","keys","trackEvent","name","level","getDeviceId","getCurrentDeviceId","undefined"],"sourceRoot":"../../../src","sources":["core/Clix.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,8BAA2B;AACzD,SAASC,gBAAgB,QAAQ,iCAA8B;AAC/D,SAASC,aAAa,QAAQ,8BAA2B;AACzD,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SAASC,YAAY,QAAQ,6BAA0B;AACvD,SAASC,sBAAsB,QAAQ,uCAAoC;AAC3E,SAASC,mBAAmB,QAAQ,oCAAiC;AACrE,SAASC,mBAAmB,QAAQ,oCAAiC;AACrE,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,YAAY,QAAQ,6BAA0B;AACvD,SAASC,UAAU,EAAEC,YAAY,QAAQ,gCAA6B;AAGtE,SAASC,mBAAmB,QAAQ,0BAAuB;AAC3D,SAASC,gBAAgB,QAAQ,uBAAoB;AAMrD,OAAO,MAAMC,IAAI,CAAC;EAEhB,OAAOC,eAAe,GAAG,IAAIH,mBAAmB,CAAC,CAAC;EAElD,OAAOI,YAAY,GAAGH,gBAAgB,CAACI,MAAM;
|
|
1
|
+
{"version":3,"names":["ClixAPIClient","DeviceAPIService","DeviceService","EventAPIService","EventService","LiveActivityAPIService","LiveActivityService","NotificationService","SessionService","StorageService","TokenService","ClixLogger","ClixLogLevel","ClixInitCoordinator","ClixNotification","Clix","initCoordinator","Notification","shared","configKey","initialize","options","config","endpoint","logLevel","INFO","extraHeaders","setLogLevel","ERROR","debug","apiClient","deviceApiService","eventApiService","liveActivityApiService","storageService","projectId","tokenService","deviceService","eventService","sessionService","sessionTimeoutMs","notificationService","liveActivityService","set","start","completeInitialization","error","errorInstance","Error","String","failInitialization","setUserId","userId","waitForInitialization","setProjectUserId","removeUserId","removeProjectUserId","setUserProperty","key","value","updateUserProperties","setUserProperties","properties","removeUserProperty","removeUserProperties","keys","trackEvent","name","level","getDeviceId","getCurrentDeviceId","undefined"],"sourceRoot":"../../../src","sources":["core/Clix.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,12 +5,15 @@ export class EventAPIService {
|
|
|
5
5
|
constructor(apiClient) {
|
|
6
6
|
this.apiClient = apiClient;
|
|
7
7
|
}
|
|
8
|
-
async trackEvent(deviceId, name, properties, messageId, userJourneyId, userJourneyNodeId) {
|
|
8
|
+
async trackEvent(deviceId, name, properties, messageId, userJourneyId, userJourneyNodeId, sourceType) {
|
|
9
9
|
try {
|
|
10
10
|
ClixLogger.debug(`Tracking event: ${name} for device: ${deviceId}`);
|
|
11
11
|
const eventRequestBody = {
|
|
12
12
|
device_id: deviceId,
|
|
13
13
|
name: name,
|
|
14
|
+
...(sourceType && {
|
|
15
|
+
source_type: sourceType
|
|
16
|
+
}),
|
|
14
17
|
event_property: {
|
|
15
18
|
custom_properties: properties,
|
|
16
19
|
...(messageId && {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ClixLogger","EventAPIService","constructor","apiClient","trackEvent","deviceId","name","properties","messageId","userJourneyId","userJourneyNodeId","debug","eventRequestBody","device_id","event_property","custom_properties","message_id","user_journey_id","user_journey_node_id","response","post","events","statusCode","Error","JSON","stringify","data","error"],"sourceRoot":"../../../src","sources":["services/EventAPIService.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,gCAA6B;AAGxD,OAAO,MAAMC,eAAe,CAAC;EAC3BC,WAAWA,CAAkBC,SAAwB,EAAE;IAAA,KAA1BA,SAAwB,GAAxBA,SAAwB;EAAG;EAExD,MAAMC,UAAUA,CACdC,QAAgB,EAChBC,IAAY,EACZC,UAA+B,EAC/BC,SAAkB,EAClBC,aAAsB,EACtBC,iBAA0B,
|
|
1
|
+
{"version":3,"names":["ClixLogger","EventAPIService","constructor","apiClient","trackEvent","deviceId","name","properties","messageId","userJourneyId","userJourneyNodeId","sourceType","debug","eventRequestBody","device_id","source_type","event_property","custom_properties","message_id","user_journey_id","user_journey_node_id","response","post","events","statusCode","Error","JSON","stringify","data","error"],"sourceRoot":"../../../src","sources":["services/EventAPIService.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,gCAA6B;AAGxD,OAAO,MAAMC,eAAe,CAAC;EAC3BC,WAAWA,CAAkBC,SAAwB,EAAE;IAAA,KAA1BA,SAAwB,GAAxBA,SAAwB;EAAG;EAExD,MAAMC,UAAUA,CACdC,QAAgB,EAChBC,IAAY,EACZC,UAA+B,EAC/BC,SAAkB,EAClBC,aAAsB,EACtBC,iBAA0B,EAC1BC,UAAmB,EACJ;IACf,IAAI;MACFX,UAAU,CAACY,KAAK,CAAC,mBAAmBN,IAAI,gBAAgBD,QAAQ,EAAE,CAAC;MAEnE,MAAMQ,gBAAgB,GAAG;QACvBC,SAAS,EAAET,QAAQ;QACnBC,IAAI,EAAEA,IAAI;QACV,IAAIK,UAAU,IAAI;UAAEI,WAAW,EAAEJ;QAAW,CAAC,CAAC;QAC9CK,cAAc,EAAE;UACdC,iBAAiB,EAAEV,UAAU;UAC7B,IAAIC,SAAS,IAAI;YAAEU,UAAU,EAAEV;UAAU,CAAC,CAAC;UAC3C,IAAIC,aAAa,IAAI;YAAEU,eAAe,EAAEV;UAAc,CAAC,CAAC;UACxD,IAAIC,iBAAiB,IAAI;YAAEU,oBAAoB,EAAEV;UAAkB,CAAC;QACtE;MACF,CAAC;MAED,MAAMW,QAAQ,GAAG,MAAM,IAAI,CAAClB,SAAS,CAACmB,IAAI,CAAC,SAAS,EAAE;QACpDC,MAAM,EAAE,CAACV,gBAAgB;MAC3B,CAAC,CAAC;MAEF,IAAIQ,QAAQ,CAACG,UAAU,GAAG,GAAG,IAAIH,QAAQ,CAACG,UAAU,IAAI,GAAG,EAAE;QAC3D,MAAM,IAAIC,KAAK,CACb,QAAQJ,QAAQ,CAACG,UAAU,KAAKE,IAAI,CAACC,SAAS,CAACN,QAAQ,CAACO,IAAI,CAAC,EAC/D,CAAC;MACH;MAEA5B,UAAU,CAACY,KAAK,CACd,+BAA+BN,IAAI,gBAAgBD,QAAQ,EAC7D,CAAC;IACH,CAAC,CAAC,OAAOwB,KAAK,EAAE;MACd7B,UAAU,CAAC6B,KAAK,CACd,0BAA0BvB,IAAI,gBAAgBD,QAAQ,EAAE,EACxDwB,KACF,CAAC;MACD,MAAMA,KAAK;IACb;EACF;AACF","ignoreList":[]}
|
|
@@ -17,9 +17,9 @@ export class EventService {
|
|
|
17
17
|
});
|
|
18
18
|
return cleanProperties;
|
|
19
19
|
}
|
|
20
|
-
async trackEvent(name, properties, messageId, userJourneyId, userJourneyNodeId) {
|
|
20
|
+
async trackEvent(name, properties, messageId, userJourneyId, userJourneyNodeId, sourceType) {
|
|
21
21
|
const deviceId = this.deviceService.getCurrentDeviceId();
|
|
22
|
-
await this.eventAPIService.trackEvent(deviceId, name, this.serializeProperties(properties), messageId, userJourneyId, userJourneyNodeId);
|
|
22
|
+
await this.eventAPIService.trackEvent(deviceId, name, this.serializeProperties(properties), messageId, userJourneyId, userJourneyNodeId, sourceType);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=EventService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ClixDateFormatter","EventService","constructor","eventAPIService","deviceService","serializeProperties","properties","cleanProperties","Object","entries","forEach","key","value","Date","format","trackEvent","name","messageId","userJourneyId","userJourneyNodeId","deviceId","getCurrentDeviceId"],"sourceRoot":"../../../src","sources":["services/EventService.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,+BAA4B;AAI9D,OAAO,MAAMC,YAAY,CAAC;EACxBC,WAAWA,CACQC,eAAgC,EAChCC,aAA4B,EAC7C;IAAA,KAFiBD,eAAgC,GAAhCA,eAAgC;IAAA,KAChCC,aAA4B,GAA5BA,aAA4B;EAC5C;EAEKC,mBAAmBA,CACzBC,UAA+B,GAAG,CAAC,CAAC,EACf;IACrB,MAAMC,eAAoC,GAAG,CAAC,CAAC;IAE/CC,MAAM,CAACC,OAAO,CAACH,UAAU,CAAC,CAACI,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;MACnD,IAAIA,KAAK,YAAYC,IAAI,EAAE;QACzBN,eAAe,CAACI,GAAG,CAAC,GAAGX,iBAAiB,CAACc,MAAM,CAACF,KAAK,CAAC;QACtD;MACF;MAEAL,eAAe,CAACI,GAAG,CAAC,GAAGC,KAAK;IAC9B,CAAC,CAAC;IAEF,OAAOL,eAAe;EACxB;EAEA,MAAMQ,UAAUA,CACdC,IAAY,EACZV,UAAgC,EAChCW,SAAkB,EAClBC,aAAsB,EACtBC,iBAA0B,
|
|
1
|
+
{"version":3,"names":["ClixDateFormatter","EventService","constructor","eventAPIService","deviceService","serializeProperties","properties","cleanProperties","Object","entries","forEach","key","value","Date","format","trackEvent","name","messageId","userJourneyId","userJourneyNodeId","sourceType","deviceId","getCurrentDeviceId"],"sourceRoot":"../../../src","sources":["services/EventService.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,+BAA4B;AAI9D,OAAO,MAAMC,YAAY,CAAC;EACxBC,WAAWA,CACQC,eAAgC,EAChCC,aAA4B,EAC7C;IAAA,KAFiBD,eAAgC,GAAhCA,eAAgC;IAAA,KAChCC,aAA4B,GAA5BA,aAA4B;EAC5C;EAEKC,mBAAmBA,CACzBC,UAA+B,GAAG,CAAC,CAAC,EACf;IACrB,MAAMC,eAAoC,GAAG,CAAC,CAAC;IAE/CC,MAAM,CAACC,OAAO,CAACH,UAAU,CAAC,CAACI,OAAO,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK;MACnD,IAAIA,KAAK,YAAYC,IAAI,EAAE;QACzBN,eAAe,CAACI,GAAG,CAAC,GAAGX,iBAAiB,CAACc,MAAM,CAACF,KAAK,CAAC;QACtD;MACF;MAEAL,eAAe,CAACI,GAAG,CAAC,GAAGC,KAAK;IAC9B,CAAC,CAAC;IAEF,OAAOL,eAAe;EACxB;EAEA,MAAMQ,UAAUA,CACdC,IAAY,EACZV,UAAgC,EAChCW,SAAkB,EAClBC,aAAsB,EACtBC,iBAA0B,EAC1BC,UAAmB,EACJ;IACf,MAAMC,QAAQ,GAAG,IAAI,CAACjB,aAAa,CAACkB,kBAAkB,CAAC,CAAC;IAExD,MAAM,IAAI,CAACnB,eAAe,CAACY,UAAU,CACnCM,QAAQ,EACRL,IAAI,EACJ,IAAI,CAACX,mBAAmB,CAACC,UAAU,CAAC,EACpCW,SAAS,EACTC,aAAa,EACbC,iBAAiB,EACjBC,UACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -18,10 +18,11 @@ export class NotificationService {
|
|
|
18
18
|
lights: true
|
|
19
19
|
};
|
|
20
20
|
static ANDROID_GROUP_ID = 'clix_notification_group';
|
|
21
|
-
constructor(deviceService, tokenService, eventService) {
|
|
21
|
+
constructor(deviceService, tokenService, eventService, sessionService) {
|
|
22
22
|
this.deviceService = deviceService;
|
|
23
23
|
this.tokenService = tokenService;
|
|
24
24
|
this.eventService = eventService;
|
|
25
|
+
this.sessionService = sessionService;
|
|
25
26
|
}
|
|
26
27
|
async initialize() {
|
|
27
28
|
if (this.isInitialized) {
|
|
@@ -303,7 +304,7 @@ export class NotificationService {
|
|
|
303
304
|
}
|
|
304
305
|
async trackPushReceivedEvent(payload) {
|
|
305
306
|
try {
|
|
306
|
-
await this.eventService.trackEvent('PUSH_NOTIFICATION_RECEIVED', {}, payload.messageId, payload.userJourneyId, payload.userJourneyNodeId);
|
|
307
|
+
await this.eventService.trackEvent('PUSH_NOTIFICATION_RECEIVED', {}, payload.messageId, payload.userJourneyId, payload.userJourneyNodeId, 'CLIX');
|
|
307
308
|
ClixLogger.debug('PUSH_NOTIFICATION_RECEIVED event tracked:', payload.messageId);
|
|
308
309
|
} catch (error) {
|
|
309
310
|
ClixLogger.error('Failed to track PUSH_NOTIFICATION_RECEIVED event', error);
|
|
@@ -311,7 +312,8 @@ export class NotificationService {
|
|
|
311
312
|
}
|
|
312
313
|
async trackPushTappedEvent(payload) {
|
|
313
314
|
try {
|
|
314
|
-
|
|
315
|
+
this.sessionService?.setPendingMessageId(payload.messageId);
|
|
316
|
+
await this.eventService.trackEvent('PUSH_NOTIFICATION_TAPPED', {}, payload.messageId, payload.userJourneyId, payload.userJourneyNodeId, 'CLIX');
|
|
315
317
|
ClixLogger.debug('PUSH_NOTIFICATION_TAPPED event tracked:', payload.messageId);
|
|
316
318
|
} catch (error) {
|
|
317
319
|
ClixLogger.error('Failed to track PUSH_NOTIFICATION_TAPPED event', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["notifee","AndroidCategory","AndroidGroupAlertBehavior","AndroidImportance","AndroidStyle","AndroidVisibility","AuthorizationStatus","EventType","messaging","Linking","Platform","ClixLogger","NotificationService","autoHandleLandingUrl","isInitialized","processedMessageIds","Set","DEFAULT_CHANNEL","id","name","description","importance","HIGH","sound","vibration","lights","ANDROID_GROUP_ID","constructor","deviceService","tokenService","eventService","initialize","debug","setupTokenRefreshListener","setupPushReceivedHandler","setupPushTappedHandler","OS","createNotificationChannels","error","cleanup","unsubscribeMessage","unsubscribeNotificationOpenedApp","unsubscribeTokenRefresh","unsubscribeForegroundEvent","clear","requestPermission","settings","alert","badge","provisional","announcement","carPlay","criticalAlert","isGranted","authorizationStatus","AUTHORIZED","PROVISIONAL","setPermissionGranted","updatePushPermission","warn","setBackgroundMessageHandler","handleBackgroundMessage","bind","onMessage","handleForegroundMessage","onBackgroundEvent","handleBackgroundNotificationEvent","onForegroundEvent","handleForegroundNotificationEvent","onNotificationOpenedApp","handleNotificationOpenedApp","handleInitialNotification","onTokenRefresh","token","tokenRefreshHandler","saveToken","updatePushToken","createChannel","remoteMessage","messageId","data","backgroundMessageHandler","clixPayload","parseClixPayload","notification","displayNotification","trackPushReceivedEvent","has","result","messageHandler","add","notificationOpenedAppHandler","trackPushTappedEvent","handleUrlNavigation","initialNotification","getInitialNotification","handleNotificationEvent","event","type","detail","PRESS","ACTION_PRESS","DISMISSED","foregroundEventHandler","backgroundEventHandler","payload","trackEvent","userJourneyId","userJourneyNodeId","title","body","hasImage","imageUrl","notificationConfig","createNotificationConfig","Error","message","stack","channelId","config","Date","now","toString","android","category","MESSAGE","visibility","PUBLIC","groupId","groupSummary","groupAlertBehavior","CHILDREN","ticker","style","BIGTEXT","text","pressAction","ios","foregroundPresentationOptions","banner","list","largeIcon","url","landingUrl","landing_url","link","click_action","supported","canOpenURL","openURL","userInfo","clix","JSON","parse","parseError","message_id","image_url","undefined","user_journey_id","user_journey_node_id"],"sourceRoot":"../../../src","sources":["services/NotificationService.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["notifee","AndroidCategory","AndroidGroupAlertBehavior","AndroidImportance","AndroidStyle","AndroidVisibility","AuthorizationStatus","EventType","messaging","Linking","Platform","ClixLogger","NotificationService","autoHandleLandingUrl","isInitialized","processedMessageIds","Set","DEFAULT_CHANNEL","id","name","description","importance","HIGH","sound","vibration","lights","ANDROID_GROUP_ID","constructor","deviceService","tokenService","eventService","sessionService","initialize","debug","setupTokenRefreshListener","setupPushReceivedHandler","setupPushTappedHandler","OS","createNotificationChannels","error","cleanup","unsubscribeMessage","unsubscribeNotificationOpenedApp","unsubscribeTokenRefresh","unsubscribeForegroundEvent","clear","requestPermission","settings","alert","badge","provisional","announcement","carPlay","criticalAlert","isGranted","authorizationStatus","AUTHORIZED","PROVISIONAL","setPermissionGranted","updatePushPermission","warn","setBackgroundMessageHandler","handleBackgroundMessage","bind","onMessage","handleForegroundMessage","onBackgroundEvent","handleBackgroundNotificationEvent","onForegroundEvent","handleForegroundNotificationEvent","onNotificationOpenedApp","handleNotificationOpenedApp","handleInitialNotification","onTokenRefresh","token","tokenRefreshHandler","saveToken","updatePushToken","createChannel","remoteMessage","messageId","data","backgroundMessageHandler","clixPayload","parseClixPayload","notification","displayNotification","trackPushReceivedEvent","has","result","messageHandler","add","notificationOpenedAppHandler","trackPushTappedEvent","handleUrlNavigation","initialNotification","getInitialNotification","handleNotificationEvent","event","type","detail","PRESS","ACTION_PRESS","DISMISSED","foregroundEventHandler","backgroundEventHandler","payload","trackEvent","userJourneyId","userJourneyNodeId","setPendingMessageId","title","body","hasImage","imageUrl","notificationConfig","createNotificationConfig","Error","message","stack","channelId","config","Date","now","toString","android","category","MESSAGE","visibility","PUBLIC","groupId","groupSummary","groupAlertBehavior","CHILDREN","ticker","style","BIGTEXT","text","pressAction","ios","foregroundPresentationOptions","banner","list","largeIcon","url","landingUrl","landing_url","link","click_action","supported","canOpenURL","openURL","userInfo","clix","JSON","parse","parseError","message_id","image_url","undefined","user_journey_id","user_journey_node_id"],"sourceRoot":"../../../src","sources":["services/NotificationService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { AppState } from 'react-native';
|
|
4
|
+
import { ClixLogger } from "../utils/logging/ClixLogger.js";
|
|
5
|
+
var SessionEvent = /*#__PURE__*/function (SessionEvent) {
|
|
6
|
+
SessionEvent["SESSION_START"] = "SESSION_START";
|
|
7
|
+
return SessionEvent;
|
|
8
|
+
}(SessionEvent || {});
|
|
9
|
+
export class SessionService {
|
|
10
|
+
static LAST_ACTIVITY_KEY = 'clix_session_last_activity';
|
|
11
|
+
constructor(storageService, eventService, sessionTimeoutMs) {
|
|
12
|
+
this.storageService = storageService;
|
|
13
|
+
this.eventService = eventService;
|
|
14
|
+
this.effectiveTimeoutMs = Math.max(sessionTimeoutMs, 5000);
|
|
15
|
+
this.lastAppState = AppState.currentState;
|
|
16
|
+
}
|
|
17
|
+
async start() {
|
|
18
|
+
this.appStateSubscription = AppState.addEventListener('change', this.handleAppStateChange.bind(this));
|
|
19
|
+
const lastActivity = this.storageService.get(SessionService.LAST_ACTIVITY_KEY);
|
|
20
|
+
if (lastActivity) {
|
|
21
|
+
const elapsed = Date.now() - lastActivity;
|
|
22
|
+
if (elapsed <= this.effectiveTimeoutMs) {
|
|
23
|
+
this.pendingMessageId = undefined;
|
|
24
|
+
this.updateLastActivity();
|
|
25
|
+
ClixLogger.debug('Continuing existing session');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
await this.startNewSession();
|
|
30
|
+
}
|
|
31
|
+
async handleAppStateChange(nextAppState) {
|
|
32
|
+
const previousAppState = this.lastAppState;
|
|
33
|
+
this.lastAppState = nextAppState;
|
|
34
|
+
if (previousAppState === 'background' && nextAppState === 'active') {
|
|
35
|
+
// Small delay to allow notification tap handlers to set pendingMessageId
|
|
36
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
37
|
+
const lastActivity = this.storageService.get(SessionService.LAST_ACTIVITY_KEY);
|
|
38
|
+
if (lastActivity) {
|
|
39
|
+
const elapsed = Date.now() - lastActivity;
|
|
40
|
+
if (elapsed <= this.effectiveTimeoutMs) {
|
|
41
|
+
this.pendingMessageId = undefined;
|
|
42
|
+
this.updateLastActivity();
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
await this.startNewSession();
|
|
47
|
+
} else if (nextAppState === 'background') {
|
|
48
|
+
this.updateLastActivity();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
setPendingMessageId(messageId) {
|
|
52
|
+
this.pendingMessageId = messageId;
|
|
53
|
+
}
|
|
54
|
+
async startNewSession() {
|
|
55
|
+
const messageId = this.pendingMessageId;
|
|
56
|
+
this.pendingMessageId = undefined;
|
|
57
|
+
this.updateLastActivity();
|
|
58
|
+
try {
|
|
59
|
+
await this.eventService.trackEvent(SessionEvent.SESSION_START, {}, messageId, undefined, undefined, 'CLIX');
|
|
60
|
+
ClixLogger.debug(`${SessionEvent.SESSION_START} tracked`);
|
|
61
|
+
} catch (error) {
|
|
62
|
+
ClixLogger.error(`Failed to track ${SessionEvent.SESSION_START}`, error);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
updateLastActivity() {
|
|
66
|
+
this.storageService.set(SessionService.LAST_ACTIVITY_KEY, Date.now());
|
|
67
|
+
}
|
|
68
|
+
cleanup() {
|
|
69
|
+
this.appStateSubscription?.remove();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=SessionService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AppState","ClixLogger","SessionEvent","SessionService","LAST_ACTIVITY_KEY","constructor","storageService","eventService","sessionTimeoutMs","effectiveTimeoutMs","Math","max","lastAppState","currentState","start","appStateSubscription","addEventListener","handleAppStateChange","bind","lastActivity","get","elapsed","Date","now","pendingMessageId","undefined","updateLastActivity","debug","startNewSession","nextAppState","previousAppState","Promise","resolve","setTimeout","setPendingMessageId","messageId","trackEvent","SESSION_START","error","set","cleanup","remove"],"sourceRoot":"../../../src","sources":["services/SessionService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import { DeviceService } from '../services/DeviceService';
|
|
|
2
2
|
import { EventService } from '../services/EventService';
|
|
3
3
|
import { LiveActivityService } from '../services/LiveActivityService';
|
|
4
4
|
import { NotificationService } from '../services/NotificationService';
|
|
5
|
+
import { SessionService } from '../services/SessionService';
|
|
5
6
|
import { StorageService } from '../services/StorageService';
|
|
6
7
|
import { TokenService } from '../services/TokenService';
|
|
7
8
|
import { ClixLogLevel } from '../utils/logging/ClixLogger';
|
|
@@ -19,6 +20,7 @@ export declare class Clix {
|
|
|
19
20
|
tokenService?: TokenService;
|
|
20
21
|
eventService?: EventService;
|
|
21
22
|
deviceService?: DeviceService;
|
|
23
|
+
sessionService?: SessionService;
|
|
22
24
|
notificationService?: NotificationService;
|
|
23
25
|
liveActivityService?: LiveActivityService;
|
|
24
26
|
private static configKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clix.d.ts","sourceRoot":"","sources":["../../../../src/core/Clix.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAc,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,KAAK,qBAAqB,GAAG,QAAQ,CACnC,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC,CAClE,CAAC;AAEF,qBAAa,IAAI;IACf,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACrB,MAAM,CAAC,eAAe,sBAA6B;IAEnD,MAAM,CAAC,YAAY,mBAA2B;IAE9C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiB;IAEzC;;OAEG;WACU,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Clix.d.ts","sourceRoot":"","sources":["../../../../src/core/Clix.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAc,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,KAAK,qBAAqB,GAAG,QAAQ,CACnC,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,cAAc,CAAC,CAClE,CAAC;AAEF,qBAAa,IAAI;IACf,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACrB,MAAM,CAAC,eAAe,sBAA6B;IAEnD,MAAM,CAAC,YAAY,mBAA2B;IAE9C,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAiB;IAEzC;;OAEG;WACU,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DtE;;OAEG;WACU,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD;;OAEG;WACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAS1C;;OAEG;WACU,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE;;OAEG;WACU,iBAAiB,CAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC;IAShB;;OAEG;WACU,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D;;OAEG;WACU,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE;;OAEG;WACU,UAAU,CACrB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC;IAShB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAK7C;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CASxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClixConfig.d.ts","sourceRoot":"","sources":["../../../../src/core/ClixConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ClixConfig.d.ts","sourceRoot":"","sources":["../../../../src/core/ClixConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -2,6 +2,6 @@ import { ClixAPIClient } from './ClixAPIClient';
|
|
|
2
2
|
export declare class EventAPIService {
|
|
3
3
|
private readonly apiClient;
|
|
4
4
|
constructor(apiClient: ClixAPIClient);
|
|
5
|
-
trackEvent(deviceId: string, name: string, properties: Record<string, any>, messageId?: string, userJourneyId?: string, userJourneyNodeId?: string): Promise<void>;
|
|
5
|
+
trackEvent(deviceId: string, name: string, properties: Record<string, any>, messageId?: string, userJourneyId?: string, userJourneyNodeId?: string, sourceType?: string): Promise<void>;
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=EventAPIService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventAPIService.d.ts","sourceRoot":"","sources":["../../../../src/services/EventAPIService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE/C,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,EACtB,iBAAiB,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"EventAPIService.d.ts","sourceRoot":"","sources":["../../../../src/services/EventAPIService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE/C,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,EACtB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;CAqCjB"}
|
|
@@ -5,6 +5,6 @@ export declare class EventService {
|
|
|
5
5
|
private readonly deviceService;
|
|
6
6
|
constructor(eventAPIService: EventAPIService, deviceService: DeviceService);
|
|
7
7
|
private serializeProperties;
|
|
8
|
-
trackEvent(name: string, properties?: Record<string, any>, messageId?: string, userJourneyId?: string, userJourneyNodeId?: string): Promise<void>;
|
|
8
|
+
trackEvent(name: string, properties?: Record<string, any>, messageId?: string, userJourneyId?: string, userJourneyNodeId?: string, sourceType?: string): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=EventService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventService.d.ts","sourceRoot":"","sources":["../../../../src/services/EventService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa;IAG/C,OAAO,CAAC,mBAAmB;IAiBrB,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,EACtB,iBAAiB,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"EventService.d.ts","sourceRoot":"","sources":["../../../../src/services/EventService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa;IAG/C,OAAO,CAAC,mBAAmB;IAiBrB,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,EACtB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;CAajB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Event, type NotificationSettings } from '@notifee/react-native';
|
|
2
2
|
import { DeviceService } from './DeviceService';
|
|
3
3
|
import { EventService } from './EventService';
|
|
4
|
+
import { SessionService } from './SessionService';
|
|
4
5
|
import { TokenService } from './TokenService';
|
|
5
6
|
type NotificationData = Record<string, any>;
|
|
6
7
|
export type MessageHandler = (data: NotificationData) => Promise<boolean> | boolean;
|
|
@@ -13,6 +14,7 @@ export declare class NotificationService {
|
|
|
13
14
|
private readonly deviceService;
|
|
14
15
|
private readonly tokenService;
|
|
15
16
|
private readonly eventService;
|
|
17
|
+
private readonly sessionService?;
|
|
16
18
|
autoHandleLandingUrl: boolean;
|
|
17
19
|
messageHandler?: MessageHandler;
|
|
18
20
|
backgroundMessageHandler?: BackgroundMessageHandler;
|
|
@@ -28,7 +30,7 @@ export declare class NotificationService {
|
|
|
28
30
|
private unsubscribeForegroundEvent?;
|
|
29
31
|
private static readonly DEFAULT_CHANNEL;
|
|
30
32
|
private static readonly ANDROID_GROUP_ID;
|
|
31
|
-
constructor(deviceService: DeviceService, tokenService: TokenService, eventService: EventService);
|
|
33
|
+
constructor(deviceService: DeviceService, tokenService: TokenService, eventService: EventService, sessionService?: SessionService | undefined);
|
|
32
34
|
initialize(): Promise<void>;
|
|
33
35
|
cleanup(): void;
|
|
34
36
|
requestPermission(): Promise<NotificationSettings>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationService.d.ts","sourceRoot":"","sources":["../../../../src/services/NotificationService.ts"],"names":[],"mappings":"AAAA,OAAgB,EASd,KAAK,KAAK,EAEV,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,gBAAgB,KACnB,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAChC,MAAM,MAAM,wBAAwB,GAAG,CACrC,IAAI,EAAE,gBAAgB,KACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1B,MAAM,MAAM,4BAA4B,GAAG,CACzC,IAAI,EAAE,gBAAgB,KACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1B,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC1E,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE5E,qBAAa,mBAAmB;IA4B5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"NotificationService.d.ts","sourceRoot":"","sources":["../../../../src/services/NotificationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { EventService } from './EventService';
|
|
2
|
+
import type { StorageService } from './StorageService';
|
|
3
|
+
export declare class SessionService {
|
|
4
|
+
private readonly storageService;
|
|
5
|
+
private readonly eventService;
|
|
6
|
+
private static readonly LAST_ACTIVITY_KEY;
|
|
7
|
+
private pendingMessageId?;
|
|
8
|
+
private readonly effectiveTimeoutMs;
|
|
9
|
+
private appStateSubscription?;
|
|
10
|
+
private lastAppState;
|
|
11
|
+
constructor(storageService: StorageService, eventService: EventService, sessionTimeoutMs: number);
|
|
12
|
+
start(): Promise<void>;
|
|
13
|
+
private handleAppStateChange;
|
|
14
|
+
setPendingMessageId(messageId?: string): void;
|
|
15
|
+
private startNewSession;
|
|
16
|
+
private updateLastActivity;
|
|
17
|
+
cleanup(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=SessionService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionService.d.ts","sourceRoot":"","sources":["../../../../src/services/SessionService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD,qBAAa,cAAc;IASvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAT/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;IAEzE,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,oBAAoB,CAAC,CAAyB;IACtD,OAAO,CAAC,YAAY,CAAiB;gBAGlB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC3C,gBAAgB,EAAE,MAAM;IAMpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBd,oBAAoB;IA2BlC,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;YAI/B,eAAe;IAoB7B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,IAAI,IAAI;CAGhB"}
|
package/package.json
CHANGED
package/src/core/Clix.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { EventService } from '../services/EventService';
|
|
|
6
6
|
import { LiveActivityAPIService } from '../services/LiveActivityAPIService';
|
|
7
7
|
import { LiveActivityService } from '../services/LiveActivityService';
|
|
8
8
|
import { NotificationService } from '../services/NotificationService';
|
|
9
|
+
import { SessionService } from '../services/SessionService';
|
|
9
10
|
import { StorageService } from '../services/StorageService';
|
|
10
11
|
import { TokenService } from '../services/TokenService';
|
|
11
12
|
import { ClixLogger, ClixLogLevel } from '../utils/logging/ClixLogger';
|
|
@@ -29,6 +30,7 @@ export class Clix {
|
|
|
29
30
|
tokenService?: TokenService;
|
|
30
31
|
eventService?: EventService;
|
|
31
32
|
deviceService?: DeviceService;
|
|
33
|
+
sessionService?: SessionService;
|
|
32
34
|
notificationService?: NotificationService;
|
|
33
35
|
liveActivityService?: LiveActivityService;
|
|
34
36
|
|
|
@@ -68,10 +70,16 @@ export class Clix {
|
|
|
68
70
|
eventApiService,
|
|
69
71
|
this.shared.deviceService
|
|
70
72
|
);
|
|
73
|
+
this.shared.sessionService = new SessionService(
|
|
74
|
+
this.shared.storageService,
|
|
75
|
+
this.shared.eventService,
|
|
76
|
+
config.sessionTimeoutMs ?? 30000
|
|
77
|
+
);
|
|
71
78
|
this.shared.notificationService = new NotificationService(
|
|
72
79
|
this.shared.deviceService,
|
|
73
80
|
this.shared.tokenService,
|
|
74
|
-
this.shared.eventService
|
|
81
|
+
this.shared.eventService,
|
|
82
|
+
this.shared.sessionService
|
|
75
83
|
);
|
|
76
84
|
this.shared.liveActivityService = new LiveActivityService(
|
|
77
85
|
this.shared.deviceService,
|
|
@@ -81,6 +89,7 @@ export class Clix {
|
|
|
81
89
|
this.shared.storageService.set(this.configKey, config);
|
|
82
90
|
this.shared.liveActivityService.initialize();
|
|
83
91
|
await this.shared.notificationService.initialize(); // NOTE(nyanxyz): must be initialized before any await calls
|
|
92
|
+
await this.shared.sessionService.start();
|
|
84
93
|
await this.shared.deviceService.initialize();
|
|
85
94
|
|
|
86
95
|
ClixLogger.debug('Clix SDK initialized successfully');
|
package/src/core/ClixConfig.ts
CHANGED
|
@@ -10,7 +10,8 @@ export class EventAPIService {
|
|
|
10
10
|
properties: Record<string, any>,
|
|
11
11
|
messageId?: string,
|
|
12
12
|
userJourneyId?: string,
|
|
13
|
-
userJourneyNodeId?: string
|
|
13
|
+
userJourneyNodeId?: string,
|
|
14
|
+
sourceType?: string
|
|
14
15
|
): Promise<void> {
|
|
15
16
|
try {
|
|
16
17
|
ClixLogger.debug(`Tracking event: ${name} for device: ${deviceId}`);
|
|
@@ -18,6 +19,7 @@ export class EventAPIService {
|
|
|
18
19
|
const eventRequestBody = {
|
|
19
20
|
device_id: deviceId,
|
|
20
21
|
name: name,
|
|
22
|
+
...(sourceType && { source_type: sourceType }),
|
|
21
23
|
event_property: {
|
|
22
24
|
custom_properties: properties,
|
|
23
25
|
...(messageId && { message_id: messageId }),
|
|
@@ -30,7 +30,8 @@ export class EventService {
|
|
|
30
30
|
properties?: Record<string, any>,
|
|
31
31
|
messageId?: string,
|
|
32
32
|
userJourneyId?: string,
|
|
33
|
-
userJourneyNodeId?: string
|
|
33
|
+
userJourneyNodeId?: string,
|
|
34
|
+
sourceType?: string
|
|
34
35
|
): Promise<void> {
|
|
35
36
|
const deviceId = this.deviceService.getCurrentDeviceId();
|
|
36
37
|
|
|
@@ -40,7 +41,8 @@ export class EventService {
|
|
|
40
41
|
this.serializeProperties(properties),
|
|
41
42
|
messageId,
|
|
42
43
|
userJourneyId,
|
|
43
|
-
userJourneyNodeId
|
|
44
|
+
userJourneyNodeId,
|
|
45
|
+
sourceType
|
|
44
46
|
);
|
|
45
47
|
}
|
|
46
48
|
}
|
|
@@ -19,6 +19,7 @@ import type { ClixPushNotificationPayload } from '../models/ClixPushNotification
|
|
|
19
19
|
import { ClixLogger } from '../utils/logging/ClixLogger';
|
|
20
20
|
import { DeviceService } from './DeviceService';
|
|
21
21
|
import { EventService } from './EventService';
|
|
22
|
+
import { SessionService } from './SessionService';
|
|
22
23
|
import { TokenService } from './TokenService';
|
|
23
24
|
|
|
24
25
|
type NotificationData = Record<string, any>;
|
|
@@ -66,7 +67,8 @@ export class NotificationService {
|
|
|
66
67
|
constructor(
|
|
67
68
|
private readonly deviceService: DeviceService,
|
|
68
69
|
private readonly tokenService: TokenService,
|
|
69
|
-
private readonly eventService: EventService
|
|
70
|
+
private readonly eventService: EventService,
|
|
71
|
+
private readonly sessionService?: SessionService
|
|
70
72
|
) {}
|
|
71
73
|
|
|
72
74
|
async initialize(): Promise<void> {
|
|
@@ -420,7 +422,8 @@ export class NotificationService {
|
|
|
420
422
|
{},
|
|
421
423
|
payload.messageId,
|
|
422
424
|
payload.userJourneyId,
|
|
423
|
-
payload.userJourneyNodeId
|
|
425
|
+
payload.userJourneyNodeId,
|
|
426
|
+
'CLIX'
|
|
424
427
|
);
|
|
425
428
|
ClixLogger.debug(
|
|
426
429
|
'PUSH_NOTIFICATION_RECEIVED event tracked:',
|
|
@@ -438,12 +441,14 @@ export class NotificationService {
|
|
|
438
441
|
payload: ClixPushNotificationPayload
|
|
439
442
|
): Promise<void> {
|
|
440
443
|
try {
|
|
444
|
+
this.sessionService?.setPendingMessageId(payload.messageId);
|
|
441
445
|
await this.eventService.trackEvent(
|
|
442
446
|
'PUSH_NOTIFICATION_TAPPED',
|
|
443
447
|
{},
|
|
444
448
|
payload.messageId,
|
|
445
449
|
payload.userJourneyId,
|
|
446
|
-
payload.userJourneyNodeId
|
|
450
|
+
payload.userJourneyNodeId,
|
|
451
|
+
'CLIX'
|
|
447
452
|
);
|
|
448
453
|
ClixLogger.debug(
|
|
449
454
|
'PUSH_NOTIFICATION_TAPPED event tracked:',
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { AppState, type AppStateStatus } from 'react-native';
|
|
2
|
+
import { ClixLogger } from '../utils/logging/ClixLogger';
|
|
3
|
+
import type { EventService } from './EventService';
|
|
4
|
+
import type { StorageService } from './StorageService';
|
|
5
|
+
|
|
6
|
+
enum SessionEvent {
|
|
7
|
+
SESSION_START = 'SESSION_START',
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class SessionService {
|
|
11
|
+
private static readonly LAST_ACTIVITY_KEY = 'clix_session_last_activity';
|
|
12
|
+
|
|
13
|
+
private pendingMessageId?: string;
|
|
14
|
+
private readonly effectiveTimeoutMs: number;
|
|
15
|
+
private appStateSubscription?: { remove: () => void };
|
|
16
|
+
private lastAppState: AppStateStatus;
|
|
17
|
+
|
|
18
|
+
constructor(
|
|
19
|
+
private readonly storageService: StorageService,
|
|
20
|
+
private readonly eventService: EventService,
|
|
21
|
+
sessionTimeoutMs: number
|
|
22
|
+
) {
|
|
23
|
+
this.effectiveTimeoutMs = Math.max(sessionTimeoutMs, 5000);
|
|
24
|
+
this.lastAppState = AppState.currentState;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async start(): Promise<void> {
|
|
28
|
+
this.appStateSubscription = AppState.addEventListener(
|
|
29
|
+
'change',
|
|
30
|
+
this.handleAppStateChange.bind(this)
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
const lastActivity = this.storageService.get<number>(
|
|
34
|
+
SessionService.LAST_ACTIVITY_KEY
|
|
35
|
+
);
|
|
36
|
+
if (lastActivity) {
|
|
37
|
+
const elapsed = Date.now() - lastActivity;
|
|
38
|
+
if (elapsed <= this.effectiveTimeoutMs) {
|
|
39
|
+
this.pendingMessageId = undefined;
|
|
40
|
+
this.updateLastActivity();
|
|
41
|
+
ClixLogger.debug('Continuing existing session');
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
await this.startNewSession();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
private async handleAppStateChange(
|
|
49
|
+
nextAppState: AppStateStatus
|
|
50
|
+
): Promise<void> {
|
|
51
|
+
const previousAppState = this.lastAppState;
|
|
52
|
+
this.lastAppState = nextAppState;
|
|
53
|
+
|
|
54
|
+
if (previousAppState === 'background' && nextAppState === 'active') {
|
|
55
|
+
// Small delay to allow notification tap handlers to set pendingMessageId
|
|
56
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
57
|
+
|
|
58
|
+
const lastActivity = this.storageService.get<number>(
|
|
59
|
+
SessionService.LAST_ACTIVITY_KEY
|
|
60
|
+
);
|
|
61
|
+
if (lastActivity) {
|
|
62
|
+
const elapsed = Date.now() - lastActivity;
|
|
63
|
+
if (elapsed <= this.effectiveTimeoutMs) {
|
|
64
|
+
this.pendingMessageId = undefined;
|
|
65
|
+
this.updateLastActivity();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
await this.startNewSession();
|
|
70
|
+
} else if (nextAppState === 'background') {
|
|
71
|
+
this.updateLastActivity();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
setPendingMessageId(messageId?: string): void {
|
|
76
|
+
this.pendingMessageId = messageId;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
private async startNewSession(): Promise<void> {
|
|
80
|
+
const messageId = this.pendingMessageId;
|
|
81
|
+
this.pendingMessageId = undefined;
|
|
82
|
+
this.updateLastActivity();
|
|
83
|
+
|
|
84
|
+
try {
|
|
85
|
+
await this.eventService.trackEvent(
|
|
86
|
+
SessionEvent.SESSION_START,
|
|
87
|
+
{},
|
|
88
|
+
messageId,
|
|
89
|
+
undefined,
|
|
90
|
+
undefined,
|
|
91
|
+
'CLIX'
|
|
92
|
+
);
|
|
93
|
+
ClixLogger.debug(`${SessionEvent.SESSION_START} tracked`);
|
|
94
|
+
} catch (error) {
|
|
95
|
+
ClixLogger.error(`Failed to track ${SessionEvent.SESSION_START}`, error);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
private updateLastActivity(): void {
|
|
100
|
+
this.storageService.set(SessionService.LAST_ACTIVITY_KEY, Date.now());
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
cleanup(): void {
|
|
104
|
+
this.appStateSubscription?.remove();
|
|
105
|
+
}
|
|
106
|
+
}
|