Skip to main content

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 58mm and 80mm.
  • 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

  1. Settings: Admin opens the printer setup screen in the Android booth app.
  2. Selection: Admin selects a paired Bluetooth ESC/POS printer from bonded devices.
  3. Profile: Admin selects the paper profile (58mm or 80mm).
  4. Verification: Admin runs a test print to confirm connection and paper sizing.
  5. Save: The Android app stores the selected printer and reconnect settings locally.

Flow: End-User Print Fulfillment

  1. Completion: User finishes their photo session and arrives at the image-final screen.
  2. Render: The web app generates the printable image based on the active layout and printer profile.
  3. Bridge Call: The web app sends the print request through the Android printer bridge.
  4. Native Delivery: The Android runtime sends ESC/POS data to the configured Bluetooth printer.
  5. Feedback: The app reports success or a recoverable printer error to the operator.

Flow: Recovery and Offline Use

  1. Relaunch: The booth app is reopened after being backgrounded, restarted, or used offline.
  2. Reconnect: The Android runtime attempts to reconnect to the last configured printer.
  3. Fallback: If reconnect fails, the app remains usable and surfaces printer troubleshooting steps.
  4. Continue: Printing resumes once the printer is available again, without requiring internet access.