Как отправить данные о местоположении в базу данных Firestore, когда приложение убито во FLUTTER - PullRequest
0 голосов
/ 20 апреля 2020

Я пытался создать приложение во флаттере, которое отправляет данные о местоположении пользователя в базу данных Firestore, ДАЖЕ КОГДА УБИВАЕТСЯ ПРИЛОЖЕНИЕ.

Этот плагин хорошо работает для получения данных о местоположении, когда приложение убит: https://github.com/rekab-app/background_locator

Проблема в том, что я не могу обновить значения базы данных Firestore в функции 'callback' этого плагина

Вот мой код :

static void callback(LocationDto locationDto) async {
    print('location in dart: ${locationDto.toString()}');
    final SendPort send = IsolateNameServer.lookupPortByName(_isolateName);
    send?.send(locationDto);
    await DatabaseService(uid:UID).updateUserLocation(
            (locationDto.latitude).toString(),
            (locationDto.longitude).toString());

  } 

Метод DatabaseService.updateUserLocation:

 Future updateUserLocation(String latitude,String longitude) async
  {
    return await location_collection.document(uid).setData({
      'Longitude':longitude,
      'Latitude':latitude
    });
  }

Ошибка при отправке locationDto в базу данных FireStore. Точная ошибка:

[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method DocumentReference#setData on channel plugins.flutter.io/cloud_firestore)

Это относится к функции setData () в методе updateUserLocation.

Как отправить данные о местоположении пользователя в мою базу данных Firestore, ДАЖЕ, КОГДА ПРИЛОЖЕНО УБРАНО?

Было бы здорово, если кто-то может помочь мне в этом !!!

Спасибо!

...