Единственный технический вопрос, который я вижу здесь, связан с тем, как работают пакетные записи, и, что более важно, с затратами. Проще говоря, пакетная запись 100 записей - это то же самое, что запись 100 записей по отдельности. Эта функция не способ избежать затрат на запись в Firestore. То же самое касается транзакций. То же самое для редактирования документа (это запись). Если вы действительно хотите избежать этих затрат, вы можете сохранить значения в течение тридцати минут и позволить клиенту отправлять агрегированные данные в одном документе. Хотя вы упомянули, что вам нужны данные, чтобы быть незамедлительным, поэтому я не уверен, что это вариант для вас. Конечно, это будет зависеть от того, что интерпретируется как «немедленный» как основанный на относительном временном интервале. По моему мнению , (я знаю, что это не разрешено здесь, но это своего рода вопрос), если данные хранятся в течение месяцев / лет, 30 минут - это довольно быстро. В любом случае, пакетные записи не совсем то решение, которое, я думаю, вы ищете.
РЕДАКТИРОВАТЬ: Вы обновили свой вопрос, поэтому я обновлю свой ответ. Вы можете создать локальную кеш-систему и выбрать способ ее обновления. Это полностью зависит от вас и вашего собственного кода. Пишет не совсем автоматически. Поэтому, если вы хотите отправлять только пакет данных каждый час, вы должны отправить его в это время. Вы, вероятно, захотите сделать это в транзакции, если несколько устройств будут записывать в один поток, чтобы одно не перезаписывало другое, если они отправляют одновременно. Кроме этого, я не вижу, чтобы пожарный магазин был проблемой для вас.