Namespace Sensus.iOS.Probes.Context
Classes
iOSBluetoothDeviceProximityProbe
Scans for the presence of other devices nearby that are running the current Protocol. When encountered, this Probe will read the device ID of other devices. This Probe also advertises the presence of the current device and serves requests for the current device's ID. This Probe reports data in the form of BluetoothDeviceProximityDatum objects. There are no caveats to the conditions under which an iOS device running this Probe will detect another device. Detection is possible if the other device is Android or iOS and if Sensus is foregrounded or backgrounded on the other device.
NOTE: The value of Id running on the other device must equal the value of Id running on the current device. When a Protocol is created from within the Sensus app, it is assigned a unique identifier. This value is maintained or changed depending on what you do:
When the newly created Protocol is copied on the current device, a new unique identifier is assigned to it. This breaks the connection between the Protocols.
When the newly created Protocol is shared via the app with another device, its identifier remains unchanged. This maintains the connection between the Protocols.
Thus, in order for this iOSBluetoothDeviceProximityProbe to operate properly, you must configure your Protocols in one of the two following ways:
Create your Protocol on one platform (either Android or iOS) and then share it with a device from the other platform for customization. The Id values of these Protocols will remain equal and this iOSBluetoothDeviceProximityProbe will detect encounters across platforms.
Create your Protocols separately on each platform and then set the Id field on one platform (using the "Set Study Identifier" button) to match the Id value of the other platform (obtained via "Copy Study Identifier").
See the Android subclass of BluetoothDeviceProximityProbe for additional information.
iOSBluetoothDeviceProximityProbeCentralManagerDelegate
iOS BLE central (scanner/client) delegate class. Receives events related to BLE scanning and
characteristic reading.
iOSBluetoothDeviceProximityProbePeripheralManagerDelegate
iOS BLE peripheral (advertiser/server) delegate class. Receives events related to BLE advertising and
characteristic reading.
iOSSoundProbe
Probes sound level (decibels) from microphone. http://developer.xamarin.com/recipes/ios/media/sound/record_sound