# #firebase #flutter #dart #push-notification
Вопрос:
Я настроил свое приложение flutter с помощью push-уведомлений, но я понятия не имею, для чего используется следующий код:
_initiateFcm() async {
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
}
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
await Firebase.initializeApp();
print('A bg message just showed up: ${message.messageId}');
}
Я не нахожу примера, где он используется для чего-либо другого, кроме инициализации приложения firebase… что уже происходит в моем main()
методе. Какова цель этого? Когда его следует использовать для чего?
У меня есть эти функции, где я фактически обрабатываю push-уведомления, которые получаю:
FirebaseMessaging.onMessage.listen((RemoteMessage message) {});
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {});
Но я onBackgroundMessage
ни для чего его не использую…
В документации говорится:
/// Set a message handler function which is called when the app is in the
/// background or terminated.
///
/// This provided handler must be a top-level function and cannot be
/// anonymous otherwise an [ArgumentError] will be thrown.
Но никто не использует этот метод ни для чего, где бы я ни проверял…
Ответ №1:
FirebaseMessaging.onBackgroundMessage()
Эта функция вызывается, когда ваши уведомления поступают, когда приложение не запущено (приложение находится в фоновом режиме).
Итак, если вы хотите что-то сделать при получении фонового уведомления, вы можете использовать эту функцию.
Вы можете использовать эту функцию для выполнения логики, такой как HTTP-запросы, операции ввода-вывода (обновление локального хранилища), взаимодействие с другими плагинами, когда вы получаете уведомление, пока приложение не запущено.
ПРИМЕЧАНИЕ: Невозможно обновить состояние приложения или выполнить какую-либо логику, влияющую на пользовательский интерфейс, с помощью этой функции (поскольку обработчик выполняется в своей собственной изоляции вне контекста ваших приложений).
Подробная информация