You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 15:45:59