Iniziare
-
Installa il pacchetto
Terminal window npm i @capgo/capacitor-shakeTerminal window pnpm add @capgo/capacitor-shakeTerminal window yarn add @capgo/capacitor-shakeTerminal window bun add @capgo/capacitor-shake -
Sincronizzazione con progetti nativi
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync -
Configura il plugin
Esempio di utilizzo di base:
import { Shake } from '@capgo/capacitor-shake';// Start listening for shake gesturesawait Shake.start();// Listen for shake eventsShake.addListener('shake', () => {console.log('Device was shaken!');// Perform your action here});Configurazione sensibilità:
// Configure shake sensitivityawait Shake.start({threshold: 3.5 // Adjust sensitivity (default: 3.5)});Non è richiesta alcuna configurazione aggiuntiva per iOS.
Non è richiesta alcuna configurazione aggiuntiva per Android.
-
Smetti di ascoltare i frullati
// Stop shake detection when not neededawait Shake.stop();// Remove specific listenerconst handle = await Shake.addListener('shake', () => {console.log('Shaken!');});handle.remove(); -
Esempio di implementazione
import { Shake } from '@capgo/capacitor-shake';import { App } from '@capacitor/app';export class ShakeService {private shakeListener: any;async initialize() {// Start shake detectionawait Shake.start({ threshold: 4.0 });// Add shake listenerthis.shakeListener = await Shake.addListener('shake', () => {this.handleShake();});// Clean up on app pauseApp.addListener('pause', () => {Shake.stop();});// Resume on app resumeApp.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();}}
API Riferimento
Section titled “API Riferimento”Metodi
Section titled “Metodi”start(options?: ShakeOptions)
Section titled “start(options?: ShakeOptions)”Inizia ad ascoltare i gesti di scuotimento.
Parametri:
options(opzionale): oggetto di configurazionethreshold: numero - Soglia di sensibilità (impostazione predefinita: 3,5)
stop()
Section titled “stop()”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
Interfacce
Section titled “Interfacce”interface ShakeOptions { threshold?: number; // Shake sensitivity threshold}Note sulla piattaforma
Section titled “Note sulla piattaforma”- 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)
Android
Section titled “Android”- Utilizza SensorManager per rilevare eventi di scuotimento
- Non richiede autorizzazioni speciali
- Funziona quando l’app è in primo piano
Casi d’uso comuni
Section titled “Casi d’uso comuni”- Menu Debug: mostra le opzioni sviluppatore quando il dispositivo viene scosso
- Feedback: attiva il modulo di feedback o la segnalazione di bug
- Aggiorna: aggiorna i dati dell’app o svuota la cache
- Giochi: utilizza lo scuotimento come meccanismo di controllo del gioco
- Annulla: implementa la funzionalità agita per annullare
Risoluzione dei problemi
Section titled “Risoluzione dei problemi”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
thresholdnelle opzionistart() - I valori variano tipicamente da 2,0 (molto sensibile) a 5,0 (meno sensibile)