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

Flutter / Firebase消息。:在发布模式下运行我的应用时不推送通知

基础概念

Flutter 是一个开源的 UI 软件开发工具包,用于构建跨平台的应用程序。Firebase 是 Google 提供的一套后端即服务(BaaS)解决方案,其中包括消息推送服务(Firebase Cloud Messaging, FCM),用于向移动设备发送通知。

相关优势

  • 跨平台:Flutter 允许开发者使用一套代码库为 Android 和 iOS 平台构建应用。
  • 实时更新:Firebase 提供实时数据库和消息推送功能,使得应用能够实时响应数据变化和用户交互。
  • 集成简单:Firebase 与 Flutter 的集成相对简单,可以通过官方插件快速实现功能。

类型

  • 通知消息:用于向用户显示重要信息。
  • 数据消息:用于向应用传递数据,不触发通知。

应用场景

  • 即时通讯:如聊天应用中的消息推送。
  • 新闻更新:如新闻应用中的最新新闻提醒。
  • 活动提醒:如健身应用中的锻炼提醒。

可能遇到的问题及原因

在发布模式下运行应用时不推送通知,可能的原因包括:

  1. 配置问题:Firebase 配置文件(google-services.jsonGoogleService-Info.plist)未正确添加到项目中。
  2. 权限问题:应用的权限设置不正确,例如在 AndroidManifest.xml 中缺少必要的权限声明。
  3. 网络问题:设备无法连接到 Firebase 服务器。
  4. 代码逻辑问题:推送通知的代码逻辑存在错误。

解决方法

  1. 检查 Firebase 配置文件: 确保 google-services.json(Android)或 GoogleService-Info.plist(iOS)已正确添加到项目的相应目录中。
  2. 检查权限设置
    • 对于 Android,在 AndroidManifest.xml 中添加以下权限:
    • 对于 Android,在 AndroidManifest.xml 中添加以下权限:
    • 对于 iOS,在 Info.plist 中添加以下权限描述:
    • 对于 iOS,在 Info.plist 中添加以下权限描述:
  • 检查网络连接: 确保设备能够访问互联网,并且没有防火墙或代理阻止连接到 Firebase 服务器。
  • 检查代码逻辑: 确保推送通知的代码逻辑正确。以下是一个简单的示例:
  • 检查代码逻辑: 确保推送通知的代码逻辑正确。以下是一个简单的示例:
  • 参考链接:Firebase Messaging 文档

通过以上步骤,应该能够解决在发布模式下运行应用时不推送通知的问题。如果问题仍然存在,建议查看 Firebase 控制台中的日志,以获取更多详细的错误信息。

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

相关·内容

APP消息推送方案调研

