Skip to content

Commit b89e594

Browse files
WIP: Update odpmanager and client
1 parent 2eeb008 commit b89e594

File tree

2 files changed

+20
-18
lines changed

2 files changed

+20
-18
lines changed

Sources/ODP/OdpManager.swift

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,13 @@ import Foundation
1818

1919
public class OdpManager {
2020
var enabled: Bool
21-
// var enableVuid: Bool
22-
var vuidManager: OdpVuidManager
23-
2421
var odpConfig: OdpConfig!
2522
var segmentManager: OdpSegmentManager!
2623
var eventManager: OdpEventManager!
2724

2825
let logger = OPTLoggerFactory.getLogger()
2926

30-
// var vuid: String {
31-
// return vuidManager.vuid
32-
// }
27+
var vuid: String?
3328

3429
/// OdpManager init
3530
/// - Parameters:
@@ -43,7 +38,6 @@ public class OdpManager {
4338
/// - eventManager: ODPEventManager
4439
public init(sdkKey: String,
4540
disable: Bool,
46-
enableVuid: Bool,
4741
cacheSize: Int,
4842
cacheTimeoutInSecs: Int,
4943
timeoutForSegmentFetchInSecs: Int? = nil,
@@ -52,8 +46,6 @@ public class OdpManager {
5246
eventManager: OdpEventManager? = nil) {
5347

5448
self.enabled = !disable
55-
// self.enableVuid = enableVuid
56-
self.vuidManager = OdpVuidManager(enabled: enableVuid)
5749

5850
guard enabled else {
5951
logger.i(.odpNotEnabled)
@@ -68,10 +60,6 @@ public class OdpManager {
6860
self.odpConfig = OdpConfig()
6961
self.segmentManager.odpConfig = odpConfig
7062
self.eventManager.odpConfig = odpConfig
71-
72-
// if enableVuid {
73-
// self.eventManager.registerVUID(vuid: vuidManager.vuid)
74-
// }
7563
}
7664

7765
func fetchQualifiedSegments(userId: String,
@@ -130,9 +118,9 @@ public class OdpManager {
130118
let typeUpdated = (type ?? "").isEmpty ? Constants.ODP.eventType : type!
131119

132120
var identifiersUpdated = identifiers
133-
134-
if identifiers[Constants.ODP.keyForVuid] == nil {
135-
identifiersUpdated[Constants.ODP.keyForVuid] = vuidManager.vuid
121+
let _vuid = vuid ?? ""
122+
if identifiers[Constants.ODP.keyForVuid] == nil, OdpVuidManager.isVuid(_vuid) {
123+
identifiersUpdated[Constants.ODP.keyForVuid] = _vuid
136124
}
137125

138126
// replace aliases (fs-user-id, FS_USER_ID, FS-USER-ID) with "fs_user_id".

Sources/Optimizely/OptimizelyClient.swift

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ open class OptimizelyClient: NSObject {
9595

9696
self.odpManager = odpManager ?? OdpManager(sdkKey: sdkKey,
9797
disable: sdkSettings.disableOdp,
98-
enableVuid: sdkSettings.enableVuid,
9998
cacheSize: sdkSettings.segmentsCacheSize,
10099
cacheTimeoutInSecs: sdkSettings.segmentsCacheTimeoutInSecs,
101100
timeoutForSegmentFetchInSecs: sdkSettings.timeoutForSegmentFetchInSecs,
@@ -120,11 +119,26 @@ open class OptimizelyClient: NSObject {
120119

121120
self.vuidManager = OdpVuidManager(enabled: sdkSettings.enableVuid)
122121
if self.vuidManager.enabled {
123-
self.odpManager.eventManager.registerVUID(vuid: self.vuidManager.vuid)
122+
self.odpManager.vuid = vuidManager.vuid
123+
// Cushes due to odpManager didn't initialize yet.
124+
// self.odpManager.eventManager.registerVUID(vuid: vuidManager.vuid)
125+
}
126+
127+
// FIXME: Need a better solution
128+
DispatchQueue.global().asyncAfter(deadline: .now() + 0.1) {
129+
self.registerVUID()
124130
}
131+
132+
125133
logger.d("SDK Version: \(version)")
126134
}
127135

136+
private func registerVUID() {
137+
if self.vuidManager.enabled {
138+
self.odpManager.eventManager.registerVUID(vuid: self.vuidManager.vuid)
139+
}
140+
}
141+
128142
/// Start Optimizely SDK (Asynchronous)
129143
///
130144
/// If an updated datafile is available in the server, it's downloaded and the SDK is configured with

0 commit comments

Comments
 (0)