MAUI怎么集成Firebase MAUI Firebase配置方法


MAUI不原生支持Firebase,需通过平台特定项目分别接入FCM(Android)和APNs(iOS),再用依赖服务统一桥接通知逻辑;Android配FCM需Manifest权限、FirebasePushService及google-services.json,iOS则走原生APNs并由后端中转。

maui怎么集成firebase maui firebase配置方法

MAUI 本身不原生支持 Firebase,因为它不是 Xamarin.Forms 那种通过插件生态深度适配的框架。但你可以通过平台特定项目(Android/iOS)分别接入 Firebase FCM(Android)和 APNs(iOS),再用 MAUI 的依赖服务或消息中心统一桥接通知逻辑。关键不是“MAUI 直接集成 Firebase”,而是“在 MAUI 项目中按平台接入 Firebase 并统一处理”。

Android 端配置 FCM

这是最直接的一环,因为 Firebase 官方提供 Android SDK,且与 MAUI 的 Android 项目完全兼容:

  • Platforms/Android 项目中,打开 AndroidManifest.xml,添加必要权限和服务声明:
android:name="android.permission.INTERNET" />


  android:name=".FirebasePushService"
  android:exported="false">
  
    google.firebase.MESSAGING_EVENT" />
  

  • 新建 FirebasePushService.cs 继承 FirebaseMessagingService,重写 OnMessageReceivedOnNewToken;在 OnNewToken 中获取 token 并通过 MAUI 的 MainThread.InvokeOnMainThreadAsync 通知共享层
  • 确保 google-services.json 已复制到 Platforms/Android 根目录,并在 csproj 中设为 GoogleServicesJson 类型:

  

iOS 端配置 APNs(替代 Firebase 的推送通道)

iOS 不允许 Firebase SDK 直接处理通知(尤其后台静默推送受限),所以必须走原生 APNs 流程,Firebase 只能作为服务器端中转:

Brev AI Brev AI

Brev.ai:搭载Suno AI V3.5技术的免费AI音乐生成器

Brev AI 437 查看详情 Brev AI
  • Platforms/iOS 中启用 Push Notifications 能力(Xcode → Signing & Capabilities → + Capability → Push Notifications)
  • AppDelegate.csProgram.cs 初始化时请求通知授权,并注册 device token:
varauthOptions = UNAuthorizationOptions.Alert | UNAuthorizationOptions.Sound | UNAuthorizationOptions.Badge;
UNUserNotificationCenter.Current.RequestAuthorization(authOptions, (granted, error) => {
  if (granted)
    UIApplication.SharedApplication.RegisterForRemoteNotifications();
});
  • 实现 RegisteredForRemoteNotifications 回调,将 deviceToken 转为字符串并传给 MAUI 共享层(例如通过 IPlatformNotifyService 接口)
  • 注意:iOS 上 Firebase 控制台无法直接向 MAUI App 发送通知,需你自己的后端用 APNs 密钥(.p8)或 Token-Based Authentication 向 Apple 推送网关发请求

MAUI 共享层统一收口

定义一个跨平台接口,让各平台实现自己的 token 上报与通知接收逻辑:

  • 创建 INotificationService.cs
public interface INotificationService
{
  Task InitializeAsync();
  Task GetTokenAsync();
  event EventHandler NotificationReceived;
}
  • MauiProgram.cs 中注册:
builder.Services.AddSingleton();
  • Android/iOS 分别实现该接口,内部调用各自原生 token 获取与监听逻辑
  • 在页面中注入并监听:notificationService.NotificationReceived += OnPushReceived;

注意事项与避坑点

  • Firebase 控制台测试推送仅对标准 Android App 有效;MAUI 项目需确保包名、SHA-1 证书指纹、google-services.json 三者严格匹配
  • iOS 模拟器不支持 APNs,真机调试是必须的;Ad Hoc 或 App Store 分发时需用 Production APNs 证书
  • MAUI 1.0+ 支持 AppHostBuilder 生命周期,建议在 OnResumeOnForeground 中重新绑定通知监听,避免冷启动丢失事件
  • 不要试图在共享层直接引用 Firebase.Messaging NuGet 包——它不兼容 MAUI,只适用于传统 Xamarin.Android 项目

