From 8e7371f4a9cbf87593c07fc2a32ff91c30c4202a Mon Sep 17 00:00:00 2001 From: Evan Greer Date: Fri, 11 Oct 2024 09:11:26 -0600 Subject: [PATCH 1/2] adds additional logging --- swift-sdk/Internal/AnonymousUserManager.swift | 4 +++- swift-sdk/Internal/InternalIterableAPI.swift | 6 ++++++ swift-sdk/IterableAPI.swift | 3 ++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/swift-sdk/Internal/AnonymousUserManager.swift b/swift-sdk/Internal/AnonymousUserManager.swift index e36c9793..794cc560 100644 --- a/swift-sdk/Internal/AnonymousUserManager.swift +++ b/swift-sdk/Internal/AnonymousUserManager.swift @@ -200,6 +200,8 @@ public class AnonymousUserManager: AnonymousUserManagerProtocol { guard let events = localStorage.anonymousUserEvents, let criteriaData = localStorage.criteriaData else { return nil } + + let matchedCriteriaId = CriteriaCompletionChecker(anonymousCriteria: criteriaData, anonymousEvents: events).getMatchedCriteria() return matchedCriteriaId } @@ -213,7 +215,7 @@ public class AnonymousUserManager: AnonymousUserManagerProtocol { // Stores event data locally private func storeEventData(type: String, data: [AnyHashable: Any], shouldOverWrite: Bool? = false) { if !self.localStorage.anonymousUsageTrack { - ITBInfo("AUT CONSENT NOT GIVEN") + ITBInfo("AUT CONSENT NOT GIVEN - no events being stored") return } diff --git a/swift-sdk/Internal/InternalIterableAPI.swift b/swift-sdk/Internal/InternalIterableAPI.swift index 0c568944..d205bc31 100644 --- a/swift-sdk/Internal/InternalIterableAPI.swift +++ b/swift-sdk/Internal/InternalIterableAPI.swift @@ -219,10 +219,12 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider { } func setAnonymousUsageTracked(isAnonymousUsageTracked: Bool) { + ITBInfo("CONSENT CHANGED - local events cleared") self.localStorage.anonymousUsageTrack = isAnonymousUsageTracked self.localStorage.anonymousUserEvents = nil self.localStorage.anonymousSessions = nil if isAnonymousUsageTracked { + ITBInfo("CONSENT GIVEN - Criteria fetched") self.anonymousUserManager.getAnonCriteria() self.anonymousUserManager.updateAnonSession() } @@ -309,6 +311,7 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider { onFailure: OnFailureHandler? = nil) -> Pending { if !isEitherUserIdOrEmailSet() && localStorage.userIdAnnon == nil { if config.enableAnonTracking { + ITBInfo("AUT ENABLED - anon update user") anonymousUserManager.trackAnonUpdateUser(dataFields) } return rejectWithInitializationError(onFailure: onFailure) @@ -340,6 +343,7 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider { onFailure: OnFailureHandler? = nil) -> Pending { if !isEitherUserIdOrEmailSet() && localStorage.userIdAnnon == nil { if config.enableAnonTracking { + ITBInfo("AUT ENABLED - anon update cart") anonymousUserManager.trackAnonUpdateCart(items: items) } return rejectWithInitializationError(onFailure: onFailure) @@ -372,6 +376,7 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider { onFailure: OnFailureHandler? = nil) -> Pending { if !isEitherUserIdOrEmailSet() { if config.enableAnonTracking { + ITBInfo("AUT ENABLED - anon track purchase") anonymousUserManager.trackAnonPurchaseEvent(total: total, items: items, dataFields: dataFields) } return rejectWithInitializationError(onFailure: onFailure) @@ -445,6 +450,7 @@ final class InternalIterableAPI: NSObject, PushTrackerProtocol, AuthProvider { onFailure: OnFailureHandler? = nil) -> Pending { if !isEitherUserIdOrEmailSet() && localStorage.userIdAnnon == nil { if config.enableAnonTracking { + ITBInfo("AUT ENABLED - anon track custom event") anonymousUserManager.trackAnonEvent(name: eventName, dataFields: dataFields) } return rejectWithInitializationError(onFailure: onFailure) diff --git a/swift-sdk/IterableAPI.swift b/swift-sdk/IterableAPI.swift index 65a40848..5c8eb38f 100644 --- a/swift-sdk/IterableAPI.swift +++ b/swift-sdk/IterableAPI.swift @@ -126,7 +126,8 @@ import UIKit callback?(false) } - if let _implementation = implementation, config.enableAnonTracking, !_implementation.isEitherUserIdOrEmailSet(), _implementation.getAnonymousUsageTracked() { + if let _implementation = implementation, config.enableAnonTracking, !_implementation.isEitherUserIdOrEmailSet(), _implementation.getAnonymousUsageTracked(){ + ITBInfo("AUT ENABLED AND CONSENT GIVEN - Criteria fetched") _implementation.anonymousUserManager.getAnonCriteria() _implementation.anonymousUserManager.updateAnonSession() } From 4124e4d28740457d2581ed59a0ed9db97d214c73 Mon Sep 17 00:00:00 2001 From: Evan Greer Date: Fri, 11 Oct 2024 09:42:48 -0600 Subject: [PATCH 2/2] minor edits --- swift-sdk/Internal/AnonymousUserManager.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/swift-sdk/Internal/AnonymousUserManager.swift b/swift-sdk/Internal/AnonymousUserManager.swift index 794cc560..16493279 100644 --- a/swift-sdk/Internal/AnonymousUserManager.swift +++ b/swift-sdk/Internal/AnonymousUserManager.swift @@ -200,11 +200,10 @@ public class AnonymousUserManager: AnonymousUserManagerProtocol { guard let events = localStorage.anonymousUserEvents, let criteriaData = localStorage.criteriaData else { return nil } - - let matchedCriteriaId = CriteriaCompletionChecker(anonymousCriteria: criteriaData, anonymousEvents: events).getMatchedCriteria() return matchedCriteriaId } + // Gets the anonymous criteria public func getAnonCriteria() { IterableAPI.implementation?.getCriteriaData { returnedData in