Flutter Firebase集成插件ap_common_firebase的使用

Flutter Firebase集成插件ap_common_firebase的使用

校務通系列 Firebase 共用

基于应用校务通系列使用到 Firebase 的功能制作的函数库。


套件使用要求

  • Flutter: v3.10 以上

Firebase 支援列表

以下为支持的 Firebase 插件及其平台兼容性:

名称 Android iOS MacOS Web
firebase_core ✔️ ✔️ ✔️ ✔️
firebase_analytics ✔️ ✔️ ✔️ ✔️
firebase_crashlytics ✔️ ✔️
firebase_messaging ✔️ ✔️ ✔️ ✔️
firebase_remote_config ✔️ ✔️ ✔️ ✔️
firebase_performance ✔️ ✔️ ✔️

Getting Started

1. 在 pubspec.yaml 中加入 package

dependencies:
  ap_common_firebase: ^0.15.0

执行添加依赖:

$ flutter pub get

2. 初始化 Firebase

首先,确保已经在 Firebase 控制台创建了项目,并下载了 google-services.json(Android)或 GoogleService-Info.plist(iOS)。然后将其分别放入对应的项目目录中:

  • Android: android/app/google-services.json
  • iOS: ios/Runner/GoogleService-Info.plist

接下来,在 Flutter 应用的主入口文件中初始化 Firebase。例如:

import 'package:flutter/material.dart';
import 'package:ap_common_firebase/ap_common_firebase.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized(); // 确保 Flutter 绑定初始化完成
  await ApCommonFirebase.initializeApp(); // 初始化 Firebase
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomePage(),
    );
  }
}

示例代码:使用 Firebase Analytics

以下是一个简单的示例,展示如何使用 firebase_analytics 插件记录用户事件。

import 'package:flutter/material.dart';
import 'package:ap_common_firebase/analytics/firebase_analytics.dart';

class HomePage extends StatefulWidget {
  [@override](/user/override)
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  final FirebaseAnalytics analytics = FirebaseAnalytics();

  void _logEvent(String eventName) {
    analytics.logEvent(name: eventName);
    print('已记录事件: $eventName');
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Firebase Analytics 示例')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () => _logEvent('login_event'),
              child: Text('记录登录事件'),
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: () => _logEvent('purchase_event'),
              child: Text('记录购买事件'),
            ),
          ],
        ),
      ),
    );
  }
}

示例代码:使用 Firebase Messaging

以下是一个简单的示例,展示如何接收 Firebase 推送通知。

import 'package:flutter/material.dart';
import 'package:ap_common_firebase/messaging/firebase_messaging.dart';

class NotificationPage extends StatefulWidget {
  [@override](/user/override)
  _NotificationPageState createState() => _NotificationPageState();
}

class _NotificationPageState extends State<NotificationPage> {
  late FirebaseMessaging messaging;

  [@override](/user/override)
  void initState() {
    super.initState();
    messaging = FirebaseMessaging();
    _setupNotifications();
  }

  void _setupNotifications() async {
    // 请求通知权限
    await messaging.requestPermission();

    // 监听消息
    messaging.onMessage.listen((RemoteMessage message) {
      print('收到推送消息: ${message.data}');
      showDialog(
        context: context,
        builder: (context) => AlertDialog(
          title: Text('推送通知'),
          content: Text(message.notification?.body ?? ''),
        ),
      );
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text('Firebase Messaging 示例')),
      body: Center(
        child: Text('等待推送消息...'),
      ),
    );
  }
}

更多关于Flutter Firebase集成插件ap_common_firebase的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter Firebase集成插件ap_common_firebase的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


ap_common_firebase 是一个用于 Flutter 应用的插件,它简化了与 Firebase 的集成,并提供了一些常见的 Firebase 功能。以下是如何在 Flutter 项目中使用 ap_common_firebase 插件的步骤。

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 ap_common_firebase 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  ap_common_firebase: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 配置 Firebase

在 Firebase 控制台中创建一个新的项目(如果还没有),然后为你的 Flutter 应用设置 Firebase。

Android 配置

  1. 在 Firebase 控制台中,下载 google-services.json 文件。
  2. google-services.json 文件放置在 android/app 目录下。
  3. android/build.gradle 文件中添加以下内容:
buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.3.10'  // 使用最新版本
    }
}
  1. android/app/build.gradle 文件中添加以下内容:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

iOS 配置

  1. 在 Firebase 控制台中,下载 GoogleService-Info.plist 文件。
  2. GoogleService-Info.plist 文件放置在 ios/Runner 目录下。
  3. ios/Podfile 文件中添加以下内容:
platform :ios, '10.0'

target 'Runner' do
  use_frameworks!
  # Pods for Runner
  pod 'Firebase/Core'
end
  1. 运行 pod install 来安装依赖。

3. 初始化 Firebase

main.dart 文件中初始化 Firebase:

import 'package:flutter/material.dart';
import 'package:ap_common_firebase/ap_common_firebase.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await ApCommonFirebase.initialize();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Firebase Demo'),
      ),
      body: Center(
        child: Text('Hello, Firebase!'),
      ),
    );
  }
}

4. 使用 Firebase 功能

ap_common_firebase 插件可能提供了一些常见的 Firebase 功能,例如分析、消息推送等。你可以根据插件的文档来使用这些功能。

例如,如果你想要记录一个事件到 Firebase Analytics:

ApCommonFirebase.logEvent(name: 'button_click', parameters: {'button_id': 'login_button'});

5. 运行应用

确保你已经正确配置了 Firebase,并且所有依赖都已安装。然后运行你的 Flutter 应用:

flutter run
回到顶部