Как связать firebase_messaging с mysql в flutter

#flutter

#flutter

Вопрос:

Я работаю над проектом, который содержит базу данных mysql. В этой базе данных у меня есть таблица с именем Comments .Я пытаюсь отправить push-уведомление firebase, если какой-либо пользователь добавит новый комментарий в эту таблицу.Например, если пользователь A добавит новый комментарий по теме пользователя B, пользователь B получит push-уведомление.Я новый разработчик flutter, поэтому у меня мало опыта.

Что я сделал до сих пор, так это следующее: я успешно подключил firebase к своему проекту и теперь могу отправлять уведомления в приложение через консоль firebase.Я также пишу код для получения токеновых устройств.

 
import 'package:flutter/material.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);



  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
  @override
  void initState() {
    super.initState();

    _firebaseMessaging.getToken().then((token){
      print(token);
    });

    notification();

    }

  notification(){
    _firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        print("onMessage: $message");

      },

      onLaunch: (Map<String, dynamic> message) async {
        print("onLaunch: $message");

      },
      onResume: (Map<String, dynamic> message) async {
        print("onResume: $message");

      },
    );
  }



  @override
  Widget build(BuildContext context) {

    return Scaffold(
      appBar: AppBar(

        title: Text(widget.title),
      ),
      body: Center(

        child: Column(

          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed the button this many times:',
            ),

          ],
        ),
      ),

    );
  }
}


  

Но теперь, каковы шаги по связыванию базы данных с firebase?чтобы получать предупреждения пользователя, если какие-либо изменения добавляются в таблицу комментариев в mysql.
Я надеюсь, что тот, кто знает этот метод, поможет мне, потому что я не нашел никаких объяснений по этому поводу после долгих поисков

Ответ №1:

Сообщение отправляется не мобильным телефоном, а сервером firebase. Вы должны сохранять токены каждой установки вашего приложения и создавать API, который сохраняет данные в таблице комментариев и после сохранения отправляет пользователю с определенным токеном уведомление. Вы должны использовать firebase api и отправить сообщение. Посмотрите на это https://firebase.google.com/docs/cloud-messaging/send-message .