首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将来自fcm firebase的推送通知保存到hive db,在flutter的后台

开发中,可以通过以下步骤将来自FCM Firebase的推送通知保存到Hive数据库,并在Flutter的后台进行处理:

  1. 首先,确保你已经在Flutter项目中集成了Firebase Cloud Messaging (FCM)。可以参考Firebase官方文档来完成集成。
  2. 在Flutter项目中引入Hive数据库的依赖。可以在pubspec.yaml文件中添加以下依赖:
代码语言:txt
复制
dependencies:
  hive: ^2.0.0
  hive_flutter: ^1.1.0

然后运行flutter pub get命令来获取依赖。

  1. 创建Hive数据库模型类来表示推送通知的数据结构。例如,可以创建一个名为PushNotification的类:
代码语言:txt
复制
import 'package:hive/hive.dart';

part 'push_notification.g.dart';

@HiveType(typeId: 0)
class PushNotification extends HiveObject {
  @HiveField(0)
  late String title;

  @HiveField(1)
  late String body;

  @HiveField(2)
  late String imageUrl;
}
  1. 生成Hive适配器。运行以下命令来生成适配器:
代码语言:txt
复制
flutter packages pub run build_runner build

这将生成一个名为push_notification.g.dart的文件,其中包含自动生成的适配器代码。

  1. 初始化Hive数据库。在应用程序的入口文件中,添加以下代码来初始化Hive数据库:
代码语言:txt
复制
import 'package:flutter/material.dart';
import 'package:hive/hive.dart';
import 'package:hive_flutter/hive_flutter.dart';

void main() async {
  await Hive.initFlutter();
  Hive.registerAdapter(PushNotificationAdapter());
  await Hive.openBox<PushNotification>('push_notifications');

  runApp(MyApp());
}

这将初始化Hive并注册PushNotification适配器,并打开一个名为push_notifications的Hive盒子。

  1. 处理FCM推送通知。在Flutter项目中,可以使用firebase_messaging库来处理FCM推送通知。在适当的位置,添加以下代码来处理推送通知并将其保存到Hive数据库:
代码语言:txt
复制
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:hive/hive.dart';

final FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance;

void configureFirebaseMessaging() {
  _firebaseMessaging.requestPermission();
  _firebaseMessaging.getToken().then((token) {
    print('FCM Token: $token');
  });

  FirebaseMessaging.onMessage.listen((RemoteMessage message) {
    print('Received FCM message: ${message.notification?.title}');

    final pushNotification = PushNotification()
      ..title = message.notification?.title ?? ''
      ..body = message.notification?.body ?? ''
      ..imageUrl = message.notification?.imageUrl ?? '';

    final box = Hive.box<PushNotification>('push_notifications');
    box.add(pushNotification);
  });
}

这段代码将请求用户授权并获取FCM令牌,然后监听接收到的FCM消息,并将其保存到Hive数据库中。

  1. 在后台处理推送通知。在后台处理推送通知的逻辑可以根据具体需求进行实现。你可以在应用程序的其他部分访问Hive数据库中保存的推送通知数据,并根据需要进行处理。

这是一个基本的示例,演示了如何将来自FCM Firebase的推送通知保存到Hive数据库,并在Flutter的后台进行处理。根据具体需求,你可以进一步扩展和优化这个过程。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

集成推送那点事-友盟Mob-FlutterFCM

gradle 也就是 app 下 gradle 添加对此依赖: // 友盟推送 apply from: 'UMeng_Push.gradle' 1.2 初始化友盟推送并设置通知栏点击动作 Application...} 很多时候我们都希望,即使用户当前未使用 App,或者说当前 App 处于被杀死状态,后台推送消息依然想被前台接收。...3.3 FCM 消息处理 app build 中完善下依赖: // FCM implementation 'com.google.firebase:firebase-analytics:17.4.4...' // FCM Message 处理 implementation 'com.google.firebase:firebase-messaging:20.2.2' // FCM Message 后台处理...接入推送,不得不说 Mob 做贼优秀,直接 Flutter 插件搞起,大大方便了 Flutter 开发者,先比个小心心~ ❤️ 附上 Mob 插件地址: pub.dev/packages/mo…

11.2K41

Android P正式版即将到来:后台应用活、消息推送真正噩梦

