Zum Inhalt springen

Erste Schritte

  1. Installieren Sie das Paket

    Terminal-Fenster
    npm i @capgo/capacitor-shake
  2. Mit nativen Projekten synchronisieren

    Terminal-Fenster
    npx cap sync
  3. Konfigurieren Sie das Plugin

    Grundlegendes Verwendungsbeispiel:

    import { Shake } from '@capgo/capacitor-shake';
    // Beginnen Sie mit dem Lauschen auf Schüttelgesten
    await Shake.start();
    // Lauschen Sie auf Schüttelereignisse
    Shake.addListener('shake', () => {
    console.log('Gerät wurde geschüttelt!');
    // Führen Sie hier Ihre Aktion aus
    });

    Empfindlichkeitskonfiguration:

    // Schüttelempfindlichkeit konfigurieren
    await Shake.start({
    threshold: 3.5 // Empfindlichkeit anpassen (Standard: 3.5)
    });

    Für iOS ist keine zusätzliche Einrichtung erforderlich.

  4. Beenden Sie das Lauschen auf Schüttelgesten

    // Schüttelerkennung stoppen, wenn nicht benötigt
    await Shake.stop();
    // Bestimmten Listener entfernen
    const handle = await Shake.addListener('shake', () => {
    console.log('Geschüttelt!');
    });
    handle.remove();
  5. Beispielimplementierung

    import { Shake } from '@capgo/capacitor-shake';
    import { App } from '@capacitor/app';
    export class ShakeService {
    private shakeListener: any;
    async initialize() {
    // Schüttelerkennung starten
    await Shake.start({ threshold: 4.0 });
    // Schüttel-Listener hinzufügen
    this.shakeListener = await Shake.addListener('shake', () => {
    this.handleShake();
    });
    // Beim Pausieren der App aufräumen
    App.addListener('pause', () => {
    Shake.stop();
    });
    // Beim Fortsetzen der App fortsetzen
    App.addListener('resume', () => {
    Shake.start({ threshold: 4.0 });
    });
    }
    private handleShake() {
    console.log('Schütteln erkannt!');
    // Debug-Menü anzeigen, Daten aktualisieren oder eine beliebige Aktion auslösen
    }
    async cleanup() {
    if (this.shakeListener) {
    this.shakeListener.remove();
    }
    await Shake.stop();
    }
    }

Beginnen Sie mit dem Lauschen auf Schüttelgesten.

Parameter:

  • options (optional): Konfigurationsobjekt
    • threshold: number - Empfindlichkeitsschwelle (Standard: 3.5)

Beenden Sie das Lauschen auf Schüttelgesten.

addListener('shake', callback: () => void)

Section titled “addListener('shake', callback: () => void)”

Fügen Sie einen Listener für Schüttelereignisse hinzu.

Rückgabe: Promise mit einem Handle zum Entfernen des Listeners

interface ShakeOptions {
threshold?: number; // Schüttelempfindlichkeitsschwelle
}
  • Verwendet den Beschleunigungsmesser des Geräts zur Erkennung von Schüttelgesten
  • Funktioniert sowohl im Vordergrund als auch im Hintergrund (wenn die App Hintergrundberechtigungen hat)
  • Verwendet den SensorManager zur Erkennung von Schüttelereignissen
  • Erfordert keine speziellen Berechtigungen
  • Funktioniert, wenn die App im Vordergrund ist
  1. Debug-Menü: Entwickleroptionen anzeigen, wenn das Gerät geschüttelt wird
  2. Feedback: Feedback-Formular oder Fehlerbericht auslösen
  3. Aktualisieren: App-Daten aktualisieren oder Cache leeren
  4. Spiele: Schütteln als Spielsteuerungsmechanismus verwenden
  5. Rückgängig machen: Schüttel-zum-Rückgängigmachen-Funktionalität implementieren

Schütteln wird nicht erkannt:

  • Stellen Sie sicher, dass das Plugin mit Shake.start() gestartet wurde
  • Versuchen Sie, den Schwellenwert anzupassen (niedriger = empfindlicher)
  • Überprüfen Sie, ob Listener ordnungsgemäß registriert sind

Zu empfindlich/nicht empfindlich genug:

  • Passen Sie den threshold-Parameter in den start()-Optionen an
  • Werte liegen typischerweise zwischen 2.0 (sehr empfindlich) und 5.0 (weniger empfindlich)