Native Printer Integration
Overview
Support Android-native Bluetooth printing for ESC/POS receipt printers directly from the embedded web app via a JS Bridge.
Capabilities & Scope
- Bluetooth SPP connection management in the Android host.
- Support paper profiles for
58mmand80mm. - Bridge capabilities:
printer.status(),printer.connect(),printer.disconnect(),printer.print(),printer.testPrint(),printer.listBondedDevices(). - Ensure offline print resilience and connection-state reporting.
Flow: Printer Setup
- Settings: Admin opens the printer setup screen in the Android booth app.
- Selection: Admin selects a paired Bluetooth ESC/POS printer from bonded devices.
- Profile: Admin selects the paper profile (
58mmor80mm). - Verification: Admin runs a test print to confirm connection and paper sizing.
- Save: The Android app stores the selected printer and reconnect settings locally.
Flow: End-User Print Fulfillment
- Completion: User finishes their photo session and arrives at the
image-finalscreen. - Render: The web app generates the printable image based on the active layout and printer profile.
- Bridge Call: The web app sends the print request through the Android printer bridge.
- Native Delivery: The Android runtime sends ESC/POS data to the configured Bluetooth printer.
- Feedback: The app reports success or a recoverable printer error to the operator.
Flow: Recovery and Offline Use
- Relaunch: The booth app is reopened after being backgrounded, restarted, or used offline.
- Reconnect: The Android runtime attempts to reconnect to the last configured printer.
- Fallback: If reconnect fails, the app remains usable and surfaces printer troubleshooting steps.
- Continue: Printing resumes once the printer is available again, without requiring internet access.