Vai al contenuto

Iniziare

  1. Installa il pacchetto

    Terminal window
    npm i @capgo/capacitor-shake
  2. Sincronizzazione con progetti nativi

    Terminal window
    npx cap sync
  3. Configura il plugin

    Esempio di utilizzo di base:

    import { Shake } from '@capgo/capacitor-shake';
    // Start listening for shake gestures
    await Shake.start();
    // Listen for shake events
    Shake.addListener('shake', () => {
    console.log('Device was shaken!');
    // Perform your action here
    });

    Configurazione sensibilità:

    // Configure shake sensitivity
    await Shake.start({
    threshold: 3.5 // Adjust sensitivity (default: 3.5)
    });

    Non è richiesta alcuna configurazione aggiuntiva per iOS.

  4. Smetti di ascoltare i frullati

    // Stop shake detection when not needed
    await Shake.stop();
    // Remove specific listener
    const handle = await Shake.addListener('shake', () => {
    console.log('Shaken!');
    });
    handle.remove();
  5. Esempio di implementazione

    import { Shake } from '@capgo/capacitor-shake';
    import { App } from '@capacitor/app';
    export class ShakeService {
    private shakeListener: any;
    async initialize() {
    // Start shake detection
    await Shake.start({ threshold: 4.0 });
    // Add shake listener
    this.shakeListener = await Shake.addListener('shake', () => {
    this.handleShake();
    });
    // Clean up on app pause
    App.addListener('pause', () => {
    Shake.stop();
    });
    // Resume on app resume
    App.addListener('resume', () => {
    Shake.start({ threshold: 4.0 });
    });
    }
    private handleShake() {
    console.log('Shake detected!');
    // Show debug menu, refresh data, or trigger any action
    }
    async cleanup() {
    if (this.shakeListener) {
    this.shakeListener.remove();
    }
    await Shake.stop();
    }
    }

Inizia ad ascoltare i gesti di scuotimento.

Parametri:

  • options (opzionale): oggetto di configurazione
    • threshold: numero - Soglia di sensibilità (impostazione predefinita: 3,5)

Smetti di ascoltare i gesti di agitazione.

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

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

Aggiungi un ascoltatore per gli eventi shake.

Restituisce: Promessa con un handle per rimuovere l’ascoltatore

interface ShakeOptions {
threshold?: number; // Shake sensitivity threshold
}
  • Utilizza l’accelerometro del dispositivo per rilevare i movimenti di vibrazione
  • Funziona sia in primo piano che in background (se l’app dispone delle autorizzazioni in background)
  • Utilizza SensorManager per rilevare eventi di scuotimento
  • Non richiede autorizzazioni speciali
  • Funziona quando l’app è in primo piano
  1. Menu Debug: mostra le opzioni sviluppatore quando il dispositivo viene scosso
  2. Feedback: attiva il modulo di feedback o la segnalazione di bug
  3. Aggiorna: aggiorna i dati dell’app o svuota la cache
  4. Giochi: utilizza lo scuotimento come meccanismo di controllo del gioco
  5. Annulla: implementa la funzionalità agita per annullare

Scuotimento non rilevato:

  • Assicurati che il plugin sia avviato con Shake.start()
  • Prova a regolare il valore di soglia (più basso = più sensibile)
  • Verificare che gli ascoltatori siano registrati correttamente

Troppo sensibile/non abbastanza sensibile:

  • Modifica il parametro threshold nelle opzioni start()
  • I valori variano tipicamente da 2,0 (molto sensibile) a 5,0 (meno sensibile)