Commencer
-
Installez le package
Fenêtre de terminal npm i @capgo/capacitor-shakeFenêtre de terminal pnpm add @capgo/capacitor-shakeFenêtre de terminal yarn add @capgo/capacitor-shakeFenêtre de terminal bun add @capgo/capacitor-shake -
Synchronisation avec les projets natifs
Fenêtre de terminal npx cap syncFenêtre de terminal pnpm cap syncFenêtre de terminal yarn cap syncFenêtre de terminal bunx cap sync -
Configurez le plugin
Basic Usage Example:
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});Configuration de sensibilité :
// Configure shake sensitivityawait Shake.start({threshold: 3.5 // Adjust sensitivity (default: 3.5)});Aucune configuration supplémentaire requise pour iOS.
Aucune configuration supplémentaire requise pour Android.
-
Arrêtez d’écouter les secousses
// Stop shake detection when not neededawait Shake.stop();// Remove specific listenerconst handle = await Shake.addListener('shake', () => {console.log('Shaken!');});handle.remove(); -
Exemple de mise en œuvre
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 Référence
Section titled “API Référence”Methods
Section titled “Methods”start(options?: ShakeOptions)
Section titled “start(options?: ShakeOptions)”Commencez à écouter les gestes de secousse.
Paramètres :
options(facultatif) : Objet de configurationthreshold: numéro - Seuil de sensibilité (par défaut : 3,5)
stop()
Section titled “stop()”Arrêtez d’écouter les gestes de secousse.
addListener('shake', callback: () => void)
Section titled “addListener('shake', callback: () => void)”Ajoutez un écouteur pour les événements shake.
Retours : Promesse avec une poignée pour supprimer l’écouteur
Interfaces
Section titled “Interfaces”interface ShakeOptions { threshold?: number; // Shake sensitivity threshold}## Remarques sur la plate-forme
- Utilise l’accéléromètre de l’appareil pour détecter les gestes de secousse
- Fonctionne au premier plan et en arrière-plan (si l’application dispose d’autorisations en arrière-plan)
Android
Section titled “Android”- Utilise le SensorManager pour détecter les événements de secousse
- Ne nécessite aucune autorisation spéciale
- Fonctionne lorsque l’application est au premier plan
Cas d’utilisation courants
Section titled “Cas d’utilisation courants”- Menu Debug : Afficher les options du développeur lorsque l’appareil est secoué
- Feedback : Déclenchez un formulaire de commentaires ou un rapport de bug
- Actualiser : actualisez les données de l’application ou videz le cache
- Jeux : utilisez Shake comme mécanisme de contrôle du jeu
- Annuler : implémentez la fonctionnalité secouer pour annuler
Dépannage
Section titled “Dépannage”Shake not detected:
- Assurez-vous que le plugin est démarré avec
Shake.start() - Essayez d’ajuster la valeur seuil (inférieure = plus sensible)
- Vérifiez que les auditeurs sont correctement enregistrés
Trop sensible/pas assez sensible :
- Ajustez le paramètre
thresholddans les optionsstart() - Les valeurs vont généralement de 2,0 (très sensible) à 5,0 (moins sensible)