Почему синхронизация с firestore не работает, когда вы закрываете приложение? - PullRequest
0 голосов
/ 03 ноября 2019

Каждый раз, когда я вношу информацию о банке, мне нужно проверить, правильно ли указано имя, потому что я хочу, чтобы эта функция работала в автономном режиме, чтобы в банке не было несоответствий. Поскольку приведенный ниже код работает так, как я хочу. но только в одной ситуации происходит сбой синхронизации, когда я нажимаю кнопку возврата приложения, пока она не закроется. Поэтому, когда я включаю интернет, данные не синхронизируются.

  Firestore.instance
      .collection('Regiao')
      .where('idRegiao', isEqualTo: idRegiao)
      .snapshots()
      .listen((data){
        data.documents.forEach((doc) {

          Firestore.instance
            .collection('CadernoCampoDefensivo')
            .document(idCadernoCampo)
            .updateData({'regiao' : doc['nomeRegiao']})
            .then((_){});


        });
  });

1 Ответ

0 голосов
/ 03 ноября 2019

Код в вашем приложении запускается только тогда, когда пользователь активно использует ваше приложение. Это работает, как и ожидалось, так как в противном случае любое приложение может делать все, что хочет, когда приложение не активно, и срок службы батареи может пострадать.

Если этот код необходимо запустить в одном месте, чтобы ответить на другиеПользователи, которые обновляют данные, затем в вашем телефоне, как правило, не лучшее место для этого. Вместо этого рассмотрите возможность запуска этого на сервере, которым вы управляете, или в Облачные функции для Firebase . Они решают проблему как возможности подключения (они гораздо чаще подключаются к сети, чем телефон), так и срока службы батареи (поскольку они подключены к источнику питания).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...