基本上就这些。核心思路是“平台归平台,逻辑归共享”,不强求 Firebase 全链路 MAUI 化,而是务实拆解、分段对接。

以上就是MAUI怎么集成Firebase MAUI Firebase配置方法的详细内容,更多请关注其它相关文章!


# 桥接  # 石家庄自动seo  # seo网址书写规范  # 惠州seo建站怎么样  # 黑帽seo利器  # 河源设计型网站建设费用  # 公司网站建设功能介绍  # 太原 网站建设公司  # 专业网站优化推广seo哪家好  # 云阳县网站推广代运营公司  # 临沂集团网站建设  # 可以通过  # 相关文章  # 并在  # 适用于  # 设为  # android  # 这是  # 再用  # 自己的  #   # google  # nas  # apple  # ios  # ai  # 后端  # internet  # app  # go  # json  # js 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 51漫画网实时入口 51漫画网页版官方免费漫画入口  晨报|开发商暗示《空洞骑士:丝之歌》DLC开发中 《合金装备4》有望重制  《东方航空》添加乘机人方法  《星露谷物语》克林特好感度事件介绍  在PySimpleGUI中实现键盘按键绑定按钮事件  铁路12306买票怎么选双人铺 铁路12306卧铺分配规则说明  j*a中赋值运算符是什么?  word文档中的分隔符有哪些不同类型和用途_Word分隔符类型与用途方法  如何解决Casbin日志与应用日志不统一的问题,使用casbin/psr3-bridge实现无缝集成  《雅迪智行》用手机开锁方法  汽水音乐官网网页版入口 汽水音乐官网网页版在线入口  uc浏览器官网网页版使用 uc浏览器官网免费在线首页  《画加》约稿流程  如何在CSS中使用伪类:valid实现表单验证提示_结合:valid改变边框颜色  wps文字怎么设置文字环绕图片的方式_wps文字如何设置文字环绕图片方式  京东快递包裹信息查询入口 京东快递官方查询平台入口  12306不能订票的时间段是固定的吗? | 节假日购票时间有无变化  Django模型动态关联检查:高效管理复杂关系  如何通过settings.json个性化您的VS Code体验  如何快速去除厨房重油污? 2025年最好用的厨房清洁剂推荐  铁路12306座位怎么选_12306官方选座操作方法  解决CSS background 属性中 cover 关键字的常见误用  天天漫画2025最新入口 天天漫画永久有效登录入口  《海底捞》点外卖方法  三星M34录音变声问题_Samsung M34麦克风调整  tiktok国际版入口_tiktok官网网页版链接  Python模块化编程:避免循环导入与共享函数的最佳实践  《火花chat》搜索好友方法  视频号视频怎么提取文案?提取的文案如何优化与使用?  如何测试您的网站全球打开速度-网站海外测速工  苹果17 Pro如何启用分屏浏览_iPhone 17 Pro分屏浏览设置步骤  《随手记》关闭首页消息推送方法  Animex动漫社社登录官网 Animex动漫社资源社入口直达  照片整理的黄金法则是怎样的? 理解“收集-筛选-归档-备份”四步流程  太平年在哪个平台播出  Linux如何开发轻量级数据服务模块_Linux服务化设计  win11怎么设置默认终端为Windows Terminal Win11替代CMD和PowerShell【技巧】  《360浏览器》自动保存账号密码设置方法  稻壳阅读器官方直达网址链接 稻壳阅读器文档阅读平台主页资源入口  4399正版网页版入口高清直达链接  海棠阅读登录教程_详细讲解海棠登录操作  小米手机屏幕失灵乱跳怎么办 屏幕触控问题自检与临时解决方法【应急】  如何取消数字签名  抖音赚钱快速入门_新手必看的抖音赚钱步骤  《图怪兽》退出登录方法  优化Google Charts Gauge:在数据库无数据时显示默认值  构建可配置的J*aScript加权点击计数器与共享总计功能  小红书网页版首页入口 小红书网页版电脑端官方登录链接  CodeIgniter 3 连接 SQL Server:正确获取查询结果的教程  菜鸟裹裹怎样获得取件码_菜鸟裹裹获得取件码步骤 

 2025-12-19

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.