[PLUGIN] - QR Scanner (mobile native)

Hi all, another plugin hits the market place…

Native QR and barcode scanner plugin available for native mobile pages. Comes with full documentation with everything you’ll need out of a mobile QR/barcode scanner plugin, including the ability to enable the torch in low light environments and a type of overlay that automatically adjusts to any codes in view and tappable links taking the user directly to any URLs contained in the scanned code.

The editor link along with the instructions can be seen here:
https://bubble.io/page?id=paul-testing-4&tab=Design&name=Home&type=page

Please note this is a native plugin so you won’t be able to view it directly through the browser, you’ll need to use the BubbleGo app once it’s installed.

The plugin link is here:
https://bubble.io/plugin/qr-scanner-native-mobile-1782715197438x369594338553888800

So, this brings a real camera scanner to your native mobile page, reading QR codes and barcodes with the device’s own camera rather than in a web view, so it stays fast and reads codes the instant they come into view. The QR Scanner element is put onto your page, and every successful scan populates the contained states, triggers the appropriate events so you can use and see the data. Camera permissions are handled, including cases where someone may have previously turned access off.

The thing I wanted to get right with this one is simplicity. Scanning can get technical quickly, with a dozen barcode formats and settings most people never need, so I have tried hard to keep it friendly for no-code builders while still giving full control to anyone who wants it. As one example, you pick what to scan from a plain-language dropdown (QR only, Common barcodes, All formats, or a custom list), so you don’t need to worry about all the different code types that are available.

How it works

The live camera preview fills the element. You can leave the options at their default values, setup the ‘code scanned’ event and read the contents of the ‘last scanned code’ state when the camera detects a code.

Scanning

  • Live camera scanning that reads QR codes and a wide range of barcodes, on both iPhone and Android.
  • Continuous mode for reading code after code, or single mode for one clean read at a time.
  • Built-in duplicate protection with an adjustable cooldown, so one code sitting in front of the camera does not flood your workflows.
  • Scan from a saved photo as well as the live camera, handy for screenshots and stored images.

Formats made simple

  • A plain-language Format mode: QR only, Common barcodes, All formats, or your own custom list.
  • No need to know format names for everyday use. Pick Common barcodes and product scanning just works.
  • Full control when you want it, with thirteen supported code types.

On screen and feedback

  • A configurable scan frame that follows the code when the device reports its position, with six styles (solid or corner-target, in square, rounded or circle).
  • The scanned value shown in a tidy banner, and if the code is a web address you can tap it to open the link straight away.
  • Optional beep and vibrate on each scan, a torch for low light, pinch-to-zoom, and a choice of front or back camera.

States, Events, Actions

  • Typed states for the last code, its type, the timestamp, the live status, the torch, and more.
  • Events for every moment that matters: code scanned, scanning started, stopped and paused, camera ready, image scanned, permission granted and denied.
  • Actions to start, stop, clear the last scan, scan from an image, set the torch, request permission, and open app settings.

Notes

Vibrate feedback is reliable on Android but best-effort on iPhone, since modern iPhones do not always produce a vibration from this kind of request. There’s also a beep option, which is the dependable choice on iPhone. Testing on my own iPhone (16 Pro Max), the buzzing seems to be working fine.

In development

  • More on-screen customisation options.
  • A few extra conveniences around handling scan results.
  • Ongoing testing and polish across devices.

As always, any feedback is very welcome, and I will keep this thread updated as new bits are added.

Paul