Flutter 是一个开源的 UI 软件开发工具包,用于构建跨平台的应用程序,包括 Android 和 iOS。Firebase 是 Google 提供的一套后端即服务(BaaS)解决方案,提供了包括实时数据库、认证、云存储、消息传递等服务。
Firebase 消息传递(Firebase Cloud Messaging, FCM)是 Firebase 提供的一种服务,允许开发者向移动设备发送通知和数据消息。onLaunch
是 Flutter 中的一个生命周期方法,它在应用启动时被调用,无论应用是从冷启动还是热启动。
onLaunch
触发器没有被触发?原因:
解决方法:
pubspec.yaml
文件中添加了 Firebase 相关依赖,并且在 Firebase 控制台中注册了应用。AndroidManifest.xml
和 Info.plist
文件中添加了必要的权限。import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Firebase FCM Example')),
body: Center(child: Text('Waiting for FCM...')),
),
);
}
}
class MyFirebaseMessagingService extends FirebaseMessagingService {
@override
void onLaunch(Map<String, dynamic> message) async {
print('onLaunch: $message');
// 处理 onLaunch 事件
}
@override
void onMessage(Map<String, dynamic> message) async {
print('onMessage: $message');
// 处理 onMessage 事件
}
@override
void onBackgroundMessage(Map<String, dynamic> message) async {
print('onBackgroundMessage: $message');
// 处理后台消息
}
}
领取专属 10元无门槛券
手把手带您无忧上云