@@ -43,10 +43,6 @@ import FirebaseAnalytics
4343 An implmentation of the Firebase Analytics device mode destination as a plugin.
4444 */
4545
46- struct FirebaseSettings : Codable {
47- let deepLinkURLScheme : String ?
48- }
49-
5046class FirebaseDestination : DestinationPlugin {
5147 let timeline = Timeline ( )
5248 let type = PluginType . destination
@@ -124,21 +120,7 @@ extension FirebaseDestination {
124120 // Maps Segment spec to Firebase constant
125121 func formatFirebaseEventNames( _ eventName: String ) -> String {
126122
127- let mappedValues = [ " Product Clicked " : FirebaseAnalytics . AnalyticsEventSelectContent,
128- " Product Viewed " : FirebaseAnalytics . AnalyticsEventViewItem,
129- " Product Added " : FirebaseAnalytics . AnalyticsEventAddToCart,
130- " Product Removed " : FirebaseAnalytics . AnalyticsEventRemoveFromCart,
131- " Checkout Started " : FirebaseAnalytics . AnalyticsEventBeginCheckout,
132- " Promotion Viewed " : FirebaseAnalytics . AnalyticsEventPresentOffer,
133- " Payment Info Entered " : FirebaseAnalytics . AnalyticsEventAddPaymentInfo,
134- " Order Completed " : FirebaseAnalytics . AnalyticsEventPurchase,
135- " Order Refunded " : FirebaseAnalytics . AnalyticsEventRefund,
136- " Product List Viewed " : FirebaseAnalytics . AnalyticsEventViewItemList,
137- " Product Added to Wishlist " : FirebaseAnalytics . AnalyticsEventAddToWishlist,
138- " Product Shared " : FirebaseAnalytics . AnalyticsEventShare,
139- " Cart Shared " : FirebaseAnalytics . AnalyticsEventShare,
140- " Products Searched " : FirebaseAnalytics . AnalyticsEventSearch]
141- if let mappedEvent = mappedValues [ eventName] {
123+ if let mappedEvent = FirebaseDestination . mappedValues [ eventName] {
142124 return mappedEvent
143125 } else {
144126 return ( try ? formatFirebaseName ( eventName) ) ?? eventName
@@ -162,24 +144,10 @@ extension FirebaseDestination {
162144
163145 func returnMappedFirebaseParameters( _ properties: [ String : Any ] ) -> [ String : Any ] {
164146
165- let mappedKeys = [ " products " : FirebaseAnalytics . AnalyticsParameterItems,
166- " category " : FirebaseAnalytics . AnalyticsParameterItemCategory,
167- " product_id " : FirebaseAnalytics . AnalyticsParameterItemID,
168- " name " : FirebaseAnalytics . AnalyticsParameterItemName,
169- " brand " : FirebaseAnalytics . AnalyticsParameterItemBrand,
170- " price " : FirebaseAnalytics . AnalyticsParameterPrice,
171- " quantity " : FirebaseAnalytics . AnalyticsParameterQuantity,
172- " query " : FirebaseAnalytics . AnalyticsParameterSearchTerm,
173- " shipping " : FirebaseAnalytics . AnalyticsParameterShipping,
174- " tax " : FirebaseAnalytics . AnalyticsParameterTax,
175- " total " : FirebaseAnalytics . AnalyticsParameterValue,
176- " revenue " : FirebaseAnalytics . AnalyticsParameterValue,
177- " order_id " : FirebaseAnalytics . AnalyticsParameterTransactionID,
178- " currency " : FirebaseAnalytics . AnalyticsParameterCurrency]
179147
180148 var mappedValues = properties
181149
182- for (key, firebaseKey) in mappedKeys {
150+ for (key, firebaseKey) in FirebaseDestination . mappedKeys {
183151 if var data = properties [ key] {
184152
185153 mappedValues. removeValue ( forKey: key)
@@ -220,3 +188,41 @@ extension FirebaseDestination {
220188 }
221189}
222190
191+
192+ private struct FirebaseSettings : Codable {
193+ let deepLinkURLScheme : String ?
194+ }
195+
196+ private extension FirebaseDestination {
197+
198+ static let mappedValues = [ " Product Clicked " : FirebaseAnalytics . AnalyticsEventSelectContent,
199+ " Product Viewed " : FirebaseAnalytics . AnalyticsEventViewItem,
200+ " Product Added " : FirebaseAnalytics . AnalyticsEventAddToCart,
201+ " Product Removed " : FirebaseAnalytics . AnalyticsEventRemoveFromCart,
202+ " Checkout Started " : FirebaseAnalytics . AnalyticsEventBeginCheckout,
203+ " Promotion Viewed " : FirebaseAnalytics . AnalyticsEventPresentOffer,
204+ " Payment Info Entered " : FirebaseAnalytics . AnalyticsEventAddPaymentInfo,
205+ " Order Completed " : FirebaseAnalytics . AnalyticsEventPurchase,
206+ " Order Refunded " : FirebaseAnalytics . AnalyticsEventRefund,
207+ " Product List Viewed " : FirebaseAnalytics . AnalyticsEventViewItemList,
208+ " Product Added to Wishlist " : FirebaseAnalytics . AnalyticsEventAddToWishlist,
209+ " Product Shared " : FirebaseAnalytics . AnalyticsEventShare,
210+ " Cart Shared " : FirebaseAnalytics . AnalyticsEventShare,
211+ " Products Searched " : FirebaseAnalytics . AnalyticsEventSearch]
212+
213+ static let mappedKeys = [ " products " : FirebaseAnalytics . AnalyticsParameterItems,
214+ " category " : FirebaseAnalytics . AnalyticsParameterItemCategory,
215+ " product_id " : FirebaseAnalytics . AnalyticsParameterItemID,
216+ " name " : FirebaseAnalytics . AnalyticsParameterItemName,
217+ " brand " : FirebaseAnalytics . AnalyticsParameterItemBrand,
218+ " price " : FirebaseAnalytics . AnalyticsParameterPrice,
219+ " quantity " : FirebaseAnalytics . AnalyticsParameterQuantity,
220+ " query " : FirebaseAnalytics . AnalyticsParameterSearchTerm,
221+ " shipping " : FirebaseAnalytics . AnalyticsParameterShipping,
222+ " tax " : FirebaseAnalytics . AnalyticsParameterTax,
223+ " total " : FirebaseAnalytics . AnalyticsParameterValue,
224+ " revenue " : FirebaseAnalytics . AnalyticsParameterValue,
225+ " order_id " : FirebaseAnalytics . AnalyticsParameterTransactionID,
226+ " currency " : FirebaseAnalytics . AnalyticsParameterCurrency]
227+
228+ }
0 commit comments