firebase 当Flutter应用程序处于后台时,在发布模式下未收到通知

brccelvz  于 2022-11-30  发布在  Flutter
关注(0)|答案(1)|浏览(196)
void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await GetStorage.init();
  await Firebase.initializeApp();
  await PushNotificationsService().init();
  FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
  runApp(MyApp());
  setuplocator();
}

上面的代码是在主线程上设置的。现在的问题是应用程序在后台时没有收到通知。在前台它工作正常。但在后台它不工作。
但这一切都是在调试模式下发生的,而不是在发布模式下。该怎么办呢?

33qvvth1

33qvvth11#

@pragma('vm:entry-point')
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
// handle message
}

只需在above _firebaseMessagingBackgroundHandler方法上添加@pragma('vm:入口点')即可
我必须再次指出,这个问题只发生在发布版本和Android平台上(我已经在Android 13的模拟器和运行Android 12的三星设备上测试过了)在调试和配置文件模式下,应用会收到2个通知,一个来自原生Firebase Messaging,另一个来自Flutter后台处理程序的firebase_local_notifications,并且它应该在发布模式下也这样做(这在Python 3.0.5中是正确的),但是在Python 3.3.0中,它只显示了本机通知,没有flutter_local_notifications生成的任何跟踪。

相关问题