题外话:实际上,对于后台消息推送能力,Android原版系统早就内置了系统级推送服务(跟iOS上APNs服务是一个东西),它就是GCM服务(现在升级为FCM了),但众所周之原因,谷哥服务国内都是用不了...(有关GCM介绍详见:《移动端IM实践:谷歌消息推送服务(GCM)研究(来自微信)》、《为何微信、QQ这样IM工具不使用GCM服务推送消息?》...,国内主流Android手机厂商阉割了谷歌原版GCM(FCM)推送通道之后(悲剧!)...如果您错误将没有与用户进行互动 FCM 消息设置为高优先级,这种标记不当行为可能会导致其他不良后果,比如:应用耗尽高优先级消息额度之后,系统会把真正紧急 FCM 消息当做“普通优先级”消息来处理...8、Andriod P电量管理特性2:后台限制 当系统监测到应用消耗过多资源时,系统会通知并询问用户是否需要限制该应用后台活动。

3.8K30

FCM---Android系统级推送---你还在用第三方推送

Messaging FCM是谷歌推出最新Android系统级别的消息推送服务(用来替换GCM)。...之前C2DM(Android Cloud to Device Messaging)已与2012年6月26日被正式弃用。 注:国内可接收FCM推送,但必须安装谷歌服务。具体操作请参考官方文档。...如果您希望在后台进行接收应用通知之外任何消息处理,则必须添加此服务。要在前台应用中接收通知、接收数据负载以及发送上游消息等,您必须扩展此服务。...hl=zh-cn#send-downstream demo http://www.jianshu.com/p/5d1982dd588b 注意 当firebase推送时候,是分当前应用在前后台两种情况...处理方式:在后台情况下你需要在应用主ActivityonCreate方法中调用getIntent.getExtra()方法才能拿到推送参数 server 端建置 Google

12.5K30

React Native推送通知:完整操作指南

主要有两种类型通知: 前台通知:当应用程序正在打开并运行时发送给用户通知 后台通知:无论应用程序是否当前打开,都会发送 推送通知移动应用开发世界中非常流行,原因有很多。...原生平台特定通知服务(FCM/APNs) Android和iOS平台都提供了用于接收推送通知原生平台特定API 适用于安卓设备Firebase云消息传递(FCM) 苹果推送通知服务(APNs)适用于...iOS设备 我们可以使用React Native Firebase库来Android上集成FCM,使用 push-notification-ios 库来iOS上集成APNs。...React Native Firebase 库也提供了一种通过 FCM iOS上发送推送通知方法。...可以从Node.js服务器通过 firebase-admin 和 node-apn 向注册移动设备发送远程通知 Expo推送通知和其他云服务 FCM 和 APNs 都是特定平台原生推送通知服务。

64210

Flutter应用集成极光推送实现示例

原生iOS开发中,为了简化消息推送,苹果推送服务(简称APNs)接管了系统所有应用消息通知需求,任何第三方消息推送都需要经过推送服务进行转发。...对于原生Android平台来说,则可以使Google提供类似Firebase云消息传递机制来实现统一推送托管服务。...具体来说,当某个应用需要发送消息推送时,消息会由应用服务器先发给苹果或Google消息推送服务器,然后经由APNs或FCM(Google消息推送框架)发送到设备,设备接收到消息后经过系统层面完成解析...由于第三方推送服务厂商提供功能和接入流程大都一致,考虑到极光社区和生态相对活跃,并且国内较早推出Flutter插件,所以我们可以Flutter项目中直接使用这个插件,下图是极光推送架构示意图...然后,极光开发者服务后台上传申请到推送证书,如下图所示。 ? 配制好证书后,运行 Flutter 项目于 iphone 手机上,如下图所示。 ?

2.7K20

Flutter 3.7 新特性:介绍后台isolate通道

社区多年来一直致力于使用插件来访问代码(非 Dart 实现),例如 path_provider 找到临时目录能力或 flutter_local_notifications 发布通知能力。...我帮助谷歌其他团队使用 Flutter 过程中,随着产品演进,最终会不可避免地遇到 root isolate 瓶颈。 因此,我们需要确保框架中优化,并为开发者提供工具使其必要时做更少事。...下面是后台 isolate 一个人为用例: 试想,一个应用程序可通过人工智能根据文本提示生成高分辨率图像。用户之前创作都被存储 Firebase Cloud 中,需求是用户可以用手机随时分享创作。...该 Flutter 应用启动时会开启一个后台 isolate 从 Firebase Cloud Store 下载 8K 文本提示相关图片,将图像压缩至指定规格大小导出,保存到相册,最后导出完成并发送通知...在此示例中,后台 isolate 至少使用了 3 个插件,一个用于从 Firebase Cloud Storage 中请求数据;接着保存到手机相册,保存完毕发送本地通知告诉用户。

4.1K40

使用 FCM 通知用户

本文将解释何时以及如何生成这些远程通知,以便为用户提供及时更新并尽量省电。 用 FCM 实现远程通知 我们推荐使用 Firebase 云消息 (FCM) 发送远程通知到 Android 设备。...数据消息,适用于客户端应用内处理 FCM 消息。 您可以把数据信息优先级设为高或普通。如需进一步了解 FCM 消息和消息处理,可参阅 Firebase 博客上这篇文章。...先发布一个通知 如果您需要发送远程通知,则应始终收到 FCM 消息后尽快发布通知。如果在发布通知前添加任何额外网络请求,都会导致发送给某些用户通知延迟。...应用 jobs 和 alarmas 可能被延迟,且访问网络功能可能被限制。 因此,为确保及时传递通知,应始终收到 FCM 消息后立即显示通知,然后再进行网络获取或调度任务等其他工作。...避免后台服务 常见错误是 FCM handler 中使用后台服务,因为根据 Google Play 政策近期变更 (自 2018 年末起,Google Play 将要求最低目标 API Level

3.4K30

uni-app 如何实现消息推送功能?

概述 产品介绍 UniPush是DCloud联合个推公司推出集成型统一推送服务,内建了苹果、华为、小米、OPPO、VIVO、魅族、谷歌 FCM 等手机厂商系统级推送和个推等第三方推送。...国内AndroidPush是一个混乱世界,因为GooglePush服务FCM 被墙(从HBuilderX2.7.10开始,支持谷歌FCM,参考: UniPush支持谷歌推送FCM配置指南),所以一些国内安卓手机厂商各自做了自己推送...三方独立公司如个推,则提供了独立 push 方案。 没有UniPush以前,如果只使用三方push,会在很多国产手机上因为节电设置而无法活push进程,导致无法推送。...系统会自动不同手机上选择最可靠推送通道发送push消息,保障送达率。 UniPush即降低了开发成本、又提高了push送达率,并且免费,是当前推送最佳解决方案。...技术架构 名词解释 名词 解释 通知消息 指定通知标题和内容后,由个推SDK自动处理系统通知栏中展示通知栏消息,同时响铃或震动提醒用户(响铃和震动受手机系统设置状态影响)。

5.3K22

h5Notification 、web Push介绍

当它被触发时,它将显示通知窗口顶部。...浏览器接收到推送服务器发来推送后,将其解码并触发一个push事件。...FCM官方是这么介绍Firebase 云信息传递 (FCM) 是一种跨平台消息传递解决方案,可供您免费、可靠地传递消息。 使用 FCM,您可以通知客户端应用存在可同步新电子邮件或其他数据。...这个意义是很大,因为Android推送一直都比较乱,国内有些APP使用小米Push服务,有些使用百度,还有些使用腾讯信鸽等等,这些Push都需要在后台运行线程,并且不能休眠,这就导致了手机休眠状态时仍然有很多线程在运行着...(3)发送推送 发送推送可以用FCM提供web push库,它支持多种语言,包括Node.js/PHP等版本。

4.2K20

FireBase 亲密接触

正常 App 都是属于网络应用,数据都是从服务器上获取。这就需要有专业后台开发人员开发后台业务服务器,然后为我们 App 提供数据。...其旨在为移动和Web应用提供后端云服务,包括云端数据/文件存储、账户管理、消息推送、社交媒体整合等。国内比较出名厂商有友盟、BMob等,国外就 Firebase 名气比较大。...Firebase Cloud Messaging(FCM):是一个跨平台Android、iOS 和网站解决方案,供我们免费可靠地发送和接收消息和通知。...通过一次操作,我们可以跨越各种各样设备和设备配置发起应用测试。 Crash Reporting:我们发布应用之后接收关于稳定性问题可操作信息。 Notifications:轻松管理通知活动。...2)将 Firebase 添加到 Android 应用 新建项目之后,你会在左上角看到你项目名称,我新建项目是 Game2048。

15.9K00

融云技术分享:融云安卓端IM产品网络链路活技术实践

本文来自融云技术团队原创分享,原文发布于“ 融云全球互联网通信云”公众号,原题《IM 即时通讯之链路活》,即时通讯网收录时有部分改动。...》 《移动端IM实践:WhatsApp、Line、微信心跳策略分析》 《Android P正式版即将到来:后台应用活、消息推送真正噩梦》 《全面盘点当前Android后台活方案真实运行效果...iOS 手机有 APNS 来达到以上效果(详见《了解iOS消息推送一文就够:史上最全iOS Push技术详解》),但安卓官方推送系统 FCM 国内基本不可用。...1.2)双服务守护: A 服务以 startForeground() 形式启动,发送一个通知, B 服务同样以 startForeground() 形式启动,且发送和 A 相同 ID 通知,然后...鉴于Android系统对后台进程管控越来越严,活“黑科技”已经不怎么灵了: 《Android P正式版即将到来:后台应用活、消息推送真正噩梦》 《全面盘点当前Android后台活方案真实运行效果

