Zum Inhalt springen

Erste Schritte

GitHub

Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:

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

Nutze dann diesen Prompt:

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

Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:

Terminalfenster
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: Handles beim Unmounten von Screens entfernen.
  • Nativer Sync: ausführen bunx cap sync nach Plugin-Upgrades.
  • Single Source of Truth: Vertrauen src/definitions.ts im GitHub Repo.
const availability = await CapacitorUwb.isAvailable();
if (!availability.supported) {
console.log('This device does not support UWB.');
}
  1. Rufe getDiscoveryToken() auf beiden Geräten.
  2. Die zurückgegebenen Base64-Token out-of-band austauschen.
  3. Starte das Ranging mit dem Peer-Token.
const { discoveryToken } = await CapacitorUwb.getDiscoveryToken();
await CapacitorUwb.startPeerSession({
peerDiscoveryToken: '<peer-token-base64>',
});

Siehe iOS-Setup für Anforderungen an Capabilities und Berechtigungen.

  1. Der Controller ruft auf startControllerSession() und teilt das zurückgegebene rangingParameters und localAddress.
  2. Der Controlee erstellt sein eigenes rangingParameters, unter Verwendung des Controllers localAddress als peerAddress.
  3. Der Controlee ruft an startControleeSession({ rangingParameters }).
  4. Optional übergeben peerAddress an den Controller, sobald die Controlee-Adresse bekannt ist.
const controller = await CapacitorUwb.startControllerSession();
await CapacitorUwb.startControleeSession({
rangingParameters: {
...controller.rangingParameters,
peerAddress: controller.localAddress,
},
});

Siehe Android-Setup für Hardware- und Berechtigungsanforderungen.

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();

Diese Seite wird aus dem Plugin generiert src/definitions.ts. Aktualisiere die TypeScript-Definitionen und führe bun run docgen im Plugin-Repository aus, um die generierten API Docs zu aktualisieren.