Skip to content

Commit 64120ad

Browse files
authored
[POS Settings] Analytics (#16051)
2 parents ee4814f + 14168aa commit 64120ad

File tree

5 files changed

+32
-4
lines changed

5 files changed

+32
-4
lines changed

WooCommerce/Classes/Analytics/TracksProvider.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,14 @@ private extension TracksProvider {
205205
// Coupons
206206
WooAnalyticsStat.couponSettingEnabled,
207207
WooAnalyticsStat.couponCreationSuccess,
208+
209+
// Settings
210+
WooAnalyticsStat.pointOfSaleSettingsMenuItemTapped,
211+
WooAnalyticsStat.pointOfSaleSettingsCloseButtonTapped,
212+
WooAnalyticsStat.pointOfSaleSettingsStoreDetailsTapped,
213+
WooAnalyticsStat.pointOfSaleSettingsHardwareTapped,
214+
WooAnalyticsStat.pointOfSaleSettingsHelpTapped,
215+
WooAnalyticsStat.pointOfSaleEmptyCartSetupScannerTapped
208216
]
209217

210218
guard Self.isPOSModeActive, pointOfSaleEventList.contains(event) else {

WooCommerce/Classes/Analytics/WooAnalyticsStat.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1296,6 +1296,12 @@ enum WooAnalyticsStat: String {
12961296
case pointOfSaleBarcodeScannerSetupDismissed = "barcode_scanner_setup_dismissed"
12971297
case pointOfSaleBarcodeScannerSetupRetryTapped = "barcode_scanner_setup_retry_tapped"
12981298
case pointOfSaleBarcodeScannerSetupScannerConnected = "barcode_scanner_setup_scanner_connected"
1299+
case pointOfSaleSettingsMenuItemTapped = "settings_open"
1300+
case pointOfSaleSettingsCloseButtonTapped = "settings_closed"
1301+
case pointOfSaleSettingsStoreDetailsTapped = "settings_store_details_tapped"
1302+
case pointOfSaleSettingsHardwareTapped = "settings_hardware_tapped"
1303+
case pointOfSaleSettingsHelpTapped = "settings_help_tapped"
1304+
case pointOfSaleEmptyCartSetupScannerTapped = "empty_cart_set_up_scanner_tapped"
12991305

13001306
// MARK: Custom Fields events
13011307
case productDetailCustomFieldsTapped = "product_detail_custom_fields_tapped"

WooCommerce/Classes/POS/Presentation/CartView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ private extension CartView {
222222
}
223223
if isPOSSettingsEnabled {
224224
Button(action: {
225+
ServiceLocator.analytics.track(.pointOfSaleEmptyCartSetupScannerTapped)
225226
showBarcodeScanningModal = true
226227
}, label: {
227228
HStack {

WooCommerce/Classes/POS/Presentation/POSFloatingControlView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ private extension POSFloatingControlView {
8585
}
8686
if ServiceLocator.featureFlagService.isFeatureFlagEnabled(.pointOfSaleSettingsi1) {
8787
Button {
88+
ServiceLocator.analytics.track(.pointOfSaleSettingsMenuItemTapped)
8889
showSettings = true
8990
} label: {
9091
Label(

WooCommerce/Classes/POS/Presentation/Settings/PointOfSaleSettingsView.swift

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,29 +29,41 @@ extension PointOfSaleSettingsView {
2929
POSPageHeaderView(
3030
title: Localization.navigationTitle,
3131
backButtonConfiguration: .init(state: .enabled,
32-
action: { dismiss() },
32+
action: {
33+
ServiceLocator.analytics.track(.pointOfSaleSettingsCloseButtonTapped)
34+
dismiss()
35+
},
3336
buttonIcon: "xmark"))
3437
.foregroundColor(.posSurface)
3538

3639
VStack(spacing: POSSpacing.small) {
3740
PointOfSaleSettingsCard(
3841
item: .store,
3942
isSelected: selection == .store,
40-
onTap: { selection = .store }
43+
onTap: {
44+
ServiceLocator.analytics.track(.pointOfSaleSettingsStoreDetailsTapped)
45+
selection = .store
46+
}
4147
)
4248

4349
PointOfSaleSettingsCard(
4450
item: .hardware,
4551
isSelected: selection == .hardware,
46-
onTap: { selection = .hardware }
52+
onTap: {
53+
ServiceLocator.analytics.track(.pointOfSaleSettingsHardwareTapped)
54+
selection = .hardware
55+
}
4756
)
4857

4958
Spacer()
5059

5160
PointOfSaleSettingsCard(
5261
item: .help,
5362
isSelected: selection == .help,
54-
onTap: { selection = .help }
63+
onTap: {
64+
ServiceLocator.analytics.track(.pointOfSaleSettingsHelpTapped)
65+
selection = .help
66+
}
5567
)
5668
}
5769
.padding(.horizontal, POSPadding.medium)

0 commit comments

Comments
 (0)