Fiche 11.04
Fiche 11.04 — Firestore temps réel avec listeners
Objectif
Comprendre comment écouter les changements Firestore en temps réel avec un listener.
C’est utile pour un chat, un feed live, des notifications internes ou une liste collaborative.
1. Requête classique vs listener
Requête classique :
Texte
Listener :
Texte
2. Ajouter un listener
Swift
ListenerRegistration permet d’arrêter l’écoute.
3. Utilisation dans un ViewModel
Swift
Comme le callback peut arriver hors du main thread, on repasse sur MainActor pour mettre à jour l’UI.
4. Vue SwiftUI
Swift
5. Attention aux coûts
Un listener peut rester actif longtemps.
À surveiller :
- listeners inutiles ;
- listeners sur de grosses collections ;
- absence de filtres ;
- écoute active sur un écran qui n’est plus visible ;
- règles de sécurité mal configurées.
6. Filtrer un listener
Swift
Filtrer réduit les données chargées et rend l’app plus propre.
Résumé
- Un listener Firestore écoute les changements en temps réel.
- Il faut conserver le
ListenerRegistration. - Il faut appeler
remove()quand l’écoute n’est plus nécessaire. - Les callbacks doivent mettre à jour l’UI sur le main thread.
- Les listeners doivent être filtrés et utilisés avec prudence.