@@ -34,6 +34,9 @@ extension WooAnalyticsEvent {
3434 static let scanDurationMs = " scan_duration_ms "
3535 static let barcodeLength = " barcode_length "
3636 static let failReason = " fail_reason "
37+ static let scanner = " scanner "
38+ static let step = " step "
39+ static let scanValue = " scan_value "
3740 }
3841
3942 static func paymentsOnboardingShown( ) -> WooAnalyticsEvent {
@@ -214,6 +217,72 @@ extension WooAnalyticsEvent {
214217 Key . failReason: failReason
215218 ] )
216219 }
220+
221+ static func barcodeScannerSetupScannerSelected( scanner: PointOfSaleBarcodeScannerType ) -> WooAnalyticsEvent {
222+ WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupScannerSelected,
223+ properties: [ Key . scanner: scanner. analyticsName] )
224+ }
225+
226+ static func barcodeScannerSetupNextTapped( scanner: PointOfSaleBarcodeScannerType , step: String ) -> WooAnalyticsEvent {
227+ WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupNextTapped,
228+ properties: [
229+ Key . scanner: scanner. analyticsName,
230+ Key . step: step
231+ ] )
232+ }
233+
234+ static func barcodeScannerSetupBackTapped( scanner: PointOfSaleBarcodeScannerType , step: String ) -> WooAnalyticsEvent {
235+ WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupBackTapped,
236+ properties: [
237+ Key . scanner: scanner. analyticsName,
238+ Key . step: step
239+ ] )
240+ }
241+
242+ static func barcodeScannerSetupOpenSystemSettingsTapped( scanner: PointOfSaleBarcodeScannerType ) -> WooAnalyticsEvent {
243+ WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupOpenSystemSettingsTapped,
244+ properties: [ Key . scanner: scanner. analyticsName] )
245+ }
246+
247+ static func barcodeScannerSetupTestScanSuccess( scanner: PointOfSaleBarcodeScannerType ) -> WooAnalyticsEvent {
248+ WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupTestScanSuccess,
249+ properties: [ Key . scanner: scanner. analyticsName] )
250+ }
251+
252+ static func barcodeScannerSetupTestScanFailed( scanner: PointOfSaleBarcodeScannerType , scanValue: String ) -> WooAnalyticsEvent {
253+ WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupTestScanFailed,
254+ properties: [
255+ Key . scanner: scanner. analyticsName,
256+ Key . scanValue: scanValue
257+ ] )
258+ }
259+
260+ static func barcodeScannerSetupTestScanTimedOut( scanner: PointOfSaleBarcodeScannerType ) -> WooAnalyticsEvent {
261+ WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupTestScanTimedOut,
262+ properties: [ Key . scanner: scanner. analyticsName] )
263+ }
264+
265+ static func barcodeScannerSetupDismissed( scanner: PointOfSaleBarcodeScannerType ? = nil , step: String ? = nil ) -> WooAnalyticsEvent {
266+ var properties : [ String : String ] = [ : ]
267+ if let scanner {
268+ properties [ Key . scanner] = scanner. analyticsName
269+ }
270+ if let step {
271+ properties [ Key . step] = step
272+ }
273+ return WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupDismissed,
274+ properties: properties)
275+ }
276+
277+ static func barcodeScannerSetupRetryTapped( scanner: PointOfSaleBarcodeScannerType ) -> WooAnalyticsEvent {
278+ WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupRetryTapped,
279+ properties: [ Key . scanner: scanner. analyticsName] )
280+ }
281+
282+ static func barcodeScannerSetupScannerConnected( scanner: PointOfSaleBarcodeScannerType , step: String ) -> WooAnalyticsEvent {
283+ WooAnalyticsEvent ( statName: . pointOfSaleBarcodeScannerSetupScannerConnected,
284+ properties: [ Key . scanner: scanner. analyticsName] )
285+ }
217286 }
218287}
219288
0 commit comments