@clix-so/react-native-sdk 1.1.1 → 1.3.0
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/ios/ClixLiveActivity.swift +18 -0
- package/ios/ClixLiveActivityModule.m +5 -0
- package/ios/ClixLiveActivityModule.swift +114 -0
- package/lib/module/core/Clix.js +5 -0
- package/lib/module/core/Clix.js.map +1 -1
- package/lib/module/core/ClixNotification.js +13 -0
- package/lib/module/core/ClixNotification.js.map +1 -1
- package/lib/module/native/ClixLiveActivityBridge.js +38 -0
- package/lib/module/native/ClixLiveActivityBridge.js.map +1 -0
- package/lib/module/services/LiveActivityAPIService.js +25 -0
- package/lib/module/services/LiveActivityAPIService.js.map +1 -0
- package/lib/module/services/LiveActivityService.js +39 -0
- package/lib/module/services/LiveActivityService.js.map +1 -0
- package/lib/module/services/NotificationService.js +13 -1
- package/lib/module/services/NotificationService.js.map +1 -1
- 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/ClixNotification.d.ts +2 -1
- package/lib/typescript/src/core/ClixNotification.d.ts.map +1 -1
- package/lib/typescript/src/native/ClixLiveActivityBridge.d.ts +7 -0
- package/lib/typescript/src/native/ClixLiveActivityBridge.d.ts.map +1 -0
- package/lib/typescript/src/services/LiveActivityAPIService.d.ts +7 -0
- package/lib/typescript/src/services/LiveActivityAPIService.d.ts.map +1 -0
- package/lib/typescript/src/services/LiveActivityService.d.ts +13 -0
- package/lib/typescript/src/services/LiveActivityService.d.ts.map +1 -0
- package/lib/typescript/src/services/NotificationService.d.ts +6 -0
- package/lib/typescript/src/services/NotificationService.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/Clix.ts +9 -0
- package/src/core/ClixNotification.ts +15 -0
- package/src/native/ClixLiveActivityBridge.ts +60 -0
- package/src/services/LiveActivityAPIService.ts +42 -0
- package/src/services/LiveActivityService.ts +68 -0
- package/src/services/NotificationService.ts +18 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
#if canImport(ActivityKit)
|
|
4
|
+
import ActivityKit
|
|
5
|
+
#endif
|
|
6
|
+
|
|
7
|
+
/// Public API for LiveActivity setup. Use this from your AppDelegate.
|
|
8
|
+
public class ClixLiveActivity: NSObject {
|
|
9
|
+
|
|
10
|
+
#if canImport(ActivityKit)
|
|
11
|
+
/// Starts listening for push-to-start tokens. Call this from AppDelegate.
|
|
12
|
+
/// - Parameter activityType: The ActivityAttributes type to listen for
|
|
13
|
+
@available(iOS 16.1, *)
|
|
14
|
+
public static func setup<Attributes: ActivityAttributes>(_ activityType: Attributes.Type) {
|
|
15
|
+
ClixLiveActivityModule.setup(activityType)
|
|
16
|
+
}
|
|
17
|
+
#endif
|
|
18
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
import React
|
|
3
|
+
|
|
4
|
+
#if canImport(ActivityKit)
|
|
5
|
+
import ActivityKit
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
@objc(ClixLiveActivityModule)
|
|
9
|
+
class ClixLiveActivityModule: RCTEventEmitter {
|
|
10
|
+
|
|
11
|
+
private static var sharedInstance: ClixLiveActivityModule?
|
|
12
|
+
private static var pendingSetups: [() -> Void] = []
|
|
13
|
+
private var hasListeners = false
|
|
14
|
+
private var activeListeners: Set<String> = []
|
|
15
|
+
private var pendingTokens: [(activityType: String, token: String)] = []
|
|
16
|
+
|
|
17
|
+
override init() {
|
|
18
|
+
super.init()
|
|
19
|
+
ClixLiveActivityModule.sharedInstance = self
|
|
20
|
+
|
|
21
|
+
// Execute any pending setups that were called before the module was initialized
|
|
22
|
+
for pendingSetup in ClixLiveActivityModule.pendingSetups {
|
|
23
|
+
pendingSetup()
|
|
24
|
+
}
|
|
25
|
+
ClixLiveActivityModule.pendingSetups.removeAll()
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@objc override static func requiresMainQueueSetup() -> Bool {
|
|
29
|
+
return false
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
override func supportedEvents() -> [String]! {
|
|
33
|
+
return ["onPushToStartToken"]
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
override func startObserving() {
|
|
37
|
+
hasListeners = true
|
|
38
|
+
// Send any pending tokens
|
|
39
|
+
for pending in pendingTokens {
|
|
40
|
+
sendEvent(withName: "onPushToStartToken", body: [
|
|
41
|
+
"activityType": pending.activityType,
|
|
42
|
+
"token": pending.token
|
|
43
|
+
])
|
|
44
|
+
}
|
|
45
|
+
pendingTokens.removeAll()
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
override func stopObserving() {
|
|
49
|
+
hasListeners = false
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
#if canImport(ActivityKit)
|
|
53
|
+
/// Starts listening for push-to-start tokens. Call this from AppDelegate.
|
|
54
|
+
/// - Parameter activityType: The ActivityAttributes type to listen for
|
|
55
|
+
@available(iOS 16.1, *)
|
|
56
|
+
static func setup<Attributes: ActivityAttributes>(_ activityType: Attributes.Type) {
|
|
57
|
+
guard #available(iOS 17.2, *) else {
|
|
58
|
+
print("[Clix] LiveActivity pushToStartToken requires iOS 17.2+")
|
|
59
|
+
return
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
let activityTypeName = String(describing: Attributes.self)
|
|
63
|
+
|
|
64
|
+
guard let instance = sharedInstance else {
|
|
65
|
+
// Store setup for later execution when the module is initialized
|
|
66
|
+
pendingSetups.append {
|
|
67
|
+
setup(activityType)
|
|
68
|
+
}
|
|
69
|
+
print("[Clix] ClixLiveActivityModule not ready yet. Setup will be executed when ready.")
|
|
70
|
+
return
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
instance.startListening(activityType, activityTypeName: activityTypeName)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@available(iOS 17.2, *)
|
|
77
|
+
private func startListening<Attributes: ActivityAttributes>(
|
|
78
|
+
_ activityType: Attributes.Type,
|
|
79
|
+
activityTypeName: String
|
|
80
|
+
) {
|
|
81
|
+
guard !activeListeners.contains(activityTypeName) else {
|
|
82
|
+
print("[Clix] Already listening for pushToStartToken: \(activityTypeName)")
|
|
83
|
+
return
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
activeListeners.insert(activityTypeName)
|
|
87
|
+
print("[Clix] Starting pushToStartToken listener: \(activityTypeName)")
|
|
88
|
+
|
|
89
|
+
Task {
|
|
90
|
+
for await tokenData in Activity<Attributes>.pushToStartTokenUpdates {
|
|
91
|
+
let token = tokenData.map { String(format: "%02x", $0) }.joined()
|
|
92
|
+
print("[Clix] Received pushToStartToken for \(activityTypeName): \(token)")
|
|
93
|
+
|
|
94
|
+
await MainActor.run {
|
|
95
|
+
self.emitToken(activityType: activityTypeName, token: token)
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
#endif
|
|
101
|
+
|
|
102
|
+
private func emitToken(activityType: String, token: String) {
|
|
103
|
+
let body: [String: Any] = [
|
|
104
|
+
"activityType": activityType,
|
|
105
|
+
"token": token
|
|
106
|
+
]
|
|
107
|
+
|
|
108
|
+
if hasListeners {
|
|
109
|
+
sendEvent(withName: "onPushToStartToken", body: body)
|
|
110
|
+
} else {
|
|
111
|
+
pendingTokens.append((activityType: activityType, token: token))
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
package/lib/module/core/Clix.js
CHANGED
|
@@ -5,6 +5,8 @@ import { DeviceAPIService } from "../services/DeviceAPIService.js";
|
|
|
5
5
|
import { DeviceService } from "../services/DeviceService.js";
|
|
6
6
|
import { EventAPIService } from "../services/EventAPIService.js";
|
|
7
7
|
import { EventService } from "../services/EventService.js";
|
|
8
|
+
import { LiveActivityAPIService } from "../services/LiveActivityAPIService.js";
|
|
9
|
+
import { LiveActivityService } from "../services/LiveActivityService.js";
|
|
8
10
|
import { NotificationService } from "../services/NotificationService.js";
|
|
9
11
|
import { StorageService } from "../services/StorageService.js";
|
|
10
12
|
import { TokenService } from "../services/TokenService.js";
|
|
@@ -34,12 +36,15 @@ export class Clix {
|
|
|
34
36
|
const apiClient = new ClixAPIClient(config);
|
|
35
37
|
const deviceApiService = new DeviceAPIService(apiClient);
|
|
36
38
|
const eventApiService = new EventAPIService(apiClient);
|
|
39
|
+
const liveActivityApiService = new LiveActivityAPIService(apiClient);
|
|
37
40
|
this.shared.storageService = new StorageService(config.projectId);
|
|
38
41
|
this.shared.tokenService = new TokenService(this.shared.storageService);
|
|
39
42
|
this.shared.deviceService = new DeviceService(this.shared.storageService, this.shared.tokenService, deviceApiService);
|
|
40
43
|
this.shared.eventService = new EventService(eventApiService, this.shared.deviceService);
|
|
41
44
|
this.shared.notificationService = new NotificationService(this.shared.deviceService, this.shared.tokenService, this.shared.eventService);
|
|
45
|
+
this.shared.liveActivityService = new LiveActivityService(this.shared.deviceService, liveActivityApiService);
|
|
42
46
|
this.shared.storageService.set(this.configKey, config);
|
|
47
|
+
this.shared.liveActivityService.initialize();
|
|
43
48
|
await this.shared.notificationService.initialize(); // NOTE(nyanxyz): must be initialized before any await calls
|
|
44
49
|
await this.shared.deviceService.initialize();
|
|
45
50
|
ClixLogger.debug('Clix SDK initialized successfully');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ClixAPIClient","DeviceAPIService","DeviceService","EventAPIService","EventService","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","storageService","projectId","tokenService","deviceService","eventService","notificationService","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,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","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":"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","ignoreList":[]}
|
|
@@ -115,5 +115,18 @@ export class ClixNotification {
|
|
|
115
115
|
ClixLogger.error('Failed to register onForegroundEvent handler', error);
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
+
async onBackgroundEvent(handler) {
|
|
119
|
+
try {
|
|
120
|
+
await Clix.initCoordinator.waitForInitialization();
|
|
121
|
+
const notificationService = Clix.shared?.notificationService;
|
|
122
|
+
if (!notificationService) {
|
|
123
|
+
ClixLogger.warn('Notification service is not initialized');
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
notificationService.backgroundEventHandler = handler;
|
|
127
|
+
} catch (error) {
|
|
128
|
+
ClixLogger.error('Failed to register onBackgroundEvent handler', error);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
118
131
|
}
|
|
119
132
|
//# sourceMappingURL=ClixNotification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ClixLogger","Clix","ClixNotification","shared","configure","options","autoRequestPermission","autoHandleLandingURL","initCoordinator","waitForInitialization","notificationService","warn","autoHandleLandingUrl","requestPermission","error","undefined","setPermissionGranted","isGranted","getToken","tokenService","getCurrentToken","onMessage","handler","messageHandler","onBackgroundMessage","backgroundMessageHandler","onNotificationOpenedApp","notificationOpenedAppHandler","onTokenRefresh","tokenRefreshHandler","onForegroundEvent","foregroundEventHandler"],"sourceRoot":"../../../src","sources":["core/ClixNotification.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["ClixLogger","Clix","ClixNotification","shared","configure","options","autoRequestPermission","autoHandleLandingURL","initCoordinator","waitForInitialization","notificationService","warn","autoHandleLandingUrl","requestPermission","error","undefined","setPermissionGranted","isGranted","getToken","tokenService","getCurrentToken","onMessage","handler","messageHandler","onBackgroundMessage","backgroundMessageHandler","onNotificationOpenedApp","notificationOpenedAppHandler","onTokenRefresh","tokenRefreshHandler","onForegroundEvent","foregroundEventHandler","onBackgroundEvent","backgroundEventHandler"],"sourceRoot":"../../../src","sources":["core/ClixNotification.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NativeModules, NativeEventEmitter, Platform } from 'react-native';
|
|
4
|
+
import { ClixLogger } from "../utils/logging/ClixLogger.js";
|
|
5
|
+
const MODULE_NAME = 'ClixLiveActivityModule';
|
|
6
|
+
const resolveModule = () => {
|
|
7
|
+
if (Platform.OS !== 'ios') {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const nativeModule = NativeModules[MODULE_NAME];
|
|
11
|
+
if (!nativeModule) {
|
|
12
|
+
ClixLogger.debug('ClixLiveActivityModule is not available');
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
return nativeModule;
|
|
16
|
+
};
|
|
17
|
+
let eventEmitter;
|
|
18
|
+
const getEventEmitter = () => {
|
|
19
|
+
if (Platform.OS !== 'ios') {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
if (!eventEmitter) {
|
|
23
|
+
const nativeModule = resolveModule();
|
|
24
|
+
if (nativeModule) {
|
|
25
|
+
eventEmitter = new NativeEventEmitter(nativeModule);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return eventEmitter;
|
|
29
|
+
};
|
|
30
|
+
export const subscribeToPushToStartToken = callback => {
|
|
31
|
+
const emitter = getEventEmitter();
|
|
32
|
+
if (!emitter) {
|
|
33
|
+
ClixLogger.debug('NativeEventEmitter is not available for LiveActivity');
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
return emitter.addListener('onPushToStartToken', callback);
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=ClixLiveActivityBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","ClixLogger","MODULE_NAME","resolveModule","OS","undefined","nativeModule","debug","eventEmitter","getEventEmitter","subscribeToPushToStartToken","callback","emitter","addListener"],"sourceRoot":"../../../src","sources":["native/ClixLiveActivityBridge.ts"],"mappings":";;AAAA,SACEA,aAAa,EACbC,kBAAkB,EAClBC,QAAQ,QAEH,cAAc;AACrB,SAASC,UAAU,QAAQ,gCAA6B;AAExD,MAAMC,WAAW,GAAG,wBAAwB;AAY5C,MAAMC,aAAa,GAAGA,CAAA,KAAgD;EACpE,IAAIH,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOC,SAAS;EAClB;EAEA,MAAMC,YAAY,GAAIR,aAAa,CAA6BI,WAAW,CAAC;EAC5E,IAAI,CAACI,YAAY,EAAE;IACjBL,UAAU,CAACM,KAAK,CAAC,yCAAyC,CAAC;IAC3D,OAAOF,SAAS;EAClB;EACA,OAAOC,YAAY;AACrB,CAAC;AAED,IAAIE,YAA4C;AAEhD,MAAMC,eAAe,GAAGA,CAAA,KAAsC;EAC5D,IAAIT,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOC,SAAS;EAClB;EAEA,IAAI,CAACG,YAAY,EAAE;IACjB,MAAMF,YAAY,GAAGH,aAAa,CAAC,CAAC;IACpC,IAAIG,YAAY,EAAE;MAChBE,YAAY,GAAG,IAAIT,kBAAkB,CAACO,YAAmB,CAAC;IAC5D;EACF;EACA,OAAOE,YAAY;AACrB,CAAC;AAED,OAAO,MAAME,2BAA2B,GACtCC,QAAgD,IACZ;EACpC,MAAMC,OAAO,GAAGH,eAAe,CAAC,CAAC;EACjC,IAAI,CAACG,OAAO,EAAE;IACZX,UAAU,CAACM,KAAK,CAAC,sDAAsD,CAAC;IACxE,OAAOF,SAAS;EAClB;EAEA,OAAOO,OAAO,CAACC,WAAW,CAAC,oBAAoB,EAAEF,QAAQ,CAAC;AAC5D,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { ClixLogger } from "../utils/logging/ClixLogger.js";
|
|
4
|
+
export class LiveActivityAPIService {
|
|
5
|
+
constructor(apiClient) {
|
|
6
|
+
this.apiClient = apiClient;
|
|
7
|
+
}
|
|
8
|
+
async registerLiveActivityStartToken(deviceId, activityType, token) {
|
|
9
|
+
try {
|
|
10
|
+
ClixLogger.debug(`Registering liveActivityStartToken for device: ${deviceId}, activityType: ${activityType}`);
|
|
11
|
+
const response = await this.apiClient.post(`/devices/${deviceId}/live-activity-start-tokens`, {
|
|
12
|
+
attributes_type: activityType,
|
|
13
|
+
push_to_start_token: token
|
|
14
|
+
});
|
|
15
|
+
if (response.statusCode < 200 || response.statusCode >= 300) {
|
|
16
|
+
throw new Error(`HTTP ${response.statusCode}: ${JSON.stringify(response.data)}`);
|
|
17
|
+
}
|
|
18
|
+
ClixLogger.debug(`PushToStartToken set successfully for device: ${deviceId}`);
|
|
19
|
+
} catch (error) {
|
|
20
|
+
ClixLogger.error(`Failed to set pushToStartToken for device: ${deviceId}`, error);
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=LiveActivityAPIService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ClixLogger","LiveActivityAPIService","constructor","apiClient","registerLiveActivityStartToken","deviceId","activityType","token","debug","response","post","attributes_type","push_to_start_token","statusCode","Error","JSON","stringify","data","error"],"sourceRoot":"../../../src","sources":["services/LiveActivityAPIService.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,gCAA6B;AAGxD,OAAO,MAAMC,sBAAsB,CAAC;EAClCC,WAAWA,CAAkBC,SAAwB,EAAE;IAAA,KAA1BA,SAAwB,GAAxBA,SAAwB;EAAG;EAExD,MAAMC,8BAA8BA,CAClCC,QAAgB,EAChBC,YAAoB,EACpBC,KAAa,EACE;IACf,IAAI;MACFP,UAAU,CAACQ,KAAK,CACd,kDAAkDH,QAAQ,mBAAmBC,YAAY,EAC3F,CAAC;MAED,MAAMG,QAAQ,GAAG,MAAM,IAAI,CAACN,SAAS,CAACO,IAAI,CACxC,YAAYL,QAAQ,6BAA6B,EACjD;QACEM,eAAe,EAAEL,YAAY;QAC7BM,mBAAmB,EAAEL;MACvB,CACF,CAAC;MAED,IAAIE,QAAQ,CAACI,UAAU,GAAG,GAAG,IAAIJ,QAAQ,CAACI,UAAU,IAAI,GAAG,EAAE;QAC3D,MAAM,IAAIC,KAAK,CACb,QAAQL,QAAQ,CAACI,UAAU,KAAKE,IAAI,CAACC,SAAS,CAACP,QAAQ,CAACQ,IAAI,CAAC,EAC/D,CAAC;MACH;MAEAjB,UAAU,CAACQ,KAAK,CACd,iDAAiDH,QAAQ,EAC3D,CAAC;IACH,CAAC,CAAC,OAAOa,KAAK,EAAE;MACdlB,UAAU,CAACkB,KAAK,CACd,8CAA8Cb,QAAQ,EAAE,EACxDa,KACF,CAAC;MACD,MAAMA,KAAK;IACb;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { subscribeToPushToStartToken } from "../native/ClixLiveActivityBridge.js";
|
|
4
|
+
import { ClixLogger } from "../utils/logging/ClixLogger.js";
|
|
5
|
+
export class LiveActivityService {
|
|
6
|
+
isInitialized = false;
|
|
7
|
+
constructor(deviceService, liveActivityAPIService) {
|
|
8
|
+
this.deviceService = deviceService;
|
|
9
|
+
this.liveActivityAPIService = liveActivityAPIService;
|
|
10
|
+
}
|
|
11
|
+
initialize() {
|
|
12
|
+
if (this.isInitialized) {
|
|
13
|
+
ClixLogger.debug('LiveActivityService already initialized');
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
this.subscription = subscribeToPushToStartToken(this.handlePushToStartToken.bind(this));
|
|
17
|
+
if (this.subscription) {
|
|
18
|
+
this.isInitialized = true;
|
|
19
|
+
ClixLogger.debug('LiveActivityService initialized successfully');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
cleanup() {
|
|
23
|
+
this.subscription?.remove();
|
|
24
|
+
this.subscription = undefined;
|
|
25
|
+
this.isInitialized = false;
|
|
26
|
+
ClixLogger.debug('LiveActivityService cleaned up');
|
|
27
|
+
}
|
|
28
|
+
async handlePushToStartToken(event) {
|
|
29
|
+
try {
|
|
30
|
+
ClixLogger.debug(`Received pushToStartToken for ${event.activityType}: ${event.token}`);
|
|
31
|
+
const deviceId = this.deviceService.getCurrentDeviceId();
|
|
32
|
+
await this.liveActivityAPIService.registerLiveActivityStartToken(deviceId, event.activityType, event.token);
|
|
33
|
+
ClixLogger.debug(`PushToStartToken sent successfully for ${event.activityType}`);
|
|
34
|
+
} catch (error) {
|
|
35
|
+
ClixLogger.error(`Failed to send pushToStartToken for ${event.activityType}`, error);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=LiveActivityService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["subscribeToPushToStartToken","ClixLogger","LiveActivityService","isInitialized","constructor","deviceService","liveActivityAPIService","initialize","debug","subscription","handlePushToStartToken","bind","cleanup","remove","undefined","event","activityType","token","deviceId","getCurrentDeviceId","registerLiveActivityStartToken","error"],"sourceRoot":"../../../src","sources":["services/LiveActivityService.ts"],"mappings":";;AACA,SACEA,2BAA2B,QAEtB,qCAAkC;AACzC,SAASC,UAAU,QAAQ,gCAA6B;AAIxD,OAAO,MAAMC,mBAAmB,CAAC;EAEvBC,aAAa,GAAG,KAAK;EAE7BC,WAAWA,CACQC,aAA4B,EAC5BC,sBAA8C,EAC/D;IAAA,KAFiBD,aAA4B,GAA5BA,aAA4B;IAAA,KAC5BC,sBAA8C,GAA9CA,sBAA8C;EAC9D;EAEHC,UAAUA,CAAA,EAAS;IACjB,IAAI,IAAI,CAACJ,aAAa,EAAE;MACtBF,UAAU,CAACO,KAAK,CAAC,yCAAyC,CAAC;MAC3D;IACF;IAEA,IAAI,CAACC,YAAY,GAAGT,2BAA2B,CAC7C,IAAI,CAACU,sBAAsB,CAACC,IAAI,CAAC,IAAI,CACvC,CAAC;IAED,IAAI,IAAI,CAACF,YAAY,EAAE;MACrB,IAAI,CAACN,aAAa,GAAG,IAAI;MACzBF,UAAU,CAACO,KAAK,CAAC,8CAA8C,CAAC;IAClE;EACF;EAEAI,OAAOA,CAAA,EAAS;IACd,IAAI,CAACH,YAAY,EAAEI,MAAM,CAAC,CAAC;IAC3B,IAAI,CAACJ,YAAY,GAAGK,SAAS;IAC7B,IAAI,CAACX,aAAa,GAAG,KAAK;IAC1BF,UAAU,CAACO,KAAK,CAAC,gCAAgC,CAAC;EACpD;EAEA,MAAcE,sBAAsBA,CAClCK,KAA4B,EACb;IACf,IAAI;MACFd,UAAU,CAACO,KAAK,CACd,iCAAiCO,KAAK,CAACC,YAAY,KAAKD,KAAK,CAACE,KAAK,EACrE,CAAC;MAED,MAAMC,QAAQ,GAAG,IAAI,CAACb,aAAa,CAACc,kBAAkB,CAAC,CAAC;MAExD,MAAM,IAAI,CAACb,sBAAsB,CAACc,8BAA8B,CAC9DF,QAAQ,EACRH,KAAK,CAACC,YAAY,EAClBD,KAAK,CAACE,KACR,CAAC;MAEDhB,UAAU,CAACO,KAAK,CACd,0CAA0CO,KAAK,CAACC,YAAY,EAC9D,CAAC;IACH,CAAC,CAAC,OAAOK,KAAK,EAAE;MACdpB,UAAU,CAACoB,KAAK,CACd,uCAAuCN,KAAK,CAACC,YAAY,EAAE,EAC3DK,KACF,CAAC;IACH;EACF;AACF","ignoreList":[]}
|
|
@@ -93,7 +93,7 @@ export class NotificationService {
|
|
|
93
93
|
* Android: background notification tap handler
|
|
94
94
|
* & app launched from quit state via a notification
|
|
95
95
|
*/
|
|
96
|
-
notifee.onBackgroundEvent(this.
|
|
96
|
+
notifee.onBackgroundEvent(this.handleBackgroundNotificationEvent.bind(this));
|
|
97
97
|
/**
|
|
98
98
|
* iOS & Android: foreground notification tap handler
|
|
99
99
|
*/
|
|
@@ -289,6 +289,18 @@ export class NotificationService {
|
|
|
289
289
|
}
|
|
290
290
|
await this.handleNotificationEvent(event);
|
|
291
291
|
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Android: background notification tap handler (wrapper for user handler + SDK handler)
|
|
295
|
+
*/
|
|
296
|
+
async handleBackgroundNotificationEvent(event) {
|
|
297
|
+
try {
|
|
298
|
+
await this.backgroundEventHandler?.(event);
|
|
299
|
+
} catch (error) {
|
|
300
|
+
ClixLogger.error('Background notification event handler failed', error);
|
|
301
|
+
}
|
|
302
|
+
await this.handleNotificationEvent(event);
|
|
303
|
+
}
|
|
292
304
|
async trackPushReceivedEvent(payload) {
|
|
293
305
|
try {
|
|
294
306
|
await this.eventService.trackEvent('PUSH_NOTIFICATION_RECEIVED', {}, payload.messageId, payload.userJourneyId, payload.userJourneyNodeId);
|
|
@@ -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","handleNotificationEvent","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","event","type","detail","PRESS","ACTION_PRESS","DISMISSED","foregroundEventHandler","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","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,5 +1,6 @@
|
|
|
1
1
|
import { DeviceService } from '../services/DeviceService';
|
|
2
2
|
import { EventService } from '../services/EventService';
|
|
3
|
+
import { LiveActivityService } from '../services/LiveActivityService';
|
|
3
4
|
import { NotificationService } from '../services/NotificationService';
|
|
4
5
|
import { StorageService } from '../services/StorageService';
|
|
5
6
|
import { TokenService } from '../services/TokenService';
|
|
@@ -19,6 +20,7 @@ export declare class Clix {
|
|
|
19
20
|
eventService?: EventService;
|
|
20
21
|
deviceService?: DeviceService;
|
|
21
22
|
notificationService?: NotificationService;
|
|
23
|
+
liveActivityService?: LiveActivityService;
|
|
22
24
|
private static configKey;
|
|
23
25
|
/**
|
|
24
26
|
* Initialize Clix SDK
|
|
@@ -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;
|
|
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;IAuDtE;;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,5 +1,5 @@
|
|
|
1
1
|
import { type NotificationSettings } from '@notifee/react-native';
|
|
2
|
-
import type { BackgroundMessageHandler, ForegroundEventHandler, MessageHandler, NotificationOpenedAppHandler, TokenRefreshHandler } from '../services/NotificationService';
|
|
2
|
+
import type { BackgroundEventHandler, BackgroundMessageHandler, ForegroundEventHandler, MessageHandler, NotificationOpenedAppHandler, TokenRefreshHandler } from '../services/NotificationService';
|
|
3
3
|
interface ConfigureOptions {
|
|
4
4
|
/**
|
|
5
5
|
* @default false
|
|
@@ -21,6 +21,7 @@ export declare class ClixNotification {
|
|
|
21
21
|
onNotificationOpenedApp(handler?: NotificationOpenedAppHandler): Promise<void>;
|
|
22
22
|
onTokenRefresh(handler?: TokenRefreshHandler): Promise<void>;
|
|
23
23
|
onForegroundEvent(handler?: ForegroundEventHandler): Promise<void>;
|
|
24
|
+
onBackgroundEvent(handler?: BackgroundEventHandler): Promise<void>;
|
|
24
25
|
}
|
|
25
26
|
export {};
|
|
26
27
|
//# sourceMappingURL=ClixNotification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClixNotification.d.ts","sourceRoot":"","sources":["../../../../src/core/ClixNotification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAIzC,UAAU,gBAAgB;IACxB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAA0B;IAEnD,SAAS,CAAC,OAAO,GAAE,gBAAqB;IAsBxC,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAU9D,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUvC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD,mBAAmB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IActE,uBAAuB,CAC3B,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,IAAI,CAAC;IAiBV,cAAc,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5D,iBAAiB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CAazE"}
|
|
1
|
+
{"version":3,"file":"ClixNotification.d.ts","sourceRoot":"","sources":["../../../../src/core/ClixNotification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,EACd,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAIzC,UAAU,gBAAgB;IACxB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAA0B;IAEnD,SAAS,CAAC,OAAO,GAAE,gBAAqB;IAsBxC,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAU9D,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUvC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAclD,mBAAmB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IActE,uBAAuB,CAC3B,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,IAAI,CAAC;IAiBV,cAAc,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5D,iBAAiB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAclE,iBAAiB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CAazE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type EmitterSubscription } from 'react-native';
|
|
2
|
+
export interface PushToStartTokenEvent {
|
|
3
|
+
activityType: string;
|
|
4
|
+
token: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const subscribeToPushToStartToken: (callback: (event: PushToStartTokenEvent) => void) => EmitterSubscription | undefined;
|
|
7
|
+
//# sourceMappingURL=ClixLiveActivityBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClixLiveActivityBridge.d.ts","sourceRoot":"","sources":["../../../../src/native/ClixLiveActivityBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AAKtB,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAoCD,eAAO,MAAM,2BAA2B,GACtC,UAAU,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,KAC/C,mBAAmB,GAAG,SAQxB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ClixAPIClient } from './ClixAPIClient';
|
|
2
|
+
export declare class LiveActivityAPIService {
|
|
3
|
+
private readonly apiClient;
|
|
4
|
+
constructor(apiClient: ClixAPIClient);
|
|
5
|
+
registerLiveActivityStartToken(deviceId: string, activityType: string, token: string): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=LiveActivityAPIService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveActivityAPIService.d.ts","sourceRoot":"","sources":["../../../../src/services/LiveActivityAPIService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE/C,8BAA8B,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;CA+BjB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DeviceService } from './DeviceService';
|
|
2
|
+
import type { LiveActivityAPIService } from './LiveActivityAPIService';
|
|
3
|
+
export declare class LiveActivityService {
|
|
4
|
+
private readonly deviceService;
|
|
5
|
+
private readonly liveActivityAPIService;
|
|
6
|
+
private subscription?;
|
|
7
|
+
private isInitialized;
|
|
8
|
+
constructor(deviceService: DeviceService, liveActivityAPIService: LiveActivityAPIService);
|
|
9
|
+
initialize(): void;
|
|
10
|
+
cleanup(): void;
|
|
11
|
+
private handlePushToStartToken;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=LiveActivityService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveActivityService.d.ts","sourceRoot":"","sources":["../../../../src/services/LiveActivityService.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IALzC,OAAO,CAAC,YAAY,CAAC,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAS;gBAGX,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB;IAGjE,UAAU,IAAI,IAAI;IAgBlB,OAAO,IAAI,IAAI;YAOD,sBAAsB;CA0BrC"}
|
|
@@ -8,6 +8,7 @@ export type BackgroundMessageHandler = (data: NotificationData) => Promise<void>
|
|
|
8
8
|
export type NotificationOpenedAppHandler = (data: NotificationData) => Promise<void> | void;
|
|
9
9
|
export type TokenRefreshHandler = (token: string) => Promise<void> | void;
|
|
10
10
|
export type ForegroundEventHandler = (event: Event) => Promise<void> | void;
|
|
11
|
+
export type BackgroundEventHandler = (event: Event) => Promise<void> | void;
|
|
11
12
|
export declare class NotificationService {
|
|
12
13
|
private readonly deviceService;
|
|
13
14
|
private readonly tokenService;
|
|
@@ -18,6 +19,7 @@ export declare class NotificationService {
|
|
|
18
19
|
notificationOpenedAppHandler?: NotificationOpenedAppHandler;
|
|
19
20
|
tokenRefreshHandler?: TokenRefreshHandler;
|
|
20
21
|
foregroundEventHandler?: ForegroundEventHandler;
|
|
22
|
+
backgroundEventHandler?: BackgroundEventHandler;
|
|
21
23
|
private isInitialized;
|
|
22
24
|
private processedMessageIds;
|
|
23
25
|
private unsubscribeMessage?;
|
|
@@ -59,6 +61,10 @@ export declare class NotificationService {
|
|
|
59
61
|
* iOS & Android: foreground notification tap handler
|
|
60
62
|
*/
|
|
61
63
|
private handleForegroundNotificationEvent;
|
|
64
|
+
/**
|
|
65
|
+
* Android: background notification tap handler (wrapper for user handler + SDK handler)
|
|
66
|
+
*/
|
|
67
|
+
private handleBackgroundNotificationEvent;
|
|
62
68
|
private trackPushReceivedEvent;
|
|
63
69
|
private trackPushTappedEvent;
|
|
64
70
|
private displayNotification;
|
|
@@ -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;AAE5E,qBAAa,mBAAmB;
|
|
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;IA7B/B,oBAAoB,UAAQ;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAEhD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,kBAAkB,CAAC,CAAa;IACxC,OAAO,CAAC,gCAAgC,CAAC,CAAa;IACtD,OAAO,CAAC,uBAAuB,CAAC,CAAa;IAC7C,OAAO,CAAC,0BAA0B,CAAC,CAAa;IAEhD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAQrC;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAGlD,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY;IAGvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBjC,OAAO,IAAI,IAAI;IAUT,iBAAiB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAoBlD,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7D,OAAO,CAAC,wBAAwB;YAkBlB,sBAAsB;IA0BpC,OAAO,CAAC,yBAAyB;YAoBnB,0BAA0B;IASxC;;OAEG;YACW,uBAAuB;IA6BrC;;OAEG;YACW,uBAAuB;IAqDrC;;OAEG;YACW,2BAA2B;IA+BzC;;OAEG;YACW,yBAAyB;IAuBvC;;OAEG;YACW,uBAAuB;IAwBrC;;OAEG;YACW,iCAAiC;IAU/C;;OAEG;YACW,iCAAiC;YAUjC,sBAAsB;YAuBtB,oBAAoB;YAoBpB,mBAAmB;YAqCnB,wBAAwB;YAiDxB,mBAAmB;IA8BjC,OAAO,CAAC,gBAAgB;CAuDzB"}
|
package/package.json
CHANGED
package/src/core/Clix.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { DeviceAPIService } from '../services/DeviceAPIService';
|
|
|
3
3
|
import { DeviceService } from '../services/DeviceService';
|
|
4
4
|
import { EventAPIService } from '../services/EventAPIService';
|
|
5
5
|
import { EventService } from '../services/EventService';
|
|
6
|
+
import { LiveActivityAPIService } from '../services/LiveActivityAPIService';
|
|
7
|
+
import { LiveActivityService } from '../services/LiveActivityService';
|
|
6
8
|
import { NotificationService } from '../services/NotificationService';
|
|
7
9
|
import { StorageService } from '../services/StorageService';
|
|
8
10
|
import { TokenService } from '../services/TokenService';
|
|
@@ -28,6 +30,7 @@ export class Clix {
|
|
|
28
30
|
eventService?: EventService;
|
|
29
31
|
deviceService?: DeviceService;
|
|
30
32
|
notificationService?: NotificationService;
|
|
33
|
+
liveActivityService?: LiveActivityService;
|
|
31
34
|
|
|
32
35
|
private static configKey = 'clix_config';
|
|
33
36
|
|
|
@@ -52,6 +55,7 @@ export class Clix {
|
|
|
52
55
|
const apiClient = new ClixAPIClient(config);
|
|
53
56
|
const deviceApiService = new DeviceAPIService(apiClient);
|
|
54
57
|
const eventApiService = new EventAPIService(apiClient);
|
|
58
|
+
const liveActivityApiService = new LiveActivityAPIService(apiClient);
|
|
55
59
|
|
|
56
60
|
this.shared.storageService = new StorageService(config.projectId);
|
|
57
61
|
this.shared.tokenService = new TokenService(this.shared.storageService);
|
|
@@ -69,8 +73,13 @@ export class Clix {
|
|
|
69
73
|
this.shared.tokenService,
|
|
70
74
|
this.shared.eventService
|
|
71
75
|
);
|
|
76
|
+
this.shared.liveActivityService = new LiveActivityService(
|
|
77
|
+
this.shared.deviceService,
|
|
78
|
+
liveActivityApiService
|
|
79
|
+
);
|
|
72
80
|
|
|
73
81
|
this.shared.storageService.set(this.configKey, config);
|
|
82
|
+
this.shared.liveActivityService.initialize();
|
|
74
83
|
await this.shared.notificationService.initialize(); // NOTE(nyanxyz): must be initialized before any await calls
|
|
75
84
|
await this.shared.deviceService.initialize();
|
|
76
85
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type NotificationSettings } from '@notifee/react-native';
|
|
2
2
|
import type {
|
|
3
|
+
BackgroundEventHandler,
|
|
3
4
|
BackgroundMessageHandler,
|
|
4
5
|
ForegroundEventHandler,
|
|
5
6
|
MessageHandler,
|
|
@@ -153,4 +154,18 @@ export class ClixNotification {
|
|
|
153
154
|
ClixLogger.error('Failed to register onForegroundEvent handler', error);
|
|
154
155
|
}
|
|
155
156
|
}
|
|
157
|
+
|
|
158
|
+
async onBackgroundEvent(handler?: BackgroundEventHandler): Promise<void> {
|
|
159
|
+
try {
|
|
160
|
+
await Clix.initCoordinator.waitForInitialization();
|
|
161
|
+
const notificationService = Clix.shared?.notificationService;
|
|
162
|
+
if (!notificationService) {
|
|
163
|
+
ClixLogger.warn('Notification service is not initialized');
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
notificationService.backgroundEventHandler = handler;
|
|
167
|
+
} catch (error) {
|
|
168
|
+
ClixLogger.error('Failed to register onBackgroundEvent handler', error);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
156
171
|
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NativeModules,
|
|
3
|
+
NativeEventEmitter,
|
|
4
|
+
Platform,
|
|
5
|
+
type EmitterSubscription,
|
|
6
|
+
} from 'react-native';
|
|
7
|
+
import { ClixLogger } from '../utils/logging/ClixLogger';
|
|
8
|
+
|
|
9
|
+
const MODULE_NAME = 'ClixLiveActivityModule';
|
|
10
|
+
|
|
11
|
+
export interface PushToStartTokenEvent {
|
|
12
|
+
activityType: string;
|
|
13
|
+
token: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
type ClixLiveActivityNativeModule = {
|
|
17
|
+
addListener: (eventName: string) => void;
|
|
18
|
+
removeListeners: (count: number) => void;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const resolveModule = (): ClixLiveActivityNativeModule | undefined => {
|
|
22
|
+
if (Platform.OS !== 'ios') {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const nativeModule = (NativeModules as Record<string, unknown>)[MODULE_NAME];
|
|
27
|
+
if (!nativeModule) {
|
|
28
|
+
ClixLogger.debug('ClixLiveActivityModule is not available');
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
return nativeModule as ClixLiveActivityNativeModule;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
let eventEmitter: NativeEventEmitter | undefined;
|
|
35
|
+
|
|
36
|
+
const getEventEmitter = (): NativeEventEmitter | undefined => {
|
|
37
|
+
if (Platform.OS !== 'ios') {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (!eventEmitter) {
|
|
42
|
+
const nativeModule = resolveModule();
|
|
43
|
+
if (nativeModule) {
|
|
44
|
+
eventEmitter = new NativeEventEmitter(nativeModule as any);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return eventEmitter;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export const subscribeToPushToStartToken = (
|
|
51
|
+
callback: (event: PushToStartTokenEvent) => void
|
|
52
|
+
): EmitterSubscription | undefined => {
|
|
53
|
+
const emitter = getEventEmitter();
|
|
54
|
+
if (!emitter) {
|
|
55
|
+
ClixLogger.debug('NativeEventEmitter is not available for LiveActivity');
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return emitter.addListener('onPushToStartToken', callback);
|
|
60
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ClixLogger } from '../utils/logging/ClixLogger';
|
|
2
|
+
import { ClixAPIClient } from './ClixAPIClient';
|
|
3
|
+
|
|
4
|
+
export class LiveActivityAPIService {
|
|
5
|
+
constructor(private readonly apiClient: ClixAPIClient) {}
|
|
6
|
+
|
|
7
|
+
async registerLiveActivityStartToken(
|
|
8
|
+
deviceId: string,
|
|
9
|
+
activityType: string,
|
|
10
|
+
token: string
|
|
11
|
+
): Promise<void> {
|
|
12
|
+
try {
|
|
13
|
+
ClixLogger.debug(
|
|
14
|
+
`Registering liveActivityStartToken for device: ${deviceId}, activityType: ${activityType}`
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
const response = await this.apiClient.post(
|
|
18
|
+
`/devices/${deviceId}/live-activity-start-tokens`,
|
|
19
|
+
{
|
|
20
|
+
attributes_type: activityType,
|
|
21
|
+
push_to_start_token: token,
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
if (response.statusCode < 200 || response.statusCode >= 300) {
|
|
26
|
+
throw new Error(
|
|
27
|
+
`HTTP ${response.statusCode}: ${JSON.stringify(response.data)}`
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
ClixLogger.debug(
|
|
32
|
+
`PushToStartToken set successfully for device: ${deviceId}`
|
|
33
|
+
);
|
|
34
|
+
} catch (error) {
|
|
35
|
+
ClixLogger.error(
|
|
36
|
+
`Failed to set pushToStartToken for device: ${deviceId}`,
|
|
37
|
+
error
|
|
38
|
+
);
|
|
39
|
+
throw error;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { EmitterSubscription } from 'react-native';
|
|
2
|
+
import {
|
|
3
|
+
subscribeToPushToStartToken,
|
|
4
|
+
type PushToStartTokenEvent,
|
|
5
|
+
} from '../native/ClixLiveActivityBridge';
|
|
6
|
+
import { ClixLogger } from '../utils/logging/ClixLogger';
|
|
7
|
+
import type { DeviceService } from './DeviceService';
|
|
8
|
+
import type { LiveActivityAPIService } from './LiveActivityAPIService';
|
|
9
|
+
|
|
10
|
+
export class LiveActivityService {
|
|
11
|
+
private subscription?: EmitterSubscription;
|
|
12
|
+
private isInitialized = false;
|
|
13
|
+
|
|
14
|
+
constructor(
|
|
15
|
+
private readonly deviceService: DeviceService,
|
|
16
|
+
private readonly liveActivityAPIService: LiveActivityAPIService
|
|
17
|
+
) {}
|
|
18
|
+
|
|
19
|
+
initialize(): void {
|
|
20
|
+
if (this.isInitialized) {
|
|
21
|
+
ClixLogger.debug('LiveActivityService already initialized');
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
this.subscription = subscribeToPushToStartToken(
|
|
26
|
+
this.handlePushToStartToken.bind(this)
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
if (this.subscription) {
|
|
30
|
+
this.isInitialized = true;
|
|
31
|
+
ClixLogger.debug('LiveActivityService initialized successfully');
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
cleanup(): void {
|
|
36
|
+
this.subscription?.remove();
|
|
37
|
+
this.subscription = undefined;
|
|
38
|
+
this.isInitialized = false;
|
|
39
|
+
ClixLogger.debug('LiveActivityService cleaned up');
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
private async handlePushToStartToken(
|
|
43
|
+
event: PushToStartTokenEvent
|
|
44
|
+
): Promise<void> {
|
|
45
|
+
try {
|
|
46
|
+
ClixLogger.debug(
|
|
47
|
+
`Received pushToStartToken for ${event.activityType}: ${event.token}`
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
const deviceId = this.deviceService.getCurrentDeviceId();
|
|
51
|
+
|
|
52
|
+
await this.liveActivityAPIService.registerLiveActivityStartToken(
|
|
53
|
+
deviceId,
|
|
54
|
+
event.activityType,
|
|
55
|
+
event.token
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
ClixLogger.debug(
|
|
59
|
+
`PushToStartToken sent successfully for ${event.activityType}`
|
|
60
|
+
);
|
|
61
|
+
} catch (error) {
|
|
62
|
+
ClixLogger.error(
|
|
63
|
+
`Failed to send pushToStartToken for ${event.activityType}`,
|
|
64
|
+
error
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -34,6 +34,7 @@ export type NotificationOpenedAppHandler = (
|
|
|
34
34
|
) => Promise<void> | void;
|
|
35
35
|
export type TokenRefreshHandler = (token: string) => Promise<void> | void;
|
|
36
36
|
export type ForegroundEventHandler = (event: Event) => Promise<void> | void;
|
|
37
|
+
export type BackgroundEventHandler = (event: Event) => Promise<void> | void;
|
|
37
38
|
|
|
38
39
|
export class NotificationService {
|
|
39
40
|
autoHandleLandingUrl = true;
|
|
@@ -42,6 +43,7 @@ export class NotificationService {
|
|
|
42
43
|
notificationOpenedAppHandler?: NotificationOpenedAppHandler;
|
|
43
44
|
tokenRefreshHandler?: TokenRefreshHandler;
|
|
44
45
|
foregroundEventHandler?: ForegroundEventHandler;
|
|
46
|
+
backgroundEventHandler?: BackgroundEventHandler;
|
|
45
47
|
|
|
46
48
|
private isInitialized = false;
|
|
47
49
|
private processedMessageIds = new Set<string>();
|
|
@@ -158,7 +160,9 @@ export class NotificationService {
|
|
|
158
160
|
* Android: background notification tap handler
|
|
159
161
|
* & app launched from quit state via a notification
|
|
160
162
|
*/
|
|
161
|
-
notifee.onBackgroundEvent(
|
|
163
|
+
notifee.onBackgroundEvent(
|
|
164
|
+
this.handleBackgroundNotificationEvent.bind(this)
|
|
165
|
+
);
|
|
162
166
|
/**
|
|
163
167
|
* iOS & Android: foreground notification tap handler
|
|
164
168
|
*/
|
|
@@ -394,6 +398,19 @@ export class NotificationService {
|
|
|
394
398
|
await this.handleNotificationEvent(event);
|
|
395
399
|
}
|
|
396
400
|
|
|
401
|
+
/**
|
|
402
|
+
* Android: background notification tap handler (wrapper for user handler + SDK handler)
|
|
403
|
+
*/
|
|
404
|
+
private async handleBackgroundNotificationEvent(event: Event): Promise<void> {
|
|
405
|
+
try {
|
|
406
|
+
await this.backgroundEventHandler?.(event);
|
|
407
|
+
} catch (error) {
|
|
408
|
+
ClixLogger.error('Background notification event handler failed', error);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
await this.handleNotificationEvent(event);
|
|
412
|
+
}
|
|
413
|
+
|
|
397
414
|
private async trackPushReceivedEvent(
|
|
398
415
|
payload: ClixPushNotificationPayload
|
|
399
416
|
): Promise<void> {
|