Estoy creando una pequeña aplicación de chat con expo, conectada a Firestore. Aquí está el código para obtener los datos del chat:
useEffect(() => { console.log("Loading snapShots on firebase"); const unsubscribe = db.collection('chats').onSnapshot(snapshot => ( setChats(snapshot.docs.map(doc => ({ id: doc.id, data: doc.data() }))) )) setTimeout(()=>{ unsubscribe(); }, 1000); }, [])Este código normalmente, si seguí correctamente la documentación, se supone que cierra el oyente de instantáneas después de un segundo. Si es así, sigo recibiendo un mensaje [FirebaseError: Quota excedido.] y mi aplicación es muy pequeña, los datos también.
Las cuotas de Firebase se restablecen todos los días a la medianoche (hora del Pacífico). Según tu zona horaria, puede diferir. Si se encuentra en Europa, en realidad puede ser a la mitad del día. Entonces, si alcanza la limitación diaria, no hay nada que pueda hacer, solo espere hasta el día "siguiente". O puede actualizar al Plan Spark .
Pero recuerde, una vez que reciba el mensaje de cuota excedida, no se podrá acceder a su proyecto hasta que se restablezcan las cuotas.
Como también mencionó @Dharmaraj en su comentario, también podría considerar usar una llamada get() y no escuchar los cambios en tiempo real. De esta manera, adjuntas un oyente que se descuenta automáticamente una vez que obtienes los datos.
Recuerde también no mantener abierta su consola Firebase, ya que se considera otro cliente de Firestore que lee datos. Por lo tanto, también se le facturará por las lecturas que provienen de la consola.