Skip to main content
A device profile is the contract between supported hardware and Dsync. It gives the app enough information to recognize a device, connect to it, and present meaningful operations instead of raw transport details.

What a profile describes

Identity matching

USB

USB matching uses the vendor ID and product ID. A profile can also constrain the optional interface class. The identifiers must describe the actual device presented to Android.

BLE

BLE matching can use a local-name prefix, one or more advertised service UUIDs, and an optional manufacturer ID. UUIDs are normalized before comparison, but the profile still needs to describe an identifier the device actually advertises.
A broad identity rule can match the wrong hardware. Prefer the narrowest rule that reliably identifies the intended device, then test discovery with more than one physical unit when possible.

Profile checklist

  • The profile ID is stable and unique.
  • The human-readable name tells a field user what the device is.
  • At least one USB or BLE identity matcher reflects the real hardware.
  • The transport and service metadata match the device protocol.
  • Every operation used by a form or workflow belongs to the correct component.
  • Settings have safe defaults and clear constraints.
  • A failed or disconnected device has a user-visible recovery path.
If a profile change affects an active field workflow, test discovery, connection, one read, one write where appropriate, and the complete workflow before releasing it.
Last modified on September 7, 2026