[go: up one dir, main page]

Skip to content

jitsi/spot-electron-sdk

Repository files navigation

Spot Electron SDK

This SDK provides spot functionalities for desktop (electron) apps. Currently it only supports detecting Spot beacons.

Usage

  1. Instantiate the SDK with (optional) configuration object.
const { beaconDetectorResolver } =  require('spot-electron-sdk');

beaconDetectorResolver.then(({ default: BeaconDetector }) => {
    const detector = new BeaconDetector({
        beaconUUID: string,
        beaconDismissTimeoutSeconds: number,
        reportIntervalMillisecs: number
    });
});
  1. Subscribe to events
detector.on('scanStart', () => {
    console.log('Beacon scanning started.');
});
detector.on('scanStartError', (error) => {
    console.log('Failed to start beacon scanning.', error);
});
detector.on('scanStop', () => {
    console.log('Beacon scanning stopped.');
});
detector.on('beacons', beacons  => {
    console.log('Beacons', beacons);
});
detector.on('bestBeacon', beacon  => {
    console.log('Best beacon', beacon);
});
  1. Start detection
detector.start();
  1. Stop detection
detector.stop();

Reference

Config object

beaconUUID: (Optional) The Beacon UUID to look for. Omit this to detect Jitsi beacons, but custom deployments should have their own ID.

beaconDismissTimeoutSeconds: (Optional) The timeout in seconds that the SDK waits before dismissing (not reporting anymore) a beacon that it stopped detecting. Min: 5s.

reportIntervalMillisecs: (Optional) The timeout in milliseconds the SDK reports newly detected devices (if any). Min: 2000ms.

Events

scanStart: Scanning started.

scanStartError: The SDK failed to start the scanning. An error object is passed to the callback.

scanStop: Scanning stopped.

beacons: New list of beacons are available. An array of Beacon object is passed to the callback.

bestBeacon: A new best (closest, most reliable... etc) beacon is available. A Beacon object is passed to the callback.

Example

See example.js for code examples.