-
Notifications
You must be signed in to change notification settings - Fork 121
[Woo POS][Barcodes] Analytics for setup flow #15907
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Woo POS][Barcodes] Analytics for setup flow #15907
Conversation
- Add 11 new barcode scanner setup events to WooAnalyticsStat - Add events to POS event list in TracksProvider - Add factory methods in WooAnalyticsEvent+PointOfSale
- Add analyticsName to PointOfSaleBarcodeScannerType - Add PointOfSaleBarcodeScannerSetupStepType enum with analyticsValue - Update scan tester to use callbacks with scan value parameter
- Track scanner selection, navigation, and completion events - Track dismissals except on completion step - Track keyboard connection during setup - Track system settings button taps
- Add dismissal tracking via onDisappear in main setup view - Update Xcode project file for new test files
- Update ScanTester tests for new callback structure - Add FlowManager tests for analytics tracking and state management - Test dismissal tracking behavior and completion step logic
- Change Result<String, Error> to Result<String, HIDBarcodeParserError> throughout barcode scanning chain - Update GameControllerBarcodeParser.asResult to return specific error type - Update scan tester to handle specific error type with error.barcode property - Update tests to use HIDBarcodeParserError instead of generic TestError
Generated by 🚫 Danger |
|
|
|
@jaclync, @iamgabrielma not sure if anyone has a capability to test this with any barcode scanner? |
|
I will review and integrate existing project PRs first #15903 |
|
My scanner has arrived today, I should be able to set it up/test between today and tomorrow 👍 |
My Tera scanner is scheduled to arrive today (Monday), but not sure what time, and it might take some time for me to set up for the first time. If I receive it today, I can test it tomorrow/Tuesday for sure. |
|
👋 @staskus I started to test the events with the Eyoyo model ( |
|
@iamgabrielma sorry for not providing more details. So far, only Star scanner flow is implemented to test all the steps. But you can use Eyoyo to go through the steps as well, just don't scan the QR code.
|
iamgabrielma
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Seeing the success screen after scanning the test code was oddly satisfying 💯
✅ barcode_scanner_setup_flow_shown
✅ barcode_scanner_setup_scanner_selected with scanner: [Star_BSH_20B, Socket_S720, TBC]
✅ barcode_scanner_setup_next_tapped
✅ barcode_scanner_setup_back_tapped with scanner and step
✅ barcode_scanner_setup_open_system_settings_tapped with scanner
✅ barcode_scanner_setup_test_scan_success with scanner
✅ barcode_scanner_setup_test_scan_failed with scanner and scan_value
✅ barcode_scanner_setup_test_scan_timed_out with scanner
✅ barcode_scanner_setup_dismissed with scanner and step
✅ barcode_scanner_setup_retry_tapped with scanner
Also I saw an additional event being tracked: pos_barcode_scanning_explanation_dialog_shown 👍
| case .socketS720: | ||
| return [ | ||
| .start: createWelcomeStep(title: "Socket S720 Setup") | ||
| .setupBarcodeHID: createWelcomeStep(title: "Socket S720 Setup") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not necessarily in this PR, but I'm guessing these will need localization?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we have WOOMOB-792 for localized strings.
createWelcomeStep also will be removed altogether when we make the setup steps for all the recommended scanners.
.../POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManagerTests.swift
Outdated
Show resolved
Hide resolved
.../POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManagerTests.swift
Outdated
Show resolved
Hide resolved
.../POS/Presentation/Barcode Scanner Setup/PointOfSaleBarcodeScannerSetupFlowManagerTests.swift
Outdated
Show resolved
Hide resolved
Ah, thanks! When I didn't see any steps I did tap on |
Co-authored-by: Gabriel Maldonado <[email protected]>
We can keep it for now. We may remove it when cleaning up the code after |

WOOMOB-788
pdfdoF-7Bv-p2
Description
Added analytics tracking for barcode scanner setup flow in POS. Implements a dozen new events to track user interaction with scanner selection, setup steps, test scanning, and dismissal behavior.
Registered events
Steps to reproduce
barcode_scanner_setup_flow_shownbarcode_scanner_setup_scanner_selectedwith scanner: [Star_BSH_20B, Socket_S720, TBC]barcode_scanner_setup_next_tappedwith scanner and step: [setup_barcode_hid, setup_barcode_pair, setup_information, setup_products, pairing,test_barcode, test_scan_failed, test_scan_timed_out, setup_complete] (current step before the navigation)
barcode_scanner_setup_back_tappedwith scanner and stepbarcode_scanner_setup_open_system_settings_tappedwith scannerbarcode_scanner_setup_test_scan_successwith scannerbarcode_scanner_setup_test_scan_failedwith scanner and scan_valuebarcode_scanner_setup_test_scan_timed_outwith scannerbarcode_scanner_setup_dismissed with scanner and step(tracked from tapping x, tapping outside the modal, and tapping any Close button in the flow). No properties in the initial scanner selection view.barcode_scanner_setup_retry_tappedwith scannerTesting information
Tested on iPad Air 26.0 with Inateck scanner
RELEASE-NOTES.txtif necessary.