флаттер Firebase Messaging и sqflite - PullRequest
       15

флаттер Firebase Messaging и sqflite

0 голосов
/ 05 апреля 2019

Я пытаюсь отправить сообщение с моего сайта пользователям с Firebase и сохранить сообщение на пользовательском устройстве с помощью плагина sqflite.

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

edit:

После установки click_action для уведомления,Нажатие на данные уведомления будет сохранено, но если пользователь отклонит потерянные данные уведомления.

код

final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();

@override
void initState() {
    prepareFirebaseCloudMessaging();
    super.initState();
 }
void prepareFirebaseCloudMessaging() {
    if (Platform.isIOS) IOSPermission();
    _firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        notificationDataHandler(message);
      },
      onResume: (Map<String, dynamic> message) async {
        notificationDataHandler(message);
      },
      onLaunch: (Map<String, dynamic> message) async {
        notificationDataHandler(message);
      },
    );
  }

void notificationDataHandler(Map<String, dynamic> message) async {
    try {
    var databasesPath = await getDatabasesPath();
    String path = join(databasesPath, 'MY_DATABASE_FILE.db');
    Database database = await openDatabase(path, version: 1,
        onCreate: (Database db, int version) async {
      await db.execute(
          'CREATE TABLE Messages (id INTEGER PRIMARY KEY, message TEXT, date TEXT, seen INTEGER)');
    });
    Message messageStore = Message(
        null, message["data"]["message"], message["data"]["date"], false);
      await database.insert("Messages", messageStore.toMap());
    database.close();
    }catch(e){
      debugPrint(e.toString());
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...