flutter开发Android应用集成Google推送

在开发应用国际版时需要集成Google的推送服务,下面详细介绍使用flutter开发Android应用时如何集成Google的推送服务。

一、创建Firebase项目配置文件

  1. 创建 Firebase 项目:
    • 在 Firebase 控制台中,点击“添加项目”。
    • 输入项目名称、选择国家/地区和 Google 分析选项,然后点击“创建项目”
  2. 在 Firebase 中注册您的应用:
    • 在 Firebase 控制台中,点击项目概览页面中心位置的 Android 图标或“添加应用”。
    • 输入您的应用的软件包名称(通常是 app/build.gradle 文件中的应用级 Gradle 文件)。
    • 可选:输入应用别名和调试签名证书 SHA-1。
    • 点击“注册应用”

不清楚的可以看官方参考文档

二、安装配置文件

下载配置文件google-services.json,并将文件放到你的项目工程的project_xxx/android/app/src目录下。

修改android/build.gradle文件,加入倚赖:

buildscript {

          dependencies {

                    // ... other dependencies

                   classpath 'com.google.gms:google-services:4.3.8'

         }

}

在android/app/build.gradle中加入如下行:

apply plugin: 'com.google.gms.google-services'

配置完成后,应用就可以自动读取firebase的配置了。

三、flutter代码

在pubspec.yaml中添加如下两行:

firebase_messaging: ^14.7.19
firebase_core: ^2.27.0

在main.dart的main()方法前加入如下行(一定要放在main()前面):

@pragma('vm:entry-point')
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  // If you're going to use other Firebase services in the background, such as Firestore,
  // make sure you call `initializeApp` before using other Firebase services.
  await Firebase.initializeApp();

  print("Handling a background message: ${message.messageId}");
}

在ruanApp中加入如下代码:

runApp async{
    WidgetsFlutterBinding.ensureInitialized();
    //一定要放在这行后面,否则编译会报错
    //初始化firbase sdk,这里不用填写参数,会自动读取google-services.json的内容
    await Firebase.initializeApp();
    //申请权限
    FirebaseMessaging messaging = FirebaseMessaging.instance;
    await messaging.requestPermission(
      alert: true,
      announcement: false,
      badge: true,
      carPlay: false,
      criticalAlert: false,
      provisional: false,
      sound: true,
    );
    //处理后台消息的回调方法
    FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
    //获取推送需要的Token
    final fcmToken = await FirebaseMessaging.instance.getToken();

编译运行,如果fcmToken 返回值说明客户端推送初始化成功了,现在就可以接收google的推送了。

四、测试推送

从 Firebase Console可以发送测试推送信息。

点击”制作首个宣传活动”

选择Firebase通知信息,然后点击创建。

填写标题和文字,然后点击“发送测试消息”。

在输入框中填入你程序里这一行:

final fcmToken = await FirebaseMessaging.instance.getToken();

获取到的fcmToken,然后点击+按钮,将token添加进去,然后点击“测试”,就会给你的手机发送一条推送消息。因为发送的是通知消息,需要应用退出才能收到。如果成功的收到了通知消息,恭喜你Google推送客户端集成成功。

Leave a Comment

Your email address will not be published. Required fields are marked *