Erste Schritte
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-uwb`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/uwb/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installieren
Abschnitt „Installation“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:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsNutze 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:
bun add @capgo/capacitor-uwbbunx cap syncImportieren
Abschnitt mit dem Titel „Import“import { CapacitorUwb } from '@capgo/capacitor-uwb';Quickstart
Abschnitt „Quick start“import { CapacitorUwb } from '@capgo/capacitor-uwb';
const result = await CapacitorUwb.isAvailable();console.log(result);Beispiel: getDiscoveryToken
Abschnitt mit dem Titel „Beispiel: getDiscoveryToken“import { CapacitorUwb } from '@capgo/capacitor-uwb';
const result = await CapacitorUwb.getDiscoveryToken();// The result holds sensitive values: use it without logging it.Beispiel: startPeerSession
Abschnitt mit dem Titel „Beispiel: startPeerSession“import { CapacitorUwb } from '@capgo/capacitor-uwb';
await CapacitorUwb.startPeerSession({ peerDiscoveryToken: 'peer-discovery-token-123' });Häufige Stolperfallen
Abschnitt „Häufige Fallstricke“- Listener: Handles beim Unmounten von Screens entfernen.
- Nativer Sync: ausführen
bunx cap syncnach Plugin-Upgrades. - Single Source of Truth: Vertrauen
src/definitions.tsim GitHub Repo.
Verfügbarkeit prüfen
Abschnitt mit dem Titel „Verfügbarkeit prüfen“const availability = await CapacitorUwb.isAvailable();
if (!availability.supported) { console.log('This device does not support UWB.');}iOS Peer Session
Abschnitt mit dem Titel „iOS Peer Session“- Rufe
getDiscoveryToken()auf beiden Geräten. - Die zurückgegebenen Base64-Token out-of-band austauschen.
- 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.
Android-Controller / Controller-Session
Abschnitt mit dem Titel „Android Controller / Controlee Session“- Der Controller ruft auf
startControllerSession()und teilt das zurückgegebenerangingParametersundlocalAddress. - Der Controlee erstellt sein eigenes
rangingParameters, unter Verwendung des ControllerslocalAddressalspeerAddress. - Der Controlee ruft an
startControleeSession({ rangingParameters }). - Optional übergeben
peerAddressan 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.
Auf Updates lauschen
Abschnitt mit dem Titel „Auf Updates lauschen“await CapacitorUwb.addListener('rangingUpdate', (event) => { console.log(event.distanceMeters, event.direction);});
await CapacitorUwb.addListener('sessionStateChanged', (event) => { console.log(event.state, event.reason);});Session beenden
Abschnitt mit dem Titel „Session beenden“await CapacitorUwb.stopSession();Source of Truth
Abschnitt mit dem Titel „Source of Truth“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.