diff --git a/Sources/Core/Tracker/TrackerEvent.swift b/Sources/Core/Tracker/TrackerEvent.swift index 83200f89b..d29d9c1ef 100644 --- a/Sources/Core/Tracker/TrackerEvent.swift +++ b/Sources/Core/Tracker/TrackerEvent.swift @@ -35,11 +35,11 @@ class TrackerEvent : InspectableEvent, StateMachineEvent { var trueTimestamp: Date? - private(set) var isPrimitive: Bool + private(set) var isPrimitive: Bool = false private(set) var isService: Bool - private(set) var isWebView: Bool + private(set) var isWebView: Bool = false init(event: Event, eventId: UUID = UUID(), state: TrackerStateSnapshot? = nil) { self.eventId = eventId @@ -50,12 +50,10 @@ class TrackerEvent : InspectableEvent, StateMachineEvent { self.state = state ?? TrackerState() isService = (event is TrackerError) - isWebView = false - isPrimitive = false switch event { case _ as WebViewReader: - eventName = (payload[kSPEvent] as? String) ?? "ue" + eventName = (payload[kSPEvent] as? String) ?? kSPEventUnstructured schema = getWebViewSchema() isWebView = true diff --git a/Sources/Core/Tracker/WebViewMessageHandlerV2.swift b/Sources/Core/Tracker/WebViewMessageHandlerV2.swift index 2e4dd6296..51ff250ee 100644 --- a/Sources/Core/Tracker/WebViewMessageHandlerV2.swift +++ b/Sources/Core/Tracker/WebViewMessageHandlerV2.swift @@ -112,12 +112,9 @@ class WebViewMessageHandlerV2: NSObject, WKScriptMessageHandler { } func parseSelfDescribingEventDataFromMessage(_ messageString: String?) -> [String : Any]? { - guard (messageString != nil) else { return nil } - guard let eventData = messageString?.data(using: .utf8) else { - logError(message: "WebView: Received event payload is not serializable to JSON, skipping.") - return nil - } - guard let eventJson = try? JSONSerialization.jsonObject(with: eventData) as? [String : Any] else { + if messageString == nil { return nil } + guard let eventData = messageString?.data(using: .utf8), + let eventJson = try? JSONSerialization.jsonObject(with: eventData) as? [String : Any] else { logError(message: "WebView: Received event payload is not serializable to JSON, skipping.") return nil } @@ -125,12 +122,9 @@ class WebViewMessageHandlerV2: NSObject, WKScriptMessageHandler { } func parseEntitiesFromMessage(_ messageString: String?) -> [[AnyHashable : Any]]? { - guard (messageString != nil) else { return nil } - guard let entitiesData = messageString?.data(using: .utf8) else { - logError(message: "WebView: Received event payload is not serializable to JSON, skipping.") - return nil - } - guard let entitiesJson = try? JSONSerialization.jsonObject(with: entitiesData) as? [[AnyHashable : Any]] else { + if messageString == nil { return nil } + guard let entitiesData = messageString?.data(using: .utf8), + let entitiesJson = try? JSONSerialization.jsonObject(with: entitiesData) as? [[AnyHashable : Any]] else { logError(message: "WebView: Received event payload is not serializable to JSON, skipping.") return nil } diff --git a/Sources/Snowplow/Snowplow.swift b/Sources/Snowplow/Snowplow.swift index 1d6f332f2..8bb999a5a 100644 --- a/Sources/Snowplow/Snowplow.swift +++ b/Sources/Snowplow/Snowplow.swift @@ -346,7 +346,7 @@ public class Snowplow: NSObject { let messageHandlerV2 = WebViewMessageHandlerV2() webViewConfiguration.userContentController.add(messageHandlerOld, name: "snowplow") - webViewConfiguration.userContentController.add(messageHandlerV2, name: "snowplow") + webViewConfiguration.userContentController.add(messageHandlerV2, name: "snowplowV2") } #endif