Я тестирую Android 15 на устройстве Pixel.
Вот что я сделал:
- Я закрыл свое приложение и удалил его из списка недавних.
- Отправил тестовое уведомление с консоли Firebase с заголовком, текстом и текстом уведомления данные.
- Уведомление приходит на панель задач. Я не открывал его.
- Вызывается функция main() Flutter, которая вызывает мою функцию runApp().
Вот моя функция main():
Код: Выделить всё
void main() async {
try {
print("Entered main()");
print("FLUTTER LOG: MAIN UI ISOLATE STARTED. Starting App.");
WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
print("main() -> WidgetsBinding ensureInitialized");
FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
print("main() -> FlutterNativeSplash.preserve");
// SDKs and services initialized here..
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
print("main() -> calling runApp(...)");
runApp(const KApp());
} catch (error, stackTrace) {
print("main() -> error:$error");
runApp(KFallbackApp(error: error, stackTrace: stackTrace));
}
}
Код: Выделить всё
@pragma('vm:entry-point')
Future _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
// https://firebase.google.com/docs/cloud-messaging/flutter/receive#apple_platforms_and_android
print("FLUTTER LOG: BACKGROUND HANDLER ISOLATE STARTED");
try {
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// TODO: handle background firebase message
} catch (error, stacktrace) {
// print("Firebase Messaging error: $error");
}
}
Код: Выделить всё
I Entered main()
I FLUTTER LOG: MAIN UI ISOLATE STARTED. Starting App.
I FLUTTER LOG: BACKGROUND HANDLER ISOLATE STARTED
I main() -> WidgetsBinding ensureInitialized
I main() -> FlutterNativeSplash.preserve
I main() -> calling runApp(...)
Это нормально?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ebase-noti
Мобильная версия