I have 2 possible solutions:
- Using BluetoothLE:
- Make the users enter their Bluetooth Address at installation and put it in a CloudDB (I'm afraid if it has privacy issues)
- The users phone will continuously try to connect to any bluetooth device within its range whose address is in the database
- Once connected, they will keep streaming (random) data between each other & check the RSSI strength of the signal.
- If the strength passes a certain threshold you can be quite sure that the devices must be really close.
- QR Code:
- One user generates a QR Code and the other scans it, hence conforming proximity.
I haven't ever worked with BLE so I can't conform whether it is possible or not.