2.9K40

消息通知(Notification)用户触达系统设计

通常,根据接收者特征 1 通知格式分类 移动推送通知 短信 电子邮件 网页推送通知 第三方应用通知(类似 Slack、钉钉应用) 2 功能需求 系统支持推送通知、短信、电子邮件和第三方应用通知。...然而,若系统负载过高,轻微延迟也可接受 支持设备:移动设备(iOS 和 Android)以及笔记本电脑/台式机 通知可以由客户端应用程序事件触发,也可以服务器端进行计划 用户可以选择不再接收将来通知...然后,系统应该以以下组件结构化: 不同通知类型配置 收集联系信息流 通知发送和接收流 4 不同通知类型高级设计与AWS 每种通知类型高级层面上工作原理。...4.4 Android推送通知 使用SNS + FCMAndroid推送通知 Android有类似通知流。...与使用APNS不同,使用Firebase Cloud Messaging(FCM)向Android设备发送推送通知

46910

Firebase Remote Config

这样一来,您可以先验证改进,然后再将其推向整个用户群 工作原理 Remote Config 包括一个客户端库,通过 Firebase 控制台,可以设置相关参数与条件,适当时机触发相关逻辑处理,...应用在获取服务器端值时所使用逻辑与获取应用内默认值时相同,因此无需编写大量代码 如需替换应用内默认值,您可以使用 Firebase 控制台或 Remote Config 后端 API 来创建与应用中使用参数同名参数...务必设置应用内默认参数值,确保应用始终按预期运行 实时传播 Remote Config 更新 与远程推送相结合 步骤 APP 订阅主题(以主题形式给部分用户发送远程通知,如果需求不区分用户群,直接发全部用户远程通知即可...服务器推送通知,携带信息中包含提示让用户更新 Remote Config 状态信息 客户端设置 Remote Config 状态 接收到推送通知后,设置本地现有 Remote Config 为旧版...控制台信息,如果传入300(5分钟),那么5分钟之后才可以请求到 Firebase 控制台最新信息,5分钟之内都是之前旧信息 - (void)fetchConfig { long expirationDuration

39810

Android P 电量管理

具体操作指南,请参照 Material Design 中有关推送设计章节。 若应用在接受高优先级 FCM 消息之后未能发送推送,用户将无法与应用产生互动并将其优先级提升至 “活跃” 等级。...其实,高优先级 FCM 消息唯一用途就是向用户发送推送,因此这种情况绝对不应该出现。...如果您错误将没有与用户进行互动 FCM 消息设置为高优先级,这种标记不当行为可能会导致其他不良后果,比如:应用耗尽高优先级消息额度之后,系统会把真正紧急 FCM 消息当做“普通优先级”消息来处理...后台限制 当系统监测到应用消耗过多资源时,系统会通知并询问用户是否需要限制该应用后台活动。...目前有以下两种情况会触发系统发送此通知: 频繁使用唤醒锁 (wake locks):屏幕关闭后,局部唤醒锁 (Partial wake lock) 连续开启 1 小时; 过多后台服务:当应用目标 API

2.1K30

几款设计精美的常用Flutter应用程序模板

Flutter是目前最火移动应用开发技术,下面就推荐几款非常出色Flutter应用模板。 1)基于材料设计Flutter模板 基于材料设计库多用途Flutter模板,用于个人和商业项目。...所有组件和布局均基于Google《材料设计指南》中描述原则。 多用途Flutter模板是最大移动模板,具有周到用户流和现代化新颖设计。该模板用于连接在线商店后端。...该模板有着非常出色便利性。 2)基于Firebase事件管理模板 Flutter事件应用程序模板可用于Android和iOS设备中事件管理应用程序,易于设置和入门。...该应用程序具有用于通过Google Directions服务指南连接驱动程序内置导航器。已创建一个个人账户,其中包含有关驾驶员出行统计信息。有一个带有付款通知和屏幕系统。...有一个现成Facebook登录系统和一个SMS注册系统。有来自Firebase分析和推送通知系统。与服务器即时同步。引入了商品类别和属性过滤器,开发了订购系统。

