fcm_channels_manager 是一个 Flutter 包,用于在 Android 中创建和管理通知。

功能

1. 该插件为 Android 提供了管理通知渠道的 API。

支持 Android 8.0 (API 级别 26) 及以上版本。更多信息,请访问 创建和管理通知渠道

  • 创建新渠道
  • 获取所有已注册的渠道
  • 删除一个渠道

2. 在 iOS 中提供应用通知设置

一个指示系统应显示应用内通知设置按钮的选项。支持 iOS 12.0 及以上版本

/example/notification_settings.png

安装

在您的 flutter 项目的 pubspec.yaml 文件中,添加以下依赖项

dependencies:
  fcm_channels_manager: <latest_version>

在您的库中添加以下导入

import 'package:fcm_channels_manager/fcm_channels_manager.dart';

用法

1. 创建新渠道

如果渠道注册成功,则返回成功消息。

final result =  await FcmChannelsManager().registerChannel(
        id: "1001",
        name: "Feedback notification",
        description: "Receive new feedback and system's notification",
        importance: NotificationImportance.importanceHight,
        visibility: NotificationVisibility.public,
        bubbles: true,
        vibration: true,
        sound: true,
        badge: true,
      );
  • 通知重要性级别
插件值 Android 参考
NotificationImportance.disabled IMPORTANCE_NONE
NotificationImportance.importanceMin IMPORTANCE_MIN
NotificationImportance.importanceLow IMPORTANCE_LOW
NotificationImportance.importanceDefault IMPORTANCE_DEFAULT
NotificationImportance.importanceHight IMPORTANCE_HIGH
  • 通知可见性
插件值 描述
NotificationVisibility.public 在所有锁屏上完全显示此通知
NotificationVisibility.private 在所有锁屏上显示此通知,但隐藏安全锁屏上的敏感或私人信息
NotificationVisibility.secret 在安全锁屏上不显示此通知的任何部分

2. 获取所有已注册的渠道

您可以获取所有已注册的渠道以及该渠道的基础信息:idnamedescriptionimportance。您可以检查重要性级别,然后处理您的业务。

final channesl = await FcmChannelsManager().getChannels();

3. 删除一个渠道

通过渠道 ID 删除已注册的渠道。如果渠道已删除,则返回成功消息。

final result = await FcmChannelsManager().unregisterChannel('1001')

4. 提供应用通知设置

如果成功更新 .providesAppNotificationSettings,则返回 true。该函数应在调用 firebase_messaging 请求通知权限后调用。

FcmChannelsManager()
  .providesAppNotificationSettings()
  .then((value) => log('Permission status: $value'));

示例

遵循示例:/example

演示

/example/demo_channels.gif

贡献

欢迎您为本项目做出贡献。

如果您发现错误或想要一项功能,但不知道如何修复/实现,请提交一个 issue。如果您修复了错误或实现了一项功能,请发送一个 pull request。

GitHub

查看 Github