Skip to content

Commit 6b1acd8

Browse files
Client initialize event sperated from odp manager
1 parent 83ab331 commit 6b1acd8

File tree

3 files changed

+31
-15
lines changed

3 files changed

+31
-15
lines changed

Sources/ODP/OdpManager.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@ public class OdpManager {
6161
self.odpConfig = OdpConfig()
6262
self.segmentManager.odpConfig = odpConfig
6363
self.eventManager.odpConfig = odpConfig
64-
if let vuid = vuid, VuidManager.isVuid(vuid) {
65-
self.eventManager.sendInitializedEvent(vuid: vuid)
66-
}
6764
}
6865

6966
func fetchQualifiedSegments(userId: String,

Sources/Optimizely/OptimizelyClient.swift

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,11 @@ open class OptimizelyClient: NSObject {
9696
self.vuidManager.configure(enable: self.sdkSettings.enableVuid)
9797
self.odpManager = odpManager ?? OdpManager(sdkKey: sdkKey,
9898
disable: sdkSettings.disableOdp,
99-
vuid: vuidManager.vuid,
10099
cacheSize: sdkSettings.segmentsCacheSize,
101100
cacheTimeoutInSecs: sdkSettings.segmentsCacheTimeoutInSecs,
102101
timeoutForSegmentFetchInSecs: sdkSettings.timeoutForSegmentFetchInSecs,
103102
timeoutForEventDispatchInSecs: sdkSettings.timeoutForOdpEventInSecs)
104-
103+
self.odpManager.vuid = vuidManager.vuid
105104
let userProfileService = userProfileService ?? DefaultUserProfileService()
106105
let logger = logger ?? DefaultLogger()
107106
type(of: logger).logLevel = defaultLogLevel ?? .info
@@ -119,6 +118,16 @@ open class OptimizelyClient: NSObject {
119118
self.decisionService = HandlerRegistryService.shared.injectDecisionService(sdkKey: self.sdkKey)
120119
self.notificationCenter = HandlerRegistryService.shared.injectNotificationCenter(sdkKey: self.sdkKey)
121120

121+
if let _vuid = self.vuidManager.vuid {
122+
try? sendOdpEvent(type: Constants.ODP.eventType,
123+
action: "client_initialized",
124+
identifiers: [
125+
Constants.ODP.keyForVuid: _vuid
126+
],
127+
data: [:])
128+
}
129+
130+
122131
logger.d("SDK Version: \(version)")
123132
}
124133

Tests/OptimizelyTests-Common/OptimizelyUserContextTests_ODP_2.swift

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,31 @@ class OptimizelyUserContextTests_ODP_2: XCTestCase {
2626

2727
// odp disabled to avoid initial noise
2828

29-
let optimizely = OptimizelyClient(sdkKey: sdkKey,
30-
settings: OptimizelySdkSettings(disableOdp: true, enableVuid: true))
31-
29+
// let optimizely = OptimizelyClient(sdkKey: sdkKey,
30+
// settings: OptimizelySdkSettings(disableOdp: true, enableVuid: true))
31+
//
3232
// override with a custom enabled odpManager.
3333
// - client_inializatied event will be sent automatically
3434
// - will wait in the queue until project config is ready
3535

3636
let odpEventApiManager = MockOdpEventApiManager()
37-
optimizely.odpManager = OdpManager(sdkKey: sdkKey,
38-
disable: false,
39-
vuid: "vuid_123",
40-
cacheSize: 10,
41-
cacheTimeoutInSecs: 10,
42-
eventManager: OdpEventManager(sdkKey: sdkKey,
43-
apiManager: odpEventApiManager))
37+
38+
let optimizely = OptimizelyClient(sdkKey: sdkKey,
39+
odpManager:
40+
OdpManager(sdkKey: sdkKey,
41+
disable: false,
42+
vuid: "vuid_123",
43+
cacheSize: 10,
44+
cacheTimeoutInSecs: 10,
45+
eventManager:
46+
OdpEventManager(
47+
sdkKey: sdkKey,
48+
apiManager: odpEventApiManager
49+
)
50+
),
51+
settings:
52+
OptimizelySdkSettings(disableOdp: true, enableVuid: true)
53+
)
4454

4555
// identified event will sent but wait in the queue until project config is ready
4656
_ = optimizely.createUserContext(userId: "tester")

0 commit comments

Comments
 (0)