External USB Devices

NOTE

If your app use external device(s), you will be asked to provide the device for app approval or for support. The external device and app will be reviewed for functionality and security.

USB HID Devices

Clover supports all standard USB HID (human interface devices). This includes keyboards, mice, and most barcode readers. It’s common for other USB peripherals to be implemented as the HID class since support for USB HID is almost universal.

When a USB HID device is connected to a Clover device, the user will see a popup asking them if the device is a keyboard. If they answer “yes,” the platform’s soft keyboard is disabled while this device is connected. This preference is reset at reboot unless the user chooses “don’t ask again.” If the user chooses “don’t ask again,” the preference can be cleared at “Settings > Language and Input > Clear USB keyboard defaults”.

Other USB Devices

All other USB devices must be whitelisted. That is, they cannot be used with Clover unless they are added to our server database. This database maps a developer app to a USB vendor and product ID. Only the specific app on the specific environment is allowed to use the USB device.

Please contact dev@clover.com with your App ID, USB product and vendor ID, environment (eg. sandbox, production), and a description of your app. You may be required to provide additional details and/or schedule a call.

Supported Barcode Readers

Clover has special handling for supported USB HID barcode scanners. Supported means that they are known to the Clover platform and tested. The list of supported USB HID barcode readers:

# IDTECH IDBA-4244MRB
0x04b4,0x0100

# HP
0x03f0,0x1d24

# motorla
0x05e0,0x1200

# IDTECH IDBA-4244SR
0x1234,0x4321

# Random Laser scanner
0x05fe,0x1010

# idtech econscan ii
0x0483,0x0001

# Honeywell
0x0c2e,0x0206

# MS 180-1UBG
0x1130,0x0001

# Metrologic Instruments Metrologic MS7120 Barcode Scanner (old model)
0x0c2e,0x0204

# Metrologic Instruments Metrologic MS7120 Barcode Scanner (new model)
0x0c2e,0x0be1

# Zebra 1D Handheld Scanner Model: LS2208, 2D Handheld Scanner Model: DS4208
0x05E0,0x1200

# Zebra 2D Barcode Scanners: DS2208, DS9208

Use with Clover Android SDK

Apps should use‚Äč the BarcodeScanner class for barcode scanning. Here is an example:

private static Bundle getBarcodeSetting(final boolean enabled) {
    final Bundle extras = new Bundle();
    extras.putBoolean(Intents.EXTRA_START_SCAN, enabled);
    extras.putBoolean(Intents.EXTRA_SHOW_PREVIEW, enabled);
    extras.putBoolean(Intents.EXTRA_SHOW_MERCHANT_PREVIEW, enabled);
    extras.putBoolean(Intents.EXTRA_LED_ON, false);
    return extras;
}
public boolean startBarcodeScanner() {
    return new BarcodeScanner(this).startScan(getBarcodeSetting(true));
}
public boolean stopBarcodeScanner() {
    return new BarcodeScanner(this).stopScan(getBarcodeSetting(false));
}

Note this same mechanism is used to handle barcodes read from the Station/Mini camera and the Mobile laser scanner, so apps do not need to be aware of the hardware that’s being used to scan.