步骤1: 先去新建一个项目
https://console.firebase.google.com/
步骤2: 安装cli插件。
2.1 dart pub global activate flutterfire_cli
如果出现错误:
Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path.
执行:
exportPATH="$PATH":"$HOME/.pub-cache/bin”
然后重新执行
dart pub global activate flutterfire_cli
2.2 自动安装脚本 运行curl -sL https://firebase.tools | upgrade=true bash
输入mac密码
2.3 安装完成后 执行firebase login:ci
2.4 执行 flutterfire configure --project=你的google firebase专属项目ID (步骤一完成后可以找到)
执行完成后去google firebase控制台就可以看到新建的2个应用,1个安卓,1个iOS.
iOS的话要添加推送证书,同时xcode上把推送的2个选项选上.(Background fetch,Remote notification).
tip: 可能会出现的问题记录
1.Firebase project id "" could not be found on this Firebase account.
在 Firebase CLI 中运行此命令:firebase logout
重新登录:firebase login
再次在 Firebase CLI 中运行此命令flutterfire configure
步骤三
在项目pubspec.yaml添加第三方库
firebase_messaging: ^ 11.4.0 #gooegle 推送
步骤四
环境配置完了就开始调用。
在main.dart 添加代码
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
//初始化firebase
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform,);
//要加上推送权限请求不然iOS不行
FirebaseMessaging messaging =FirebaseMessaging.instance;
NotificationSettings settings =await messaging.requestPermission(
alert:true,
announcement:false,
badge:true,
carPlay:false,
criticalAlert:false,
provisional:false,
sound:true,
);
//获取推送fcm token
String fcmToken =await FirebaseMessaging.instance.getToken();
//后台收到消息
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
Future_firebaseMessagingBackgroundHandler(RemoteMessage message)async {
await Firebase.initializeApp(options:DefaultFirebaseOptions.currentPlatform);
print('在后台收到消息 ${message.messageId}');
}
//前台收到消息
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
print('在前台收到消息 = ${message.notification.title}');
});