搜索插件、代码仓与 APP 分类

插件详情v1.3.6

flutter_fcm

Firebase Cloud Messaging (FCM) 的 Flutter 插件,一种跨平台消息传递解决方案,可让您可靠地在 Android 和 iOS 上发送消息。

AndroidiOSmacOS
近 30 天下载
177
喜欢数
41
Pub 分数
140

安装插件

flutter pub add flutter_fcm

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Flutter FCM 是一个 Flutter 插件,可使用 Firebase Cloud Messaging (FCM) 在 Android、iOS 和 macOS 上实现跨平台推送通知。它允许开发者可靠地向用户设备发送消息,包括通知和数据负载。该插件通过提供简单直接的 API 来处理令牌管理、消息接收和后台处理,简化了与 FCM 的集成。它支持前台和后台消息传递,非常适合实时应用更新和用户互动。专为 Firebase 设计,便于使用,可简化跨平台推送通知的设置和管理。

适合场景

  • 发送实时通知
  • 通过推送提醒提高用户参与度
  • 背景消息处理
  • 应用状态同步
  • 远程配置更新

主要特点

  • 跨平台支持(Android、iOS、macOS)
  • 令牌管理工具
  • 前景和背景消息处理
  • 用于消息接收的简单 API
  • 与 Firebase 控制台集成

适合对象

  • 需要推送通知的应用
  • 实时消息功能
  • 集成 Firebase 的项目
  • 面向多个平台的移动应用
  • 用户参与活动

使用建议

  • 需要 Firebase 项目设置
  • 每个平台都需要适当的权限
  • iOS 上的后台执行限制
  • 取决于 FCM 服务器的可用性
  • 某些平台上的通知显示需要手动处理

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Firebase Messaging Plugin for Flutter

A Flutter plugin to use the Firebase Cloud Messaging API.

To learn more about Firebase Cloud Messaging, please visit the Firebase website

Getting Started

To get started with Firebase Cloud Messaging for Flutter, please see the documentation.

Why flutter_fcm?

  • 🚀 Easy to use
  • ❤ Supports local notification
  • 🛡️ Null safety
  • ⚡ On notification Received/Pressed works in all states: foreground,background and even when app is closed(not running)

Getting Started

To get started with Firebase Cloud Messaging for Flutter, see Android Installation. and iOS Installation.

Usage

The easiest way to use this library is via the top-level functions.


import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter_fcm/flutter_fcm.dart';

class Messaging {
  static String? token;

  static deleteToken() {
    Messaging.token = null;
    FCM.deleteRefreshToken();
  }
  static subscribeToTopic(String topic) {
    FCM.subscribeToTopic(topic);
  }
  static unsubscribeFromTopic(String topic) {
    FCM.unsubscribeFromTopic(topic);
  }

  @pragma('vm:entry-point')
  static Future<void> onNotificationReceived(RemoteMessage message) async {
    await Firebase.initializeApp();
    //print('Handling a message ${message}');

  }

  @pragma('vm:entry-point')
  static initFCM() async {
    try {
      await Firebase.initializeApp(
          options: DefaultFirebaseOptions.currentPlatform
      );
      await FCM.initializeFCM(
        withLocalNotification: true,
        // navigatorKey: Keys.navigatorKey,
        onNotificationReceived: onNotificationReceived,
        onNotificationPressed: (Map<String, dynamic> data) {

        },
        onTokenChanged: (String? token) {
          if (token != null) {
            //print('FCM token  $token');
            Messaging.token = token;


          }
        },
        // TODO add this icon to android/app/src/main/res/drawable/ic_launcher.png
        icon: 'ic_launcher',
      );
    } catch (e) {
      print(e);
    }
  }
}

所属分类

依赖

源码仓库

使用此插件的项目

暂无相关数据。