Saltar al contenido

Comenzando

  1. Instalar el paquete

    Ventana de terminal
    npm i @Capgo/Capacitor-shake
  2. Sincronizar con proyectos nativos

    Ventana de terminal
    npx cap sync
  3. Configurar el Plugin

    Ejemplo de Uso Básico:

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

    Configuración de Sensibilidad:

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

    No se requiere configuración adicional para iOS.

  4. Dejar de escuchar agitaciones

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

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

Comienza a escuchar gestos de agitación.

Parámetros:

  • options (opcional): Objeto de configuración
    • threshold: number - Umbral de sensibilidad (predeterminado: 3.5)

Detiene la escucha de gestos de agitación.

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

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

Agrega un escuchador para eventos de agitación.

Devuelve: Promise con un manejador para eliminar el escuchador

interface ShakeOptions {
threshold?: number; // Shake sensitivity threshold
}
  • Usa el acelerómetro del dispositivo para detectar gestos de agitación
  • Funciona tanto en primer plano como en segundo plano (si la aplicación tiene permisos de segundo plano)
  • Usa el SensorManager para detectar eventos de agitación
  • No requiere permisos especiales
  • Funciona cuando la aplicación está en primer plano
  1. Menú de Depuración: Mostrar opciones de desarrollador cuando se agita el dispositivo
  2. Retroalimentación: Activar formulario de retroalimentación o reporte de errores
  3. Actualizar: Actualizar datos de la aplicación o limpiar caché
  4. Juegos: Usar la agitación como mecanismo de control en juegos
  5. Deshacer: Implementar funcionalidad de deshacer con agitación

Agitación no detectada:

  • Asegúrate de que el Plugin esté iniciado con Shake.start()
  • Intenta ajustar el valor del umbral (menor = más sensible)
  • Verifica que los escuchadores estén correctamente registrados

Demasiado sensible/no lo suficientemente sensible:

  • Ajusta el parámetro threshold en las opciones de start()
  • Los valores típicamente varían desde 2.0 (muy sensible) hasta 5.0 (menos sensible)