使用GCM推送服务的whatsapp即使后台程序和服务都关闭掉,也依然可以在第一时间接收到新消息的推送(实测在国内whatsapp也的确可以在后台关闭的情况下正常通过GCM接受实时消息)。...Android平台在不使用GCM的情况下就需要将自己的服务器或是第三方推送服务提供商的服务器与设备建立一条长连接,通过长连接进行推送。...但是不建议自己设置服务器实现推送功能。...hl=zh-cn#send-messages-to-multiple-devices在Firebase Admin SDK中发送消息时使用的registrationTokens是设备端生成的Firebase...获取Firebase实例ID:在应用中,使用Firebase实例ID服务来获取一个唯一的标识符。这个服务会处理令牌的生成和刷新。

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

    Flutter 3.7 发布,本人对其中后台isolate通道比较感兴趣,迫不及待翻译了下Aaron Clarke的文章,第一次翻译,有不足地方欢迎各位大佬们评论区指正,我将持续更新到本文,谢谢。...社区多年来一直致力于使用插件来访问代码(非 Dart 实现),例如 path_provider 找到临时目录的能力或 flutter_local_notifications 发布通知的能力。...或者某个应用可能正在进行大量计算,而开发人员不希望这些计算影响 UI。 在我帮助谷歌其他团队使用 Flutter 的过程中,随着产品的演进,最终会不可避免地遇到 root isolate 瓶颈。...该 Flutter 应用启动时会开启一个后台 isolate 从 Firebase Cloud Store 下载 8K 文本提示相关图片,将图像压缩至指定规格大小导出,保存到相册,最后导出完成并发送通知...为了保证后台 isolate 正常运行,发送消息的 isolate 应该被持有,以便引擎可以在该 isolate 的事件循环上调度结果,这是通过Dart’s ports来实现的,Dart ports 存储并持有

    4.2K40

    Firebase Remote Config

    在 12 小时的时间段内最多从后端提取一次配置 Remote Config 用途 使用按百分比发布的机制发布新功能 使用 Remote Config 定制的新功能,可以采用灰度发布(百分比发布),逐步向用户发布..._43.png 搜索项目的参数键、参数值和条件 Snip20230919_44.png Remote Config 模板和版本控制 在 Firebase 控制台,以图表形式显示版本发布 Snip20230919...当用户正在使用界面时,应避免在界面可能发生明显变化的情况下使用此策略 启动添加 loading 框 为了避免启动时加载的UI问题,调用 fetchAndActivate()之后添加 loading...务必设置应用内默认参数值,确保应用始终按预期运行 实时传播 Remote Config 更新 与远程推送相结合 步骤 APP 订阅主题(以主题的形式给部分用户发送远程通知,如果需求不区分用户群,直接发全部用户的远程通知即可...服务器推送通知,携带信息中包含提示让用户更新 Remote Config 状态的信息 在客户端设置 Remote Config 状态 接收到推送通知后,设置本地现有 Remote Config 为旧版

    68110

    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 时间安排...默认情况下,应用内消息会发送给安装该 APP 的所有用户,这是因为 Firebase In-App Messaging SDK 与 APP ID 绑定的,如果想让用户对其有更多的选择权,则需要询问用户是否同意数据共享...使用 Firebase 控制台向消息添加操作 修改卡片、按钮文字、按钮操作、图片等等 Snip20230915_32.png 修改消息的外观和风格 iOS、Android、Flutter,详情可见

    42110

    使用 FCM 通知您的用户

    数据消息,适用于在客户端应用内处理 FCM 消息。 您可以把数据信息的优先级设为高或普通。如需进一步了解 FCM 消息和消息处理,可参阅 Firebase 博客上的这篇文章。...先发布一个通知 如果您需要发送远程通知,则应始终在收到 FCM 消息后尽快发布通知。如果在发布通知前添加任何额外网络请求,都会导致发送给某些用户的通知延迟。...应用的 jobs 和 alarmas 可能被延迟,且访问网络的功能可能被限制。 因此,为确保及时传递通知,应始终在收到 FCM 消息后立即显示通知,然后再进行网络获取或调度任务等其他工作。...注意,如果从 FCM 的 handler 中进行任务调度,则有可能当用户启动应用时,所调度的任务还没完成。这种情况应妥善处理。...在 Doze 模式,普通优先级消息被延迟至维护窗口。这一功能让系统能在设备空闲时省电,但同时确保用户收到时效性强的通知。

    3.5K30

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

    作者:hongjay 地址:http://www.jianshu.com/p/6cf4dd76e508 声明:本文是hongjay原创,已获其授权发布,未经原作者允许请勿转载 Firebase Cloud...GCM(Google Cloud Message for Android)是Google发布的Android服务器推送(push)技术。...这些服务器从一个应用服务器获取消息,并将其发送至在设备上运行的客户端应用。Google 为 HTTP 和 XMPP 提供连接服务器。 2、一台应用服务器,您必须在您的环境中实现它。...处理方式:在后台的情况下你需要在应用的主Activity的onCreate方法中调用getIntent.getExtra()方法才能拿到推送到的参数 server 端建置 Google...而當 Android 裝置解除安裝您的 app 時,Google GCM server 並不會立即通知您的 thrid party server,而是在下一次您發送訊息給該 Android 裝置時,Google

    12.9K30

    Android应用保活全攻略:30个实用技巧助你突破后台限制

    在Android系统中,保活(保持应用进程一直存活)就是为了让应用在后台持续运行,来实现某些特定的功能,如实时消息推送、定位服务等。...这些推送服务通常使用保活技巧,可以保证消息的实时推送。 7. 静态广播监听 在AndroidManifest.xml中注册静态广播,监听系统广播,如电池状态改变、屏幕解锁等。...在这些模式下,系统会限制后台应用的网络访问和CPU使用。...为了保证应用在这些模式下正常运行,你需要适配这些特性,如使用高优先级的Firebase Cloud Messaging(FCM)消息来唤醒应用。 17....使用Firebase Cloud Messaging(FCM) 对于需要实时消息推送的应用,可以使用Firebase Cloud Messaging(FCM)服务。

    1.7K21

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

    主要有两种类型的通知: 前台通知:当应用程序正在打开并运行时发送给用户的通知 后台通知:无论应用程序是否当前打开,都会发送 推送通知在移动应用开发世界中非常流行,原因有很多。...原生平台特定的通知服务(FCM/APNs) Android和iOS平台都提供了用于接收推送通知的原生平台特定API 适用于安卓设备的Firebase云消息传递(FCM) 苹果推送通知服务(APNs)适用于...React Native Firebase 库也提供了一种通过 FCM 在iOS上发送推送通知的方法。...一旦你打开应用,你可以在控制台上看到Expo推送通知令牌。 当新用户打开应用时,这个独特的令牌将会被生成,所以我们可以在服务器中存储这些令牌,并以编程方式向所有注册的设备发送通知。...让我们看看这些问题的原因以及如何解决它们: 我无法在裸 React Native 应用中运行 Expo 通知:这是因为 Expo 通知库依赖于其他 Expo 库。

    1.4K10

    Flutter 日志最佳实践

    一个好的 Flutter 日志系统是怎样的? 在谈论 Flutter 中日志的最佳实践前,我们先看看日志本身。 结构和消息传递不当的日志使得内容难以破译。...跟随这些最佳实践,你可以更好地了解自己应用程序的流程,与在没有连贯的日志系统情况下的应用相比,可以更好地排查程序中任何意外的问题。...在发布模式的时候,显示哪些日志很有用。 我们继承 LogFilter 类,重写 shouldLog() 方法。...默认情况下,他们被以 stackTrace 的标准模式打印出来,如下: 然而,你可以使用内置的 PrettyPrinter 类添加更多的风格,使用如下: var logger = Logger( printer...添加 firebase_crashlytics 依赖包 在你项目下运行下面命令行安装依赖包: flutter pub add firebase_crashlytics 2.

    5.3K20

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

    大致上,我希望每天发送1000万条推送通知、500万封电子邮件和100万条短信 3 顶层设计 首先,我们需要找出一个支持各种通知类型的高级设计:短信、电子邮件、iOS推送通知、Android推送通知和...为构建短信的通知请求,生产者应提供数据:带有国家代码的用户电话号码,JSON字典负载下的短信主题/内容。...iOS推送通知请求应构建以下数据: 设备令牌 — 用于发送推送通知的唯一标识符 负载 — 这是APNS定义接受的JSON字典格式 APNS — 这是由Apple提供的远程服务,用于向iOS设备传播推送通知...与使用APNS不同,使用Firebase Cloud Messaging(FCM)向Android设备发送推送通知。...4.5 Slack应用通知 producer将适当提供: 消息内容 主题/频道地址 给第三方应用推送服务。 SQS是用于控制速率限制的消息队列,因为许多第三方API都有这样的限制。

    1.1K10

    Flutter 2.8正式版发布了,还不来看看

    在2021年12月上旬,Flutter官方发布了今年的第四个正式版本,也是今年的最后一个Flutter稳定版。...性能分析 某些场景下,开发者希望能同时看到 Flutter 和 Android 的性能追踪事件,又或者是在生产模式下查看追踪事件来更好地了解应用的性能问题。...为了这一需求,Flutter 2.8 现在可以选择在应用启动后,将性能追踪事件发送至 Android 的事件记录器,在生产模式下也同样如此。...在之前的 webview_flutter 版本中,Hybrid composition 已经可用,但不是默认的。而现在它修复了先前默认以虚拟显示模式运行的许多问题。...或者,就像我们在紧密构建 Windows 辅助功能的支持 一样。 对于 Flutter 来说,在稳定版渠道的桌面端上“运行”是不够的,它必须在世界各地的语言和文化以及不同能力的设备上运行良好。

    22.4K30

    Flutter应用集成极光推送

    在原生iOS开发中,为了简化消息推送,苹果推送服务(简称APNs)接管了系统所有应用的消息通知需求,任何第三方消息推送都需要经过推送服务进行转发。...对于原生Android平台来说,则可以使Google提供的类似Firebase云消息传递机制来实现统一的推送托管服务。...由于第三方推送服务厂商提供的功能和接入流程大都一致,考虑到极光的社区和生态相对活跃,并且在国内较早的推出Flutter插件,所以我们可以在Flutter项目中直接使用这个插件,下图是极光推送的架构示意图...在极光开发者平台中创建推送应用程序,然后填写build.gradle脚本所需的参数,如下图所示。 然后,在Android手机上运行项目,会有 Running Gradle task ......然后,在极光开发者服务后台上传申请到的推送证书,如下图所示。 配制好证书后,运行 Flutter 项目于 iphone 手机上,如下图所示。

    33310

    Flutter3.0发布全解析

    85%的人认为Flutter使他们的应用比以前能在更多的平台上发布。 在Sonos最近的一篇博客文章中,讨论了他们改造后的设置体验,他们强调了其中的第二个问题。...在macOS上,我们已经支持英特尔和苹果Silicon,并提供通用二进制支持,使应用程序能够打包可执行文件,在两种架构上原生运行。...虽然Flutter自发布以来一直与M1驱动的苹果设备兼容,但Flutter现在充分利用了Dart对苹果芯片的支持,在M1驱动的设备上实现了更快的编译,并支持macOS应用程序的通用二进制文件。...Firebase and Flutter 当然,建立一个应用程序不仅仅是一个UI框架。应用程序发布者需要一套全面的工具来帮助你构建、发布和运营你的应用程序,包括认证、数据存储、云功能和设备测试等服务。...向大家推荐下我的网站 https://xuyisheng.top/ 专注 Android-Kotlin-Flutter 欢迎大家访问 本文原创公众号:群英传,授权转载请联系微信(Tomcat_xu)

    8.1K20

    Flutter 2.10更新详解

    即使在最坏的情况下,Flutter基准测试中的帧光栅时间也降到了之前值的三分之一以下。 随着Flutter继续开发记录格式,将来会继续将该优化扩展到更多的场景。...在 profile 和 release 模式下,Dart 代码将以 AOT 方式编译。...现在在默认情况下,当你创建新应⽤时,Flutter 默认⽀持最新版本的 Android,即 Android 12(API 级别 31)。...Flutter将继续为常⻅错误消息添加更多解决方法的建议,并希望获得你对其他错误消息的反馈,这些错误消息将显著帮助开发者处理同类问题。...这意味着基于稳定的 Flutter SDK 构建的应⽤将不再在 32 位 iOS 设备上运行,并且 Flutter ⽀持的最低 iOS 版本将增加到 iOS 11。

    1.6K30

    Flutter 上如何轻松实现 IM 功能

    在 Flutter 上实现 IM(即时通讯) 的功能,我们可以使用第三方的 SDK,比如腾讯云 IM等等。这些 SDK 都提供了丰富的 API,可以帮助我们快速实现 IM 的功能。...SDK 也设计得比较灵活,你可以使用它提供的 UI当然也可以自己来写,当然已很多人使用 Flutter 的初衷来看,我感觉多半是会自己来写 UI 的。...另外,腾讯的 IM 除了基本的聊天能力之外,还有一些高级功能,比如群聊、语音通话、视频通话、发送文件等等。当然离线推送、消息撤回、消息已读等等功能也都是具备的。...这个对应的 UI库提供了一个开源的 IM 后端实现,是基于 Firebase的,因此,这玩意可能在某些区域不太好使。...删除、好友列表等• 消息管理:消息发送、接收、消息撤回、消息已读等• 离线推送:用户离线时,消息的推送• 文件传输:图片、文件的传输• 语音通话:语音通话功能• 本地存储:消息的本地存储这些功能都是比较基础的

    61620

    Flutter 移动端架构实践:Widget-Async-Bloc-Service

    然而,在构建完成并将它们一次次的重构之后,我调整出了一种在我所有项目中都能够运行完好的开发体系,因此,在本文中,我将介绍一种我定义的新的架构模式: 从现有的开发模式中借鉴了很多思想; 调整它们以满足实际开发...在BLoC模式下,控件能够: 将事件分发给接收器; 通过流通知状态的更新。 根据最初的定义,我们只能通过 接收器 和 流 与BLoC进行通信。 虽然我喜欢这个定义,但我发现它在许多场景下限制性太强。...2.我不鼓励在一个BLoC中使用多个StreamControllers。相反,我更喜欢将代码分割到两个或更多的BLoC类中,以便更好地分离关注点。...与RxVMS比较 在本文中,作为Flutter中已有架构模式的改良,我介绍了Widget-Async-BLoC-Service。 WABS与Thomas Burkhart的 RxVMS模式 最相似。...本文源码 Flutter & Firebase构建的身份验证流程: https://github.com/bizz84/firebase_auth_demo_flutter 接下来的这个项目,它针对我的

    16.1K20

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

    对于Andriod开发者来说,不管Andriod P有多少新功能或者特性(反正“我”用iPhone啊,哈哈),是否影响“我”撸的APP的运行才是最要紧的事。...不过:如果公司不排斥使用第3方通送方案的话,现阶段这种混乱状况下,可以考虑直接用第3方的服务,比腾讯的信鸽推送为例(首先申明,我没收信鸽的好处费,只是举个例子!)...,在启用该功能后,系统将对所有应用的后台运行实施加以限制; 4)低耗电模式:当用户一段时间没有使用设备时,设备将进入低耗电模式,所有应用都将受到影响。...建议开发者在开启省电模式的情况下测试应用,您可在 Settings > Battery Saver 内手动开启省电模式: ?...10、Andriod P电量管理特性4:低耗电模式 在低耗电模式下,应用对高耗电资源的使用权限将被推迟至下一个维护时段。具体限制请参照《附件:电量管理限制》。

    3.9K30
    领券