4.3K40

基于APNs最新HTTP2接口实现iOS高性能消息推送(服务端篇)

这种APP处于后台或关闭情况下消息推送能力,通常在以下场景下非常有用: 1)IM即时通讯聊天应用:聊天消息通知、音视频聊天呼叫等,典型代表有:微信、QQ、易信、米聊、钉钉、Whatsup、Line...,原因是国内Android厂商将Android原生GCM(现在叫FCM,跟iOSAPNs是类似的技术)进行了阉割,加上各厂商省电策略、这全策略各不相同,导致为了实现IM和其它各种应用中后台消息推送...国内厂商为了跟进新版本AndroidGCM(现在叫FCM),也都在搞自已消息推送通道:小米手机有小米推送、魅族手机有魅族推送、华为手机有华为推送等等,开发者放弃活黑科技以后,只能一家一家接入各厂商推送通道...就算是微信和QQ这种用户级别的即时通讯app程序没有启动或者后台运行过程中也是需要使用APNs(当程序启动时,使用自己建立长连接),只不过腾讯优化了整条从他们服务器到苹果服务器线路而已,所以觉得推送要快...《微信团队原创分享:Android版微信后台活实战分享(进程活篇)》 《微信团队原创分享:Android版微信后台活实战分享(网络活篇)》 《移动端IM实践:实现Android版微信智能心跳机制

