Flutter集成Firebase FCM:仅收测试通知,普通通知无法送达
Flutter Firebase 推送通知异常:仅测试通知可送达Android设备
问题描述
我基于Flutter + Firebase开发应用,采用标准Firebase集成流程实现推送通知功能。初始配置阶段,测试通知与普通通知均能正常接收,但目前仅测试通知可送达Android设备,普通通知完全无法接收。
已执行的排查操作
- 更换项目中的
google-services.json文件 - 通过FlutterFire CLI重新完成Firebase项目与Flutter应用的关联配置
- 在Firebase控制台分别尝试发送主题通知、应用级定向通知
- 使用JavaScript调用Firebase Cloud Messaging API发送通知
- 查看Google Cloud平台的消息推送日志
集成代码示例
// 常规Firebase推送集成Dart代码 import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; // 后台消息处理回调 Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async { await Firebase.initializeApp(); debugPrint('处理后台推送消息: ${message.messageId}'); } void main() async { WidgetsFlutterBinding.ensureInitialized(); // 初始化Firebase await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); // 注册后台消息处理器 FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler); // 监听前台推送消息 FirebaseMessaging.onMessage.listen((RemoteMessage message) { debugPrint('收到前台推送消息'); // 前台通知展示逻辑 if (message.notification != null) { // 处理通知内容 } }); runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Firebase Demo', home: Scaffold( appBar: AppBar(title: const Text('Firebase Push Test')), body: const Center(child: Text('Push Notification Test')), ), ); } }
补充材料
- 应用签名报告截图
- Firebase项目Android应用配置截图
- Android Studio签名配置截图
内容的提问来源于stack exchange,提问作者Oğuz Yeşil
相关产品推荐
相关产品推荐

