Vai al contenuto

Per iniziare

GitHub

Puoi usare il nostro setup assistito dall'IA per installare il plugin. Aggiungi le skill Capgo al tuo strumento di IA usando il seguente comando:

Finestra del terminale
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Poi usa il seguente prompt:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-uwb` plugin in my project.

Se preferisci la configurazione manuale, installa il plugin eseguendo questi comandi e segui le istruzioni specifiche per piattaforma qui sotto:

Finestra del terminale
bun add @capgo/capacitor-uwb
bunx cap sync
import { CapacitorUwb } from '@capgo/capacitor-uwb';
import { CapacitorUwb } from '@capgo/capacitor-uwb';
const result = await CapacitorUwb.isAvailable();
console.log(result);
import { CapacitorUwb } from '@capgo/capacitor-uwb';
const result = await CapacitorUwb.getDiscoveryToken();
// The result holds sensitive values: use it without logging it.
import { CapacitorUwb } from '@capgo/capacitor-uwb';
await CapacitorUwb.startPeerSession({ peerDiscoveryToken: 'peer-discovery-token-123' });
  • Listener: rimuovi gli handle quando gli schermi vengono smontati.
  • Sync nativo: esegui bunx cap sync dopo gli aggiornamenti dei plugin.
  • Fonte di verità: fidati src/definitions.ts nel repo GitHub.
const availability = await CapacitorUwb.isAvailable();
if (!availability.supported) {
console.log('This device does not support UWB.');
}
  1. Chiama getDiscoveryToken() su entrambi i dispositivi.
  2. Scambia i token base64 ricevuti tramite un canale esterno.
  3. Inizia il ranging con il peer token.
const { discoveryToken } = await CapacitorUwb.getDiscoveryToken();
await CapacitorUwb.startPeerSession({
peerDiscoveryToken: '<peer-token-base64>',
});

Vedi Setup iOS per i requisiti di capacità e permessi.

Sessione Controller / Controlee su Android

Sezione intitolata “Android Controller / Controlee Session”
  1. Il controller chiama startControllerSession() e condivide il risultato restituito rangingParameters e localAddress.
  2. Il controlee crea il proprio rangingParameters, usando il controller localAddress come peerAddress.
  3. Il controlee chiama startControleeSession({ rangingParameters }).
  4. Opzionalmente passa peerAddress al controller una volta noto l'indirizzo del controlee.
const controller = await CapacitorUwb.startControllerSession();
await CapacitorUwb.startControleeSession({
rangingParameters: {
...controller.rangingParameters,
peerAddress: controller.localAddress,
},
});

Vedi Configurazione Android per i requisiti hardware e i permessi.

await CapacitorUwb.addListener('rangingUpdate', (event) => {
console.log(event.distanceMeters, event.direction);
});
await CapacitorUwb.addListener('sessionStateChanged', (event) => {
console.log(event.state, event.reason);
});
await CapacitorUwb.stopSession();

Questa pagina è generata dal src/definitions.ts. Aggiorna le definizioni TypeScript ed esegui bun run docgen nel repository del plugin per aggiornare la documentazione API generata.