Flutter google firebase推送

步骤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}');

});

你可能感兴趣的:(Flutter google firebase推送)