Skip to content

Commit 36feca6

Browse files
authored
Add campaign parameters to the screen event (#20)
1 parent c7bd9b5 commit 36feca6

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Sources/SegmentFirebase/FirebaseDestination.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,18 @@ public class FirebaseDestination: DestinationPlugin {
116116
public func screen(event: ScreenEvent) -> ScreenEvent? {
117117

118118
if let eventName = event.name {
119+
var parameters: [String: Any] = [FirebaseAnalytics.AnalyticsParameterScreenName: eventName]
120+
121+
if let campaign = event.context?.dictionaryValue?["campaign"] as? [String: Any] {
122+
let campaignParameters = returnMappedFirebaseParameters(campaign, for: FirebaseDestination.campaignMappedKeys)
123+
parameters = parameters.merging(campaignParameters) { (current, _) in current }
124+
}
125+
119126
FirebaseAnalytics.Analytics.logEvent(FirebaseAnalytics.AnalyticsEventScreenView,
120-
parameters: [FirebaseAnalytics.AnalyticsParameterScreenName: eventName])
127+
parameters: parameters)
121128
analytics?.log(message: "Firebase setScreenName \(eventName)")
122129
}
123130

124-
125131
return event
126132
}
127133
}

0 commit comments

Comments
 (0)