5K30

Flutter封装阿里push

仓库地址:dalipush 因为阿里推送对小米和华为离线推送兼容比较好,因此,我使用flutter将阿里推送封装了一下,效过图,如下所示,这里是将进程杀死之后,小米设备收到推送效果。...移动推送初始化过程中将启动后台进程channel,必须保证应用进程和channel进程都执行到推送初始化代码。 如果设备成功注册,将回调callback.onSuccess()方法。...,是一种黑科技,可以进程杀死情况下,收到推送消息,所谓离线推送, /////如果需要,注意读一下下面一节,服务端代码那块,如果不需要,直接注释2行,可以满足app在线收到通知...HuaWeiRegister.register(this); //GCM/FCM辅助通道注册,这个地方打开情况我没测试,不过,GCM你懂。...,后台按照阿里推送文档部署好了之后,你可以做成管理端,并封装这样一个接口,来推送消息。

9.4K92

Firebase In-App Messaging 应用内消息

iOS、Android、flutter 相关处理,详情可见 In-App Messaging 用途 通过 Firebase 控制台可以修改消息样式、定位和推送时间 Firebase In-App Messaging..._20.png 横幅 通知式消息 不占用大量屏幕空间 Snip20230915_21.png 定位特定用户 根据特定受众群体行为、语言、互动度等信息来定位消息 Snip20230915_23.png...宣传活动名称:用于宣传活动报告,不会显示消息中 宣传活动说明:用于宣传活动报告,不会显示消息中 可以定义多维度多角度受众群体 应用内消息还支持多语言 Snip20230915_24.png 时间安排...,这是因为 Firebase In-App Messaging SDK 与 APP ID 绑定,如果想让用户对其有更多选择权,则需要询问用户是否同意数据共享 以 iOS 为例,Android、flutter...使用 Firebase 控制台向消息添加操作 修改卡片、按钮文字、按钮操作、图片等等 Snip20230915_32.png 修改消息外观和风格 iOS、Android、Flutter,详情可见

27410

vivo手机上系统级消息推送平台架构设计实践

1、引言本文内容来自vivo互联网服务器团队李青鑫“2021 vivo开发者大会”现场演讲内容整理而成(现场演讲稿可从本文末附件中下载)。...随着Andriod 9.0到来,基本从系统上堵死了各种活黑科技活路(详见《Android P正式版即将到来:后台应用活、消息推送真正噩梦》),各Android厂商ROOM系统级推送通道也应运而生...也别跟我说为什么不用Android官方FCM服务(国内这链接你能打开算我输,至于为什么,你懂。。。),也别我跟提那个统一推送联盟(4、5年过去了,看样子还要继续等下去)。...当快递员将快递放到快递柜中,快递后台就会自动推送一条消息,通知你有快递。我相信,如果你是一位运营人员,你也会喜欢这种自动下发消息高效方式。...[4] Android版微信后台活实战分享(进程活篇)[5] 实现Android版微信智能心跳机制[6] Android P正式版即将到来:后台应用活、消息推送真正噩梦[7] 融云安卓端IM产品网络链路活技术实践

1.